Fedora 25에서는 Xorg.conf 설정이 무시됩니다.

Fedora 25에서는 Xorg.conf 설정이 무시됩니다.

두 개의 모니터가 연결된 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" 

관련 정보