Como detectar e configurar uma saída com xrandr?

25

Eu tenho um monitor DELL U2410 conectado a um desktop Compaq 100B equipado com uma placa de vídeo AMD / ATI integrada (AMD E-350). O O / S instalado é o Ubuntu 10.04 LTS.

O computador está conectado ao monitor através da conexão DVI.

O problema é que não consigo definir a resolução da área de trabalho para o 1920x1200 nativo. A resolução máxima permitida é 1600x1200.

Fazendo algumas pesquisas que encontrei sobre o utilitário xrandr . Infelizmente, ao tentar usá-lo, não consigo configurá-lo para a resolução necessária. Primeiro, ele não informa o nome da saída (que deveria ser DVI-0 ), dizendo default . Sem isso eu não posso usar a opção --fb .

O utilitário EDID parece identificar bem o monitor. Aqui está a saída de get-edid :

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    Identifier "DELL U2410"
    VendorName "DEL"
    ModelName "DELL U2410"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Max dot clock (video bandwidth) 170 MHz
    # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

    Mode    "1920x1200" # vfreq 59.950Hz, hfreq 74.038kHz
        DotClock    154.000000
        HTimings    1920 1968 2000 2080
        VTimings    1200 1203 1209 1235
        Flags   "-HSync" "+VSync"
    EndMode
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
EndSection

mas o comando xrandr -q retorna:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  

Quando tento definir a resolução, obtenho:

$ xrandr --fb 1920x1200
xrandr: screen cannot be larger than 1600x1200 (desired size 1920x1200)

$ xrandr --output DVI-0 --auto
warning: output DVI-0 not found; ignoring

Como posso definir a resolução da tela para 1920x1200? Por que não xrandr identifica a DVI-0 saída?

Observe que o mesmo computador que executa a versão do Ubuntu superior a 10.04 detecta a resolução correta sem problemas. Nesta máquina, não posso atualizar devido a alguns problemas de compatibilidade de hardware herdados.

Além disso, não vejo nenhum driver de tela opcional disponível na caixa de diálogo Drivers de hardware.

----

UPDATE :

seguindo a resposta para essa questão , eu tenho algum avanço. Agora, o modo necessário está listado na lista xrandr -q , mas não consigo alternar para esse modo. Usando o miniaplicativo Monitores (que agora mostra o novo modo), recebo a resposta que:

The selected configuration for displays could not be applied. Could not set the configuration to CRTC 262 .

Na linha de comando, é assim:

$ cvt 1920 1200 60
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
  1920x1200_60.00 (0x120)  193.0MHz
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
   1920x1200_60.00   59.8  

$ xrandr --output default --mode 1920x1200_60.00
xrandr: Configure crtc 0 failed

Outra informação (se ajudar alguém):

$ sudo lshw -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc
       vendor: ATI Technologies Inc
       physical id: 1
       bus info: [email protected]:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

----

UPDATE 2 : Aqui está a listagem lshw atualizada:

$ sudo lshw -numeric -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc [1002:9802]
       vendor: ATI Technologies Inc [1002]
       physical id: 1
       bus info: [email protected]:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff
    
por ysap 10.09.2012 / 19:40

4 respostas

5

Eu acho que você terá chegado em algum lugar quando você aumentar isso:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200    
                                                  ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
 

Então, eu acho, você será capaz de fazer com que o xrandr use o modo personalizado que você aprendeu a definir (se você ainda precisar dele depois de corrigir o problema básico).

Aumentar o tamanho da tela virtual

[Este] [1] artigo sugere adicionar uma linha Virtual à seção Screen de um arquivo de configuração xorg.conf para definir o tamanho máximo da tela. É de um par de anos atrás. Ao testar isso, não consegui definir a linha Virtual além do tamanho máximo de tela dado por xrandr -q . Com o meu driver e hardware, esse valor já era um grande 8192x8192, no entanto.

Você pode experimentar adicionando isso como /etc/X11/xorg.conf, por exemplo:

Section "Screen"
    Identifier "My Screen"
    Subsection "Display"
        Virtual 2048 2048
    EndSubSection
EndSection

Você provavelmente não verá um /etc/X11/xorg.conf, pois os drivers de vídeo de hoje tentarão determinar padrões razoáveis para tudo e as distribuições modernas deixarão esse arquivo fora. Ele será usado se presente, no entanto.

Se você já tem um arquivo /etc/X11/xorg.conf, você pode tentar adicionar a linha Virtual acima à subseção Display de sua seção Screen

Eu sugiro que você teste isso com um editor de linha de comando, pois há alguma chance de que ele atrapalhe sua capacidade de se conectar à GUI do Ubuntu e talvez você precise executar Alt-Ctrl-F1, conectar-se e editar (ou remover ) o arquivo usando ferramentas de linha de comando. Quaisquer erros devem estar em /var/log/Xorg.0.log ou /var/log/Xorg.1.log.

Na verdade, você pode e deve testar isso fazendo login em um ID de usuário adicional em seu sistema (sem sair do seu userid usual) e checando a partir da nova sessão, assim você pode usar Alt-Ctrl-F7 para voltar ao seu trabalho GUI, se houver problemas. Caso você esteja usando um ID de usuário adicional para efetuar login sem efetuar logout do primeiro, o log apropriado será /var/log/Xorg.1.log. Não saia da sessão de trabalho ou inicialize até que você tenha um xorg.conf em funcionamento ou o tenha removido novamente.

Use um driver de gráficos diferente

Outro artigo que li resolveu esse problema trocando drivers, mas vejo pela sua pergunta que o programa Drivers Adicionais não oferece alternativas. (Eu suponho que é isso que você quer dizer acima quando menciona a caixa de diálogo "Hardware Drivers". A menos que você altere os drivers com o programa Drivers Adicionais, você usará um driver que o kernel considere apropriado para sua placa de vídeo ou a lógica de vídeo da placa-mãe.

Para o OP, a partir do que você descreveu em seus comentários acima, parece que seu sistema deve estar usando o driver radeon, mas não está. Eu uso o driver radeon e geralmente defino minha resolução horizontal para 1920 (o máximo para o driver / cartão parece ser 8192). Os drivers vesa e fb são drivers muito básicos para hardware antigo - antigos o suficiente para que os monitores daquela época não tivessem telas muito grandes.

Atualize o Ubuntu

Se você estiver executando um computador mais novo que a versão do Ubuntu que você instalou e, em particular, seu kernel Linux, é completamente possível que o kernel não reconheça o seu adaptador gráfico. Se for esse o caso, você precisa atualizar o seu software Ubuntu que contém suporte para o seu equipamento.

Como ele não pode executar o fglrx, esse infelizmente é o caso do ysap. Devido à novidade deste equipamento em relação ao release que o ysap está executando, não há suporte para [1002.9802] no kernel Linux do Lucid (ou do Maverick). O primeiro suporte para este equipamento apareceu no kernel Natty 2.6.38. Para verificar o suporte para um determinado dispositivo nos módulos do kernel, você pode ir para o arquivo /lib/modules/kernel-version/module.alias e procurar o valor do adaptador. Para esse equipamento:

grep v00001002d00009802 /lib/modules/2.6.38-10-generic/modules.alias

Para verificar o suporte do kernel do Natty. Responde:

alias pci:v00001002d00009802sv*sd*bc*sc*i* radeon

Como teste, você pode tentar inicializar um live CD no sistema e tentar definir a resolução desejada nesse ambiente (clique em Try Ubuntu, em vez de Install).

Obter suporte de driver apropriado também pode permitir instalações gráficas modernas, como renderização direta e suporte a OpenGL, melhorando muito o desempenho e a estética.

Para um computador pessoal, você também poderá usar um kernel atualizado se houver um compatível disponível para a sua versão do Ubuntu. Para um computador de produção, pode ser necessário atualizar o Ubuntu para uma versão mais nova, quando disponível, por questões de confiabilidade e robustez.

    
por John S Gruber 11.09.2012 / 18:22
11

Também encontrei esse problema (costumava ter uma tela Dell de 23 ")

Primeiro, determine qual interface está conectada à sua exibição:

$ xrandr -q

A saída do comando será:

[email protected]:~$ xrandr -q

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192

LVDS connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

HDMI-0 disconnected (normal left inverted right x axis y axis)

VGA-0 connected ......

   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

A exibição externa está conectada à porta VGA-0 . Isso é importante notar.

Agora, adicione um novo modo para exibir:

$ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA-0 1920x1080_60.00
$ xrandr --output VGA-0 --mode 1920x1080_60.00
    
por Микола Ткачук 31.01.2014 / 00:03
4

Todos os dias. Eu tive esse problema ao se conectar a um sistema Ubuntu que não tem tela (costumava ter uma tela Dell de 24 ", mas era necessário em outro lugar). Eu não sou brilhante o suficiente para saber por que isso funciona, mas aqui está uma série de comando o que funciona para mim - não é necessária a edição de arquivos.

Nota: quando você reinicializa, precisa executá-los novamente. Eu sugiro um script de shell.

gtf 1920 1200 60 -x
xrandr --newmode "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
xrandr --addmode VGA1 1920x1200_60.00
xrandr --output VGA1 --mode 1920x1200_60.00
    
por user202431 13.10.2013 / 23:12
2

Eu adicionei as linhas acima (obtive uma saída ligeiramente diferente do comando gtf) para o arquivo .xprofile no meu diretório home. Trabalhou como um sonho. Veja abaixo.

gtf 1920 1080 60 -x

xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

xrandr --addmode Virtual1 1920x1080_60.00

xrandr --output Virtual1 --mode 1920x1080_60.00

Estou usando o Vmware Player, daí o nome da saída.

    
por Tim 28.05.2016 / 22:25

Tags