sexta-feira, 14 de outubro de 2011

Configurando a placa intel 82945G/GZ no linux

Se você tem esta placa gráfica e a resolução não é a máxima suportada, vou explicar como configurá-la adequadamente na sua distribuição linux.

Esclareço que não me responsabilizo por quaisquer danos que venham a ocorrer. Você assumirá todos os riscos nos procedimentos realizados nesta dica! "Teje" avisado! ;-))

Em primeiro lugar vamos criar um arquivo xorg.conf, que tornou-se desnecessário a partir da versão 1.7 do X, já que agora ele detecta corretamente 99,99% das resoluções suportadas. 

Faça assim:

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)

Agora rode o comando abaixo, utilizando o número "2" obtido acima:

$ sudo X -configure :2
_XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/laptop:2
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
...
blá...blá...blá...
...
Your xorg.conf file is /home/seu_login/xorg.conf.new
To test the server, run 'X -config /home/seu_login/xorg.conf.new'

A saída do último comando varia a cada distribuição, mas o que realmente importa é o arquivo xorg.conf.new localizado em /home/seu_login.

Dependendo da distro, ele pode localizar-se em /root. Basta procurar nos dois para descobrir onde ele está e renomeá-lo para xorg.conf, movendo-o em seguida para /etc/X11:

ubuntu
$ sudo mv xorg.xonf.new xorg.conf
$ sudo mv xorg.conf /etc/X11

outras distros
$ su + senha de root + [enter]
# mv xorg.conf.new /etc/X11/xorg.conf 

Para usar a resolução máxima suportada, alteraremos o arquivo mais a frente. O comando xrandr permite descobri-la como a que está em uso, assim:

$ xrandr -q
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
LVDS1 connected 1024x768+0+0 (etc...etc) 331mm x 207mm
   1280x800       60.0
   1024x768       60.0  +
   800x600        60.3     56.2 
   640x480        59.9 
VGA1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)

Mostramos uma saída hipotética com resolução máxima de 1280x800, usando 1024x768. Não se preocupe se o seu mostrar valores distintos. O que importa e localizar os que nos interessa.

Agora vamos calcular os valores para a resolução máxima que desejamos, usando o comando cvt, usando a linha "1280x800 60.0" como referência (exemplo):

ubuntu
$ sudo cvt 1280 800 60
# 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz
Modeline "1280x800_60.00"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync

outras distros
# cvt 1280 800 60
# 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz
Modeline "1280x800_60.00"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync

Se você quiser fazer a alteração em tempo real, siga os passos abaixo:

$ export DISPLAY=:0
$ xrandr --newmode "1280x800_60.00"   83.50  etc...etc  831 -hsync +vsync
$ xrandr --addmode  LVDS1 1280x800_60.00
$ xrandr --output LVDS1 --mode 1280x800_60.00 

Agora vamos alterar o xorg.conf usando os valores acima. Abra-o como super-usuário por meio de seu editor de textos preferido. Localize a linha Section "Monitor" e faça as alterações abaixo:

ANTES
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

DEPOIS
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Modeline     "1280x800_60.00"   83.50  etc...etc  831 -hsync +vsync
        Option       "PreferredMode"    "1280x800_60.00"
EndSection

Salve as alterações e reinicie seu computador. O X vai utilizar a resolução máxima suportada pela intel 82945G/GZ.

Até a próxima dica!
;-))

6 comentários:

  1. marcos@desktop:~$ xrandr --newmode "1280x800_60.00" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync
    xrandr: Failed to get size of gamma for output default

    Did you know what can I do with this error?

    ResponderExcluir
  2. segui isso ai e o linux nem iniciou mais
    eh sempre essa putaria qd eu testo qq distro
    ai sempre volto pra o bom e velho win, onde td eh mt mais facil de resolver

    ResponderExcluir
    Respostas
    1. qual distro que vc usou, Lucas? Esse problema já foi sanado nas distros mais atuais. Dê retorno!

      Excluir
    2. Lucas, eu concordo contigo! Tô vasculhando sites e mais sites aqui pra resolver um problema de resolução em dois PCs do meu trampo. Tô perdendo mais tempo lendo do que efetivamente resolvendo problemas. Tudo no Linux tem que ser mais lento, difícil e complicado, com comandos de terminal infinitos e cansativos. Isso gera perda de tempo enorme. De vez em quanto eles lançam uma nova versão do Linux muito promissora, mas mais cedo ou mais tarde acabam encontrando algum tipo de problema ou impedimento. Enquanto que no Windows tudo é simples e resolução de problemas geralmente está logo ali. Estou insistindo horrores pro pessoal comprar as licenças do Windows o quanto antes! Enquanto as maiores empresas do mercado chutam linhas de comando longe dos usuários, o Linux ainda insiste nisso... Vejam quantas linhas de comando temos que digitar para uma simples troca de resolução - algo que deveria ser natural dentro daquilo que a placa suporta. No Windows, precisamos de três ou quatro cliques pra arrumar isso ou, quando muito, uma busca por um driver mais atual na internet. Lamentável.

      Excluir
    3. Essa dica é de 2011. Hoje a configuração é automática. Você diz que no windows basta uns cliques e pronto. Duvido que esses "cliques" funcionem se o fabricante não disponibilizar um driver para ele.
      .
      A mesma coisa no linux. É fácil dizer que é mais complicado, quando o fabricante não dá suporte.
      .
      Sem esses mesmo fabricantes, o windows não é nada!
      .

      Excluir