
Debian 10에서 HDMI-VGA 어댑터를 사용하여 Samsung SyncMaster 226 NW 디스플레이를 실행하려고 합니다. GPU는 버전 440.64의 독점 Nvidia 드라이버가 있는 RTX 2060 Super입니다.
Linux에서 사용 가능한 것으로 감지되는 유일한 해상도는 1280×720, 1024×768, 800×600 및 640x480입니다.
하지만 실제 기본 해상도는 1680×1050이며, Windows 듀얼 부팅 시 이 해상도를 설정하여 사용할 수 있습니다.
먼저 모델라인을 생성하는 데 xrandr
사용하여 사용자 정의 해상도를 추가하려고 시도했습니다 . cvt
xrandr의 새 모드를 만드는 데 사용된 명령은 다음과 같습니다.
xrandr --newmode "1680×1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
이 작업을 수행한 후 실행이 xrandr
반환되었습니다.
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
1024x768 60.00*+ 60.00
1280x720 60.00
800x600 60.32
640x480 59.94
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
USB-C-0 disconnected (normal left inverted right x axis y axis)
1680x1050_60.00 (0x1e4) 146.250MHz -HSync +VSync
h: width 1680 start 1784 end 1960 total 2240 skew 0 clock 65.29KHz
v: height 1050 start 1053 end 1059 total 1089 clock 59.95Hz
그러나 사용하려고 할 때
xrandr --addmode HDMI-0 "1680×1050_60.00"`
오류
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 43
Current serial number in output stream: 44
반환되었습니다. 사용
xrandr --output HDMI-0 --mode "1680×1050_60.00"
반환
xrandr: 오류로 인해 1680x1050_60.00` 모드를 찾을 수 없습니다.
출력 해상도를 1680x1050으로 올바르게 설정하려면 어떻게 해야 합니까?
답변1
방금 똑같은 문제에 2-3 시간을 보냈습니다. 너무 짜증나서 xrandr은 새로운 nvidia 드라이버에서 전혀 작동하지 않는 것 같습니다. 이제 나는 미치고 화를 낸 끝에 마침내 해결책을 찾았습니다. 그것이 여러분에게도 효과가 있기를 바랍니다.
터미널 "nvidia-settings"에서 시작하여 "X 서버 디스플레이 구성"으로 전환하고 하단의 "X 구성 파일에 저장" 버튼을 클릭한 다음 "미리보기 표시"를 클릭합니다. 이제 이 미리보기에서 'Section "Monitor"..... EndSection' 블록으로 이동하여 나중을 위해 저장합니다. 이것이 내가 xorg.conf의 모니터 설정에 대해 알게 된 방법입니다. 다른 방법도 있지만 이 방법은 NVIDIA 사용자에게 매우 안전하고 편리합니다.
그런 다음 해결 방법에 맞는 "Modeline"을 얻고 터미널에 다음을 입력하십시오.
cvt 1680x1050
나중에 출력을 저장합니다.
자, 이제 이 모든 항목을 xorg.conf 파일에 추가하고 예를 들어 /etc/X11/xorg.conf.d/10-monitor.conf라고 부르면 됩니다(적어도 내 배포판의 경로입니다). 나는 모니터 섹션도 모델라인도 없기 때문에 모니터 섹션과 모델라인에 대한 예를 제공하겠습니다(원하는/감지되지 않은 해상도는 1920x1080이었습니다).
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Acer B246HL"
HorizSync 30.0 - 80.0
VertRefresh 55.0 - 76.0
Option "DPMS"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
Option "HDMI-0" "Monitor1"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080_60.00"
EndSubSection
EndSection
따라서 모니터 섹션에서 첫 번째 줄(식별자)을 유지하고 나머지는 nvidia 설정에서 저장한 값으로 바꾸고 마지막 줄은 cvt-명령의 출력입니다. Device-Section이 적합할 것입니다. 화면 섹션에는 "모드" 줄을 모드 이름으로 변경해야 하므로 아마도 모드 "1680x1050_60.00"과 같을 것입니다.
내 장치 섹션에도 'BusID "PCI:39:0:0"' 한 줄이 있는데, 그럴 필요는 없을 것 같습니다. 그러나 "X -configure"(xorg가 실행 중이면 안 됨)를 실행하여 해당 줄을 얻었습니다. BusID는 생성된 xorg.conf.new에 있어야 합니다. 이상하게도 제 경우에는 lspci의 BusID와 달랐습니다.
또한 여러 모니터를 실행하려면(나처럼) 식별자 "Monitor2" 등을 사용하여 새 모니터 섹션을 추가한 다음 Device-Section에 'Option "HDMI-1" "Monitor2"'를 적절하게 추가하세요. 마지막으로 'Monitor "Monitor2"'와 같은 화면 섹션에 모니터를 추가합니다.
내 경우 이상한 점은 정확히 동일한 모니터가 3개 있는데 그 중 하나가 nvidia-modeset에서 항상 인식되지 않는다는 것입니다. 이는 EDID와 관련이 있으며 다음에서 오류를 찾을 수 있습니다.
dmesg | grep EDID