Configurações do Xorg.conf ignoradas no Fedora 25

0

Eu tenho um NVidia GT8600 com dois monitores conectados (um via porta VGA, um via porta componente). Com o xorg.conf padrão, o segundo monitor (componente) não é detectado e o primeiro é executado em uma resolução que força o monitor a ser desativado. Então, estou tentando configurá-los manualmente. Eu tenho os dois monitores ligados, mas com resoluções erradas. Eu tentei criar modelines etc, mas eles são apenas ignorados, e a resolução errada está sendo executada em ambos os monitores.

Eu quero que o monitor0 (LCD) seja 800x480 60Hz, monitor1 (projetor) 1920x1080 60Hz, desktop estendido com monitor 1 à direita do monitor 0. Minhas duas configurações do xorg são:

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

mas o xrandr mostra que as resoluções erradas estão em uso e minhas modelines personalizadas não estão aparecendo:

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)

Caso seja importante, o Xorg.0.log faz referência a CRT-0 e TV-0, enquanto xranrd os chama DVI-I-0 e TV-0. Não há erros no Xorg.0.log e é por muito tempo que não vou repassar a coisa toda, mas aqui estão algumas linhas estranhas:

[  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}"

Parece que tentou definir o LCD para 800x480 e, em seguida, alterou imediatamente para 800x600. Por quê? E nem sequer está tentando configurar o projetor para 1920x1080, ele apenas usa 'nvidia-auto-select'. Por quê?

    
por TSG 30.12.2016 / 19:24

1 resposta

1

Eu acredito que a nvidia está recebendo a resolução baseada em EDID do monitor e, assim, ignorando sua modeline. Você pode adicionar a opção para ignorar o EDID na seção "Monitor" do seu xorg.conf. Algo como:

   Option "UseEDID" "false" 
   Option "UseEDIDFreqs" "false" 
   Option "IgnoreEDID" "true" 
    
por 18.07.2017 / 09:42

Tags