Não é possível adicionar novo modo no xrandr para monitor externo

14

Hoje eu estava tentando conectar meu segundo monitor ao meu notebook. Eu tenho:

  • placa gráfica nvidia
  • 304.43 drivers [suporte xrandr 1.2]
  • archlinux [atualizado]
  • wm incrível
  • xrandr 1.3

Meu problema é com uma resolução maior que 640x480 para meu monitor externo (VGA). xrandr -q:

Screen 0: minimum 8 x 8, current 1920 x 800, maximum 8192 x 8192
VGA-0 connected 640x480+1280+0 (normal left inverted right x axis y axis) 0mm
   640x480        59.9*+
   320x240       120.1  
LVDS-0 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331m
   1280x800       59.9*+
HDMI-0 disconnected (normal left inverted right x axis y axis)

Como podemos ver, não há uma resolução maior para VGA, então eu adiciono um novo modo:

xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')

Eu verifiquei a resolução e a taxa de atualização disponíveis no Windows: uma delas era 1024x768x70 (o OSD do meu monitor dizia que era de 70.4HZ). Depois de criar o novo modo, eu queria adicioná-lo:

xrandr --addmode VGA-0 1280x1024_70.40

E ... falhou:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  29
  Current serial number in output stream:  30

Do google eu aprendi que em xrandr / nvidia drivers mais antigos era problema com lista de modos disponíveis, mas agora com suporte de xrandr 1.2 por nvidia drivers deveria ser melhor. Eu também tento com menor resolução e taxa de atualização (por exemplo, 1024x768x50), mas eu tenho o mesmo erro. Estou sem ideias sobre o que fazer com este problema ...

    
por Borgo 10.09.2012 / 22:14

4 respostas

9

Não tenho certeza se você criou a sequência de caracteres que segue xrandr --newmode ou copiou de outra forma, mas não funcionará na forma atual.

Eu recomendo fazer isso passo a passo.

Primeiro, você precisa gerar o novo modo. Eu recomendo usar 60Hz com LCD ou 85Hz com monitor CRT

gtf 1280 1024 60

Você receberá algo como:

 # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz 
 Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

Em seguida, apresente este modo para xrandr usando --newmode (copie e cole a linha que começa com 'Modeline'.

 xrandr --newmode "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

Em seguida, adicione este modo a VGA-0:

xrandr --addmode VGA-0 "1280x1024_60.00"

E, finalmente, você pode usar este novo modo:

 xrandr --output VGA-0 --mode 1280x1024_60.00
    
por 10.09.2012 / 23:26
4

Eu tive esse problema com o erro BadMatch até que eu deletei um "1280x1024_60.00" adicionado anteriormente porque ele nunca poderia usar o modo de aspas duplas com sucesso. Eventualmente, percebi que um nome melhor para o modo ajudou.

Então excluí "1280x1024_60.00" executando o seguinte como um usuário normal:

$ xrandr --version 
reports 1.4.0 and 1.4
$ xrandr | grep 1280 #Do you see any 1280x1024 anywhere?  Does it have double quotes?
$ xrandr --verbose --delmode VGA1 '"1280x1024_60.00"'
$ xrandr --verbose --rmmode '"1280x1024_60.00"' 

Excluir e remover o lixo no sistema geralmente não funcionava ou voltava mesmo que eu o excluísse da minha conta e do root. Geralmente voltaria sob a saída denominada VIRTUAL1 em vez de VGA1.

Achei muito mais fácil deixar o lixo e acrescentar uma letra no final do meu modo recém-criado e até mesmo descartei o .00, então 1280x1024_60B . Observe com atenção abaixo que há aspas duplas em torno do parâmetro --newmode, mas NÃO --addmode nem --mode

$ xrandr --verbose --newmode "1280x1024_60B" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
$ xrandr --verbose --addmode VGA1 1280x1024_60B
$ xrandr --verbose --output VGA1 --mode 1280x1024_60B

Um pequeno piscar de tela e meu monitor quadrado externo de 19 "está funcionando a 1280x1024.

    
por 04.07.2014 / 08:07
0

Se você estiver executando o Linux em uma VM (especificamente, VirtualBox), verifique se a VM tem memória de vídeo suficiente.

Muito pouca memória de vídeo causa esse erro ao tentar executar xrandr.

    
por 21.03.2016 / 17:30
0

Eu gasto 2 horas para resolver problema semelhante e o problema estava no cabo VGA. Substitua o cabo vga Eu posso mudar a resolução para 1920x1080 sem usar xrandr ou xorg é muito estranho.

    
por 10.07.2016 / 00:26