Como verificar qual GPU está instalada no Linux

Precisa identificar a unidade de processamento gráfico (GPU) em um computador Linux? Veja como você pode identificar a placa gráfica na linha de comando e no GNOME.

O primeiro passo

Você provavelmente já esteve lá. Você foi convocado para fornecer suporte a um parente não técnico ou colega de trabalho e algo lhe diz que isso não será indolor. Ainda assim, você contribui! Você determina rapidamente que o problema provavelmente é um problema de driver de vídeo. Ei, isso pode não ser tão ruim afinal! Mas, então, sua breve centelha de esperança se esvai quando você pergunta: “Que tipo de placa gráfica você tem?”

A expressão cervo-nos-faróis que você recebe em resposta fala por si. Para apoiar algo, você precisa saber o que é. Então, como você identifica a placa gráfica em um computador Linux?

Vamos supor o pior cenário e dizer que os drivers da placa de vídeo nunca foram instalados, então você não pode nem olhar para eles para ter uma ideia. Não importa! Você pode resolver este enigma a partir da linha de comando ou através do Interface gráfica do usuário (GUI).

lspci e o banco de dados PCI ID

O Peripheral Component Interconnect O padrão (PCI) é um protocolo comum que você pode usar para conversar com periféricos internos, como placas de vídeo. O Repositório PCI ID mantém um banco de dados de todos os IDs conhecidos para dispositivos PCI. Isso significa que se você souber alguma informação sobre o dispositivo, poderá pesquisá-la.

Você pode usar o comando lspci para listar o Dispositivos PCI instalados em um computador Linux, bem como algumas informações sobre eles.

Não seria ótimo se pudéssemos amarrar o banco de dados PCI e o comando lspci juntos? Bem, na verdade, isso é exatamente o que acontece quando você executa o comando lspci. Ele verifica uma cópia local do banco de dados PCI para identificar os dispositivos PCI que detecta. Antes de começar, é aconselhável atualizar a cópia local do banco de dados PCI.

Digite o comando update-pciids para fazer exatamente isso:

sudo update-pciids

A última versão do banco de dados é recuperada para nós e agora podemos usar o comando lspci. Haverá muita saída, então vamos canalizá-la para menos. A opção -v (verbose) diz ao lscpi para nos fornecer o máximo de informações possível. Usaremos sudo para garantir que as informações sejam as mais detalhadas possíveis.

Digitamos nosso comando da seguinte maneira:

sudo lspci -v | less

O

Os resultados aparecem em menos. Se você pressionar a barra (/), ativará a função de pesquisa menos.

Digite “VGA” em maiúsculas e pressione Enter.

Modelo

menos procura pela string, “VGA”, e mostra as primeiras correspondências que encontra. A partir desse ponto, você pode rolar ou avançar a página para ver quantas placas gráficas o lspci encontrou.

Resultados da busca por

Para este artigo, conduzimos nossa pesquisa em uma variedade de distribuições Linux rodando em VirtualBox máquinas virtuais. As máquinas virtuais, é claro, têm placas de vídeo virtuais.

Para que você possa ver um exemplo de resultados do mundo real, aqui está a saída do computador host (físico):

26:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd GP108 [GeForce GT 1030]
Flags: bus master, fast devsel, latency 0, IRQ 97
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Legacy Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [250] Latency Tolerance Reporting
Capabilities: [128] Power Budgeting >
Capabilities: [420] Advanced Error Reporting
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 >
Capabilities: [900] Secondary PCI Express >
Kernel driver in use: nouveau
Kernel modules: nouveau

Deu-nos imediatamente muitas informações boas!

A placa é uma NVIDIA Corporation GP108 [GeForce GT 1030], e, após alguns segundos com um mecanismo de pesquisa, encontramos o Página de tecnologia NVIDIA para esse dispositivo. O “[VGA controller]”Texto no final da primeira linha indica que esta é a placa gráfica“ operacional ”. Essa é uma informação útil quando mais de uma placa está instalada em um computador.

O Comando lshw

Você também pode usar o comando lshw para listar o hardware instalado em um computador Linux. Ele também relata uma variedade de tipos – não apenas hardware PCI.

Para informá-lo sobre as placas gráficas que encontrar, usaremos a opção -C (classe) e passaremos o modificador “display”. A opção -numeric força lshw a fornecer os IDs numéricos dos dispositivos, bem como seus nomes.

Digite o seguinte:

sudo lshw -numeric -C display

O

Aqui está o que aquele comando encontrou no computador físico:

 *-display 
   description: VGA compatible controller
   product: GP108 [GeForce GT 1030] [10DE:1D01]
   vendor: NVIDIA Corporation [10DE]
   physical id: 0
   bus info: [email protected]:26:00.0
   version: a1
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
   configuration: driver=nouveau latency=0
   resources: irq:97 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:c0000-dffff

De forma encorajadora, ambos encontraram o mesmo cartão!

O [10DE:1D01] os identificadores representam o fabricante (10DE) e o modelo (1D01). Para encontrar a marca e o modelo imediatamente, você pode digitar “placa gráfica 10de: 1d01” em um mecanismo de busca.

O Comando glxinfo

O comando glxinfo é outro método que você pode usar. Dá-lhe informações do Extensão OpenGL para o sistema X Windows. Você pode então pesquisar algumas dessas informações para descobrir que tipo de placa gráfica está instalada em uma máquina.

O comando glxinfo já está presente no Manjaro e Fedora, mas você deve instalá-lo no Ubuntu. Para fazer isso, digite o seguinte comando:

sudo apt-get install mesa-utils

O

Para canalizar a saída de glxinfo por meio de less e usar a opção -B (imprimir IDs), digite o seguinte:

glxinfo -B | less

O

A placa gráfica é descrita na linha “Dispositivo”.

A linha do dispositivo destacada na saída do

Esta é a saída do computador físico:

name of display: :1
display: :1 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: nouveau (0x10de)
Device: NV138 (0x1d01)
Version: 19.3.2
Accelerated: yes
Video memory: 1987MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.3
Max compat profile version: 4.3
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: nouveau
OpenGL renderer string: NV138
OpenGL core profile version string: 4.3 (Core Profile) Mesa 19.3.2
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.3 (Compatibility Profile) Mesa 19.3.2
OpenGL shading language version string: 4.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Quando você digita “NV138” em um mecanismo de busca, a placa de vídeo NVIDIA é identificada imediatamente.

Usando a GUI para identificar a placa gráfica

Se o computador for um servidor somente CLI, você terá que usar uma das técnicas que abordamos acima. Se ele tiver uma GUI (funcional), no entanto, é provável que haja uma maneira gráfica de identificar a placa de vídeo. Na verdade, essa opção provavelmente está em algum lugar nas ferramentas de configuração da área de trabalho do Linux.

Na área de trabalho do GNOME, abra a caixa de diálogo “Configurações” e clique em “Detalhes” na barra lateral. No painel “Sobre”, procure uma entrada “Gráficos”. Isso informa que tipo de placa de vídeo está no computador ou, mais especificamente, a placa de vídeo que está em uso. Sua máquina pode ter mais de uma GPU.

As configurações do GNOME

Na guia “Sobre” das configurações do GNOME de um host físico, obtemos o mesmo ID de cartão “NV138” que vimos anteriormente. Novamente, podemos inserir essas informações em um mecanismo de pesquisa para encontrar o tipo de cartão.

As configurações do GNOME

Placas Gráficas em Laptops

Muitos laptops têm duas placas gráficas: uma do fabricante do unidade central de processamento (CPU) e um de um provedor de GPU convencional.

Vamos digitar o mesmo comando lspci anterior, mas desta vez, vamos executá-lo em um laptop:

sudo lspci -v | less

Como esperado, obtemos uma descrição das placas gráficas na máquina:

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. 3rd Gen Core processor Graphics Controller
Flags: bus master, fast devsel, latency 0, IRQ 33
Memory at f7400000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [a4] PCI Advanced Features
Kernel driver in use: i915
Kernel modules: i915

01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. GF119M [GeForce 610M]
Flags: bus master, fast devsel, latency 0, IRQ 34
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=128M]
Memory at e8000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 >
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting >
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 >
Kernel driver in use: nouveau
Kernel modules: nouveau

Este laptop tem um GPU Intel Core e uma NVIDIA GeForce 610M. No entanto, ambos os cartões têm o “[VGA controller]”String, que geralmente indica qual GPU está em uso.

Eles não podem estar em uso, então tente fazer com que a placa do provedor de GPU principal funcione primeiro. Esse é o que o fabricante do laptop considera o padrão e inclui nas especificações de hardware da máquina.

Uma das técnicas que abordamos aqui com certeza funcionará para você! Depois de saber qual tipo de placa gráfica um computador ou laptop possui, você pode selecionar o driver gráfico apropriado.