resolução de 2560x1440 sobre HDMI com um laptop com NVIDIA Optimus e Ubuntu 15.10

3

Anexei um novo monitor de 2560 x 1440 (Dell P2416D) com HDMI ao meu laptop de inicialização dupla (Asus N56VJ) que possui a tecnologia de duas GPUs da NVIDIA.

No Windows 8.1, consegui que o monitor fosse executado com sua resolução nativa e taxa de atualização de 60 Hz, criando uma resolução personalizada nas configurações da NVIDIA. O menu de exibição também mostra que está executando 2560x1440 @ 60 Hz, portanto não há downscaling envolvido.

No entanto, no Ubuntu 15.10, não tive sorte em ativar a resolução nativa. O widget de configurações de exibição oferece apenas tamanhos de imagem de até 2048x1152 e a execução do Xrandr falha da seguinte maneira:

fabio@fabio-N56VJ:~$ xrandr --newmode 2560x1440 311.825 2560 2744 3024 3488 1440 1441 1444 1490 +hsync +vsync 

fabio@fabio-N56VJ:~$ xrandr --addmode HDMI-0 2560x1440 
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:  36
  Current serial number in output stream:  37

Eu tentei modelines geradas pela ferramenta gtf e aquelas baseadas nas configurações do Windows exportadas pelo PowerStrip.

Estou executando os drivers binários mais recentes da NVIDIA disponíveis no Ubuntu, o que significa nvidia-352 .

Meu cabo HDMI também suporta a especificação 1.4, embora esse não deva ser o problema, já que a tela está funcionando bem no Windows.

Existe alguma maneira de eu forçar o X.org ou o Xrandr a forçar o modo, ou outra maneira de usar o display sem escalar?

    
por borellini 01.12.2015 / 10:43

2 respostas

1

A resolução de 2560x1440 só é possível via DisplayPort.
Note que os "hacks" na rede não são suportados na maioria dos modelos de monitores.

Apesar de no seu caso ser possível, o linux suporta apenas os modos "oficiais" AFAIK.

    
por 02.12.2015 / 05:17
0

Provavelmente o clock de pixel 311.83MHz é muito alto para sua GPU ou monitor. Tente com outras linhas de modo com relógios de pixel mais baixos. Por exemplo, 2560x1440 a 60Hz (redução de blanking) adquirida por cvt -r :

$ cvt -r 2560 1440 60
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R"  241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync
$ xrandr --newmode 2560x1440@60R 241.50  2560 2608 2640 2720  1440 1443 1448 1481 +hsync -vsync
$ xrandr --addmode HDMI-0 2560x1440@60R

Ou aceite taxas de atualização inferiores a 60 Hz:

$ xrandr --newmode 2560x1440@55 220.812 2560 2608 2640 2720 1440 1443 1448 1478 -hsync -vsync
$ xrandr --newmode 2560x1440@45 227.75 2560 2720 2992 3424 1440 1443 1448 1480 -hsync +vsync
$ xrandr --newmode 2560x1440@30 146.25 2560 2680 2944 3328  1440 1443 1448 1468 -hsync +vsync

Meu notebook antigo com CPU Sandy Bridge parece incapaz de pclk acima de 225MHz sobre HDMI, mas faz com sucesso a saída HDMI de 2560x1440 @ 55Hz para o ASUS PB278Q ou o DELL U2713H.

Observe que as taxas de atualização muito baixas, como 30 Hz, podem não ser suportadas pelo seu monitor. O ASUS PB278Q processa padrões psicodélicos para esses dados.

    
por 02.12.2015 / 05:53