Como posso encontrar qual driver de vídeo está sendo usado no meu sistema?

190

Gostaria de experimentar um driver de vídeo diferente, mas não tenho certeza de qual deles estou usando atualmente.

Qual é a maneira simples de ver qual driver meu sistema está usando atualmente?

belacqua
fonte

Respostas:

182

Execute lshw -c videoe procure a linha com "configuração". O driver carregado é prefixado com "driver =". Exemplo de saída:

  *-exibição
       descrição: controlador compatível com VGA
       produto: Controlador de gráficos integrados do processador principal
       fornecedor: Intel Corporation
       ID físico: 2
       informações de ônibus: pci @ 0000: 00: 02.0
       versão: 02
       largura: 64 bits
       clock: 33MHz
       recursos: vga_controller bus_master cap_list rom
       configuração: driver = latência i915 = 0
       recursos: irq: 45 memória: fd000000-fd3fffff memória: d0000000-dfffffff endereço: 1800 (size = 8)

Se você quiser obter mais informações sobre o driver carregado, execute modinfo. Saída de modinfo i915:

filename:       /lib/modules/2.6.35-24-generic/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Tungsten Graphics, Inc.
license:        GPL and additional rights
... stripped information for saving space ...
depends:        drm,drm_kms_helper,video,intel-agp,i2c-algo-bit
vermagic:       2.6.35-24-generic SMP mod_unload modversions 

Observe que modinfofunciona em nomes de arquivos e aliases, não em nomes de módulos. A maioria dos módulos terá o mesmo nome para o nome e o nome do arquivo, mas há exceções. Um deles é nvidia.

Outra maneira de usar esses comandos para mostrar o nome do arquivo do driver seria:

modinfo -F filename `lshw -c video | awk '/configuration: driver/{print $2}' | cut -d= -f2`

Quando carregado, o comando lsmodmostrará o nvidiamódulo como carregado. modinfo nvidiairá errar. Por quê? Como não existe um módulo chamado "nvidia", é apenas um alias. Para resolver o alias que você pode usar modprobe --resolve-alias nvidia. Ou, para obter todo o modinfo em um comando:

modinfo $(modprobe --resolve-alias nvidia)
Lekensteyn
fonte
11
Obrigado - você sabe se existe uma maneira de corresponder a string que ela retorna a um banco de dados (ou lista, etc.) que fornece uma descrição mais longa?
Belacqua
3
modinfo nvidia_currentNao funciona para mim. no entanto lshw -c videofaz-me mostrar os detalhes do driver como nvidia
Ubuntuser
11
Meu laptop possui duas placas de vídeo: uma placa Intel integrada e uma Radeon HD 6xxx. Ambas as placas têm drivers e, portanto, ambas aparecem com esses comandos. Mas isso não me diz qual realmente está sendo usado pelo X11, não é?
naught101
3
@ naught101 Procure /var/log/Xorg.0.logdescobrir. O cartão que está sendo usado está marcado com uma estrela: `(-) PCI: * (0: 0: 2: 0) ...`
Lekensteyn
3
Quando executo sudo lshw -c video, a linha para "configuration" diz "latency = 0" e não há entrada para o driver em nenhum lugar. Eu reinstalei os drivers Intel com êxito várias vezes, com reinicializações no meio, e não importa o que, lshw não mostra nenhuma informação de driver.
quer
85

Você pode usar o seguinte comando para ver o driver do kernel vga usado atualmente:

lspci -nnk | grep -i vga -A3 | grep 'in use'

Exemplo de saída para uma placa gráfica ATI / AMD:

  • se o driver Radeon de código aberto for usado:

    Kernel driver in use: radeon
    
  • se o driver Fglrx proprietário for usado:

    Kernel driver in use: fglrx_pci
    

Saída completa com lspci -nnk | grep -i vga -A3

01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Mobility Radeon HD 2400 [1002:94c9]
    Subsystem: Toshiba America Info Systems Device [1179:ff00]
    Kernel driver in use: fglrx_pci
    Kernel modules: fglrx, radeon

Módulos de kernel disponíveis que você pode ver com lspci -nnk | grep -i vga -A3 | grep 'Kernel modules':

Kernel modules: fglrx, radeon

Nota: Isso não funciona em todos os casos!

Para um adaptador de vídeo SiS 65x / M650 / 740 PCI / AGP VGA, não há linha "Driver do kernel em uso":

lspci -nnk | grep -i vga -A2
01:00.0 VGA compatible controller [0300]: Silicon Integrated Systems [SiS] 65x/M650/740 PCI/AGP VGA Display Adapter [1039:6325]
    Subsystem: ASUSTeK Computer Inc. Device [1043:1612]
    Kernel modules: sisfb

e o sisfbmódulo do kernel disponível não é o driver carregado, porque lsmod | grep sisfbnão possui saída ( sisfbestá na lista negra). Neste caso, também sudo lshw -c video | grep Konfigurationnão funciona. A saída é:

   Konfiguration: latency=0

sem nenhuma informação do driver.

BuZZ-dEE
fonte
4
+1 para solução com ferramentas linux 'padrão' (funciona perfeitamente no fedora aqui)
4levels
11
Que tal se eu in usevir o i915 e o nouveau? Como sei qual é usado pelo X?
akostadinov
+1 Eu estava tentando colocar o nome do driver de vídeo em uso em um sistema lubuntu : você lspci | grepme deixou ali. O lshwproposto por Lekensteyn, enquanto trabalha no ubuntu , falhou ao detectar o nome do arquivo do módulo no lubuntu .
Antonio Molinaro 25/10
3

Eu tentei de várias maneiras sem sucesso, mas isso funcionou em mim (Ubuntu 12.10):

/usr/lib/nux/unity_support_test --print

Uma razão é que eu tenho placa Nvidia Optimus e isso dificulta as coisas, então eu adicionei optirunantes do comando.

yksikerta
fonte
2
Eu pensei que apenas os recursos do driver impresso e a versão do OpenGL - isso mostra qual driver você está usando?
22413 belacqua
Eu testei este comando no Ubuntu 16.04.2. Parece relatar a GPU ativa com sintaxe semelhante à do comando glxinfo|egrep "OpenGL vendor|OpenGL renderer*" consulte . Eu acredito que unity_support_test --printexecuta o comando OpenGL no back-end.
Urso de Sun
2

A melhor informação que eu vi até agora está no nouveauwiki. Também pode ajudar com placas que não sejam da nvidia: https://nouveau.freedesktop.org/wiki/Optimus/

Isto é xrandr --listproviders e sudo cat /sys/kernel/debug/vgaswitcheroo/switch. Muitas outras informações úteis sobre como controlar energia, saídas e descargas, etc.

akostadinov
fonte
2
hwinfo --gfxcard

Procure a linha iniciada por "Driver:" Talvez seja necessário instalar o pacote hwinfo primeiro.

jarno
fonte
0

Abra um terminal e digite:

sudo apt-get install sysinfo

Este é um pequeno programa útil que pode lhe dizer tudo o que você precisa saber sobre o seu PC.

LinuxPCplus
fonte
2
Não consigo obter nenhuma informação de driver VGA com o Sysinfo. Informações sobre o Sysinfo VGA
BuZZ-dEE 14/02
11
O sysinfo falha no Ubuntu 16.04. Bom começo para um programa para exibir informações úteis do sistema.
Underverse