Problemas ao alterar a resolução usando xrandr: Bad Match

5

Eu vou para os Displays, e a resolução máxima que eu tenho lá é 1360x768 (16: 9). No entanto, no Windows 8.1, posso ter a resolução de 1680x1050 (16:10), sem nenhum tipo de problema. Por causa disso, eu tentei adicionar uma resolução personalizada usando xrandr:

xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

xrandr --addmode DVI-I-0 "1680x1050_60.00"

No entanto, depois de digitar o último comando, aparece:

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:  39
 Current serial number in output stream:  40

Eu também digitei xrandr e confirmei que DVI-I-0 é o único que diz estar conectado:

Screen 0: minimum 8 x 8, current 1360 x 768, maximum 16384 x 16384
DVI-I-0 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00 +
   1360x768      59.96*   59.80  
   1152x864      60.00  
   800x600       72.19    60.32    56.25  
   680x384       59.96    59.80  
   640x480       59.94  
   512x384       60.00  
   400x300       72.19  
   320x240       60.05  
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
  1680x1050_60.00 (0x2ae) 146.250MHz
          h: width  1680 start 1784 end 1960 total 2240 skew    0 clock  65.29KHz
          v: height 1050 start 1053 end 1059 total 1089           clock  59.95Hz

Além disso, estou executando o Ubuntu 15.10.

Como posso ter a resolução de 1680x1050 (16:10)? Obrigado por qualquer ajuda que você possa me dar.

EDIT: Esqueci de dizer - Antes do Ubuntu, eu tinha Linux Mint, onde eu também tive o mesmo problema. No entanto, como eu disse antes, não tenho esse problema no Windows.

EDIT2: No link a seguir, há o arquivo /var/log/Xorg.0.log: link , e também tenho um monitor ASUS.

    
por Jonphobos 30.11.2015 / 19:56

1 resposta

2

Ok, no momento de escrever esta resposta, você não tem uma barra de menu, e eu ainda não vi seu arquivo xorg.conf, mas eu acredito que sei o suficiente para saber o que você precisa fazer, e Eu acredito que você será capaz de fazer alterações no seu arquivo xorg.conf a partir do modo de recuperação se você não puder fazê-lo no modo de inicialização normal sem uma barra de menu.

Primeiro, acredito que os avisos [ 28.338] (WW) NVIDIA: GPU:0: Unable to read EDID for display device DVI-I-0 são significativos, mas não acho que nada esteja "errado", mais que possa ser uma limitação do seu monitor, ou cabos VGA, ou seu computador, ou algum combinação. Minha combinação de computador, VGA e TV também não detecta o EDID automaticamente.

A Wikipedia tem uma entrada no EDID que você pode encontrar uma referência útil: link

Você já criou um arquivo xorg.conf, mas para completar eu incluirei as etapas nesta resposta. Você segue a resposta de Alexander Malakhov em esta questão :

  1. Alt + Ctrl + F1 para alternar para o modo de console
  2. Pare o servidor X parando o gerenciador de exibição: sudo service gdm stop (ou sudo service lightdm stop se você tiver o ambiente Lubuntu e / ou LXDE).
  3. sudo X -configure para criar um arquivo xorg.conf.new
  4. sudo mv xorg.conf.new /etc/X11/xorg.conf para renomear e mover o arquivo para onde o xorg.conf vai
  5. sudo service gdm start ou sudo service lightdm start para reiniciar o gerenciador de exibição e o servidor X. sudo start gdm e sudo start lightdm também funcionam.

Agora você tem o arquivo /etc/X11/xorg.conf. O que diz agora e o que deveria dizer depende do seu próprio sistema. Vou compartilhar as partes relevantes do meu próprio arquivo xorg.conf (configurado corretamente para o meu sistema) aqui e falar sobre isso.

Mas primeiro, como editá-lo? Se tudo estiver funcionando corretamente, você poderá editá-lo abrindo um terminal e digitando sudo nano /etc/X11/xorg.conf . Se você estiver tendo problemas para editá-lo no modo de inicialização normal, poderá editá-lo no modo de recuperação: inicie o computador e, no menu de inicialização do grub, selecione "Opções avançadas", depois o modo de recuperação do kernel mais recente e selecione o prompt do shell de root. Você precisará inserir o comando: mount -o remount,rw / para tornar tudo read-write. Então você pode editar o arquivo xorg.conf com o comando nano /etc/X11/xorg.conf ( sudo não é necessário no modo de prompt do shell de root). (Quando tiver terminado o prompt do shell de root, digite exit e, em seguida, selecione "Resume boot normal", talvez seja necessário reinicializar para ver se as alterações entraram em vigor.)

Este link fornece informações úteis sobre o modo de recuperação.

Aqui estão as partes relevantes do meu arquivo xorg.conf, o seu pode ser diferente. Você pode acessar o manual do xorg.conf digitando man xorg.conf em um terminal, ou você pode encontrá-lo em vários lugares na internet, como aqui . Há também um wiki do Ubuntu nele aqui .

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
        HorizSync       28.0 - 83.0
        VertRefresh     56.0 - 75.0
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "SWcursor"              # [<bool>]
        #Option     "kmsdev"                # <str>
        #Option     "ShadowFB"              # [<bool>]
    Identifier  "Card0"
    Driver      "sis"
    BusID       "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
                 Modes     "1360x768"
    EndSubSection
EndSection

Eu acredito que você teria o Driver correto em seu Section "Device" , o seu deve ser algo como nvidia .

Em seguida, vamos ver Section "Screen" . Você pode, como eu, ter várias subseções e, nesse caso, a única com a qual você precisa se preocupar é a subseção Depth 24 . Inserir a linha:

Modes "1680x1050"

nessa subseção. Seu computador não conseguiu determinar o tamanho da tela usando o EDID, portanto, estamos informando manualmente ao computador qual é o tamanho da tela.

Eu acredito que esta é a mudança que você precisa fazer para que funcione. Reinicialize a máquina e veja se a resolução é fixa.

Há uma chance de que você precise fazer mais alterações: na seção Section "Monitor" , você pode ver HorizSync e VertRefresh lines no meu xorg.conf. Você também pode precisar dessas linhas no seu. No entanto, o intervalo que você precisa especificar para as duas linhas depende do seu monitor. Se você tiver o manual do seu monitor, procure as "especificações" na parte de trás do manual. Se você não tem o manual, a ASUS parece fornecê-los em seu site, mas eu não sei o nome / número do modelo do seu monitor. Você pode conseguir o nome / número do modelo a partir de um adesivo na parte de trás do monitor.

Em algum lugar na seção Especificações do manual, há uma lista tabelada de resoluções e valores horizontais e verticais correspondentes. Você deseja que o intervalo HorizSync inclua todos os valores horizontais para cada resolução que você possa usar: encontre o menor valor na lista e torne esse limite mais baixo, e torne o limite superior igual ao maior valor da lista. Da mesma forma, com o VertRefresh , use os valores mais baixos e mais altos na coluna Vertical (um manual da ASUS que escolhi aleatoriamente apenas chama isso de "Taxa de atualização"). Se você adicionar as linhas HorizSync e VertRefresh , salve e reinicialize para ver se isso resolve o problema.

Por favor, compartilhe por comentário, quando, se for o caso, o problema de resolução é corrigido. Se ainda não for corrigido, talvez seja necessário examinar seu /etc/X11/xorg.conf e /var/log/Xorg.0.arquivos de log novamente.

    
por Jeffrey Lam 21.12.2015 / 13:44