두 개의 모니터가 연결된 NVidia GT8600이 있습니다(하나는 VGA 포트를 통해, 다른 하나는 컴포넌트 포트를 통해). 기본 xorg.conf를 사용하는 경우 두 번째 모니터(구성 요소)는 감지되지 않으며 첫 번째 모니터는 모니터를 강제로 끄는 해상도로 실행됩니다. 그래서 수동으로 구성해 보았습니다. 두 모니터가 모두 켜져 있지만 해상도가 잘못되었습니다. 모델 행 등을 만들어 보았지만 무시되고 두 모니터 모두에서 잘못된 해상도를 실행하고 있습니다.
모니터 0(LCD)이 800x480 60Hz, 모니터 1(프로젝터) 1920x1080 60Hz, 확장 데스크탑, 모니터 1이 모니터 0 오른쪽에 있도록 하고 싶습니다. 내 두 xorg 구성은 다음과 같습니다.
50-lcd.conf:
# LCD display in SilverStoneTek case
Section "Monitor"
Identifier "LCD"
VendorName "SilverstoneTek"
ModelName "Chassis"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Modeline "800x480_60.00" 29.58 800 816 896 992 480 481 484 497 -HSync +Vsync
EndSection
Section "Device"
Identifier "VGAport"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GT"
EndSection
Section "Screen"
Identifier "Screen0"
Device "VGAport"
Monitor "LCD"
DefaultDepth 24
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT-0: 800x480_60.00 +0+0, TV-0: 1920x1080_60.00 +0+0"
Option "ConnectedMonitor" "CRT-0, TV-0"
SubSection "Display"
Depth 24
Modes "800x480_60.00" "800x480"
EndSubSection
EndSection
60-projector.conf:
Section "Monitor"
Identifier "Projector"
VendorName "Sony"
ModelName "VPL-HW20"
HorizSync 15.0 - 600.0
VertRefresh 15.0 - 600.0
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
Option "dpms"
EndSection
Section "Device"
# do not use the frequencies provided by the monitor edid
Identifier "ComponentPort"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GT"
EndSection
Section "Screen"
Identifier "Screen1"
Device "ComponentPort"
Monitor "Projector"
DefaultDepth 24
Option "metamodes" "CRT-0: 800x480_60.00 +0+0, TV-0: 1920x1080_60.00 +0+0"
SubSection "Display"
Depth 24
Modes "1920x1080_60.00" "1920x1080"
EndSubSection
EndSection
그러나 xrandr은 잘못된 해상도를 사용하고 있음을 보여주고 내 사용자 정의 모델은 표시조차 하지 않습니다.
Screen 0: minimum 8 x 8, current 1824 x 768, maximum 8192 x 8192
DVI-I-0 connected primary 800x600+0+168 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00 +
800x600 72.19 60.32* 56.25
800x480 60.00
640x480 59.94
512x384 60.00
400x300 72.19
320x240 60.05
DVI-I-1 disconnected (normal left inverted right x axis y axis)
TV-0 connected 1024x768+800+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*+
800x600 60.01
720x480 60.00
640x480 60.01
640x400 60.00
512x384 60.00
DVI-I-2 disconnected (normal left inverted right x axis y axis)
DVI-I-3 disconnected (normal left inverted right x axis y axis)
중요한 경우 Xorg.0.log는 CRT-0 및 TV-0을 참조하고 xranrd는 이를 DVI-I-0 및 TV-0으로 참조합니다. Xorg.0.log에는 오류가 없으며 전체 내용이 꽤 길기 때문에 다시 게시하지는 않겠습니다. 하지만 여기에 몇 가지 이상한 줄이 있습니다.
[ 3545.187] (II) NVIDIA(0): Setting mode "CRT-0:800x480_60.00+0+0,TV-0:1920x1080_60.00+0+0"
[ 3546.255] (II) NVIDIA(0): Setting mode "DVI-I-0: 800x480_60.00 @800x480 +0+0 {ViewPortIn=800x480, ViewPortOut=800x480+0+0}, TV-0: nvidia-auto-select @1024x768 +800+0 {ViewPortIn=1024x768, ViewPortOut=1024x768+0+0}"
[ 3546.425] (II) NVIDIA(0): Setting mode "DVI-I-0: 800x600_60 @800x600 +0+168 {ViewPortIn=800x600, ViewPortOut=800x600+0+0}, TV-0: nvidia-auto-select @1024x768 +800+0 {ViewPortIn=1024x768, ViewPortOut=1024x768+0+0}"
LCD를 800x480으로 설정했다가 바로 800x600으로 바꾸려고 하는 것 같습니다. 왜? 프로젝터를 1920x1080으로 설정하려고 시도하지도 않고 "nvidia-auto-select"만 사용합니다. 왜?
답변1
나는 Nvidia가 모니터의 EDID를 기반으로 해상도를 얻고 있다고 생각하므로 모델 라인을 무시합니다. xorg.conf의 "모니터" 섹션에 EDID를 무시하는 옵션을 추가할 수 있습니다. 그것은 다음과 같습니다:
Option "UseEDID" "false"
Option "UseEDIDFreqs" "false"
Option "IgnoreEDID" "true"