Como depurar o xrandr não configurando a resolução desejada?

3

Eu preciso de ajuda para descobrir por que o xrandr falha em definir a resolução desejada.

Eu tenho uma configuração de monitor duplo:

  • 13 "laptop preferindo resolução de 2560x1440
  • Monitor de
  • 24 "preferindo resolução de 1920x1200

Por causa do material de alta dpi, quero empurrar a resolução do laptop para 1920x1080, que não é reconhecida pelo gerenciador de exibição.

Eu só recebo isso:

2560x1440     59.95*+
1920x1440     60.00  
1856x1392     60.01  
1792x1344     60.01  
1600x1200     60.00  
1400x1050     59.98  
1280x1024     60.02  
1280x960      60.00  
1024x768      60.00  
800x600       60.32    56.25  
640x480       59.94 

Para obter a modeline, eu uso:

cvt 1920 1080 

Em seguida, para fazer as alterações persistentes nas sessões, adiciono as seguintes linhas em um script na seguinte pasta que é executada durante o init x11:

/etc/X11/xinit/xinitrc.d

Conteúdo (add-fullhd-to-edp1.sh):

xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr --addmode eDP1 1920x1080_60.00

Após o que eu entendo que a resolução é agora suportada em xrandr

2560x1440     59.95*+
1920x1440     60.00  
1856x1392     60.01  
1792x1344     60.01  
1600x1200     60.00  
1400x1050     59.98  
1280x1024     60.02  
1280x960      60.00  
1024x768      60.00  
800x600       60.32    56.25  
640x480       59.94  
1920x1080_60.00  59.96

Então, depois de escolher a resolução com xrandr ou com a GUI, fico com a tela piscando uma vez enquanto ela tenta definir a resolução, e depois a segunda vez para a reversão. Entradas no Xorg.log enquanto isso acontece são apenas redimensionamentos do framebuffer:

(II) intel(0): resizing framebuffer to 1920x2280
(II) intel(0): switch to mode [email protected] on HDMI1 using pipe 0, position (0, 0), rotation normal, reflection none
(II) intel(0): switch to mode [email protected] on eDP1 using pipe 1, position (0, 1200), rotation normal, reflection none
(II) intel(0): resizing framebuffer to 2560x2640
(II) intel(0): switch to mode [email protected] on HDMI1 using pipe 1, position (0, 0), rotation normal, reflection none
(II) intel(0): switch to mode [email protected] on eDP1 using pipe 0, position (0, 1200), rotation normal, reflection none
(II) intel(0): switch to mode [email protected] on HDMI1 using pipe 0, position (0, 0), rotation normal, reflection none
(II) intel(0): switch to mode [email protected] on eDP1 using pipe 1, position (0, 1200), rotation normal, reflection none

Como você pode ver, eu tenho um driver intel, gráficos Iris.

00:02.0 VGA compatible controller: Intel Corporation Device 0a2e (rev 09)

Engraçado que isso estava funcionando bem até que alguma atualização rolou, eu não descobri qual quebrou.

Alguma pista? Ajuda é muito apreciada.

    
por bassman 20.04.2015 / 21:47

1 resposta

4

Eu postei o bug para desenvolvedores do gdm e recebi a dica para usar conf estática.

/etc/X11/xorg.conf.d/21-intel.conf

Conteúdo:

Section "Device"
    Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "monitor-eDP1" "eDP1"
EndSection

Section "Monitor"
    Identifier      "eDP1"
    Modeline "1920x1080"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
EndSection

E funcionou. Engraçado, eu acho que isso realmente é um bug para os desenvolvedores xrandr.

    
por bassman 21.04.2015 / 08:14