2 de mar de 2011

Como identificar o driver de vídeo em uso no Linux

Neste post descrevemos dois métodos para verificar qual driver de vídeo está sendo carregado pelo sistema.

Método 1

Analisar o aquivo de configuração do Xorg (xorg.conf).

Para isso, você precisa gerá-lo através do seguinte comando (como root ou usando o sudo):
Xorg :1 -configure
Sinopse: Xorg [:display] [option ...]
Nota: se a tentativa falhar, especifique um display diferente (:2, :3, etc).

Um arquivo chamado xorg.conf.new será salvo na Home do usuário. O nome do driver de vídeo é identificado na seção device (Section "Device").

Método 2

Analisar o arquivo de log do Xorg (Xorg.0.log).

Execute o seguinte comando:
grep -B1 "/drivers/\|/extra-modules/" /var/log/Xorg.0.log || grep -i -A1 loadmodule /var/log/Xorg.0.log

Este comando deverá exibir as linhas encontradas pela busca dos termos "/drivers/" e "/extra-modules/" no arquivo /var/log/Xorg.0.log mais uma linha acima ou exibir o resultado da busca pelo termo "loadmodule" mais uma linha abaixo. Deu pra entender? :)

Veja um exemplo de como a informação é exibida:
(II) LoadModule: "openchrome"
(II) Loading /usr/lib/xorg/modules/drivers/openchrome_drv.so
--
(II) LoadModule: "vesa"
(II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
--
(II) LoadModule: "fbdev"
(II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
--
(II) UnloadModule: "vesa"
(II) Unloading /usr/lib/xorg/modules/drivers/vesa_drv.so
(II) UnloadModule: "fbdev"
(II) Unloading /usr/lib/xorg/modules/drivers/fbdev_drv.so
Interpretação rápida: o resultado mostra três drivers sendo carregados e dois sendo descarregados. O openchrome permanece carregado, logo este é o driver de vídeo que está em uso.

Algumas considerações

Por que não usar os comados lspci -k ou lsmod?

O que queremos é a mesma informação que teríamos no arquivo xorg.conf. Ou seja, queremos o nome do driver que apareceria na seção device. Por exemplo:

Section "Device"

     Driver "openchrome"

Já o lspci -k, sobre o vídeo, mostra (para o mesmo hardware usado nos exemplos anteriores):
01:00.0 VGA compatible controller: VIA Technologies, Inc. CN896/VN896/P4M900 [Chrome 9 HC] (rev 01)
     Kernel modules: viafb

E o lsmod | grep "via\|openchrome"
via                       37920  0
drm                   162409  1   via
i2c_viapro              5573  0
via_rhine              19154  0
via_agp                  5310  1
mii                         4381  1  via_rhine
agpgart                31724  2  drm,via_agp
sata_via                 7009  3
pata_via                 7272  0

Percebam que nem o lspci nem o lsmod exibem o driver carregado pelo Xorg.

Agora cabe a você, caríssimo leitor, testar os métodos apresentados neste post e deixar aqui o seu comentário. Sugestões, críticas e outras soluções serão bem-vindas. ;)

Dica de leitura: O novo Xorg e as suas configurações

0 comentários