Como verificar qual GPU está instalada no Linux

Um laptop Linux com uma janela de terminal aberta.
Fatmawati Achmad Zaenuri / Shutterstock

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 dar 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 muito. 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 por meio da interface gráfica do usuário (GUI).

lspci e o banco de dados PCI ID

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

Você pode usar o lspcicomando para listar os 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 lspcicomando juntos? Bem, na verdade, isso é exatamente o que acontece quando você executa o lspcicomando. 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 update-pciidscomando para fazer exatamente isso :

sudo update-pciids

O comando "sudo update-pciids" em uma janela de terminal.

A versão mais recente do banco de dados é recuperada para nós e agora podemos usar o lspcicomando. Haverá muita saída, então vamos canalizar para less. A -vopção (detalhada) diz  lscpipara nos fornecer o máximo de informações possível. Usaremos  sudo para garantir que as informações sejam tão detalhadas quanto possível.

Digitamos nosso comando da seguinte maneira:

sudo lspci -v | Menos

O comando "sudo lspci -v | less" em uma janela de terminal.

Os resultados aparecem em less. Se você pressionar a barra ( /), a lessfunção de pesquisa será ativada  .

Recomendado:  Como aproveitar ao máximo as complicações em seu Apple Watch

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

Digite "VGA" em maiúsculas na janela do terminal.

less procura a 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 foram lspciencontradas.

Resultados da pesquisa por "VGA" na saída lspci do comando "less" em uma janela de terminal.

Para este artigo, conduzimos nossa pesquisa em uma variedade de distribuições Linux rodando em máquinas virtuais VirtualBox . 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 Controlador compatível com VGA: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1) (prog-if 00 [controlador VGA])
Subsistema: Gigabyte Technology Co., Ltd GP108 [GeForce GT 1030]
Sinalizadores: bus master, fast devsel, latência 0, IRQ 97
Memória em f6000000 (32 bits, não pré-buscável) [size = 16M]
Memória em e0000000 (64 bits, prefetchable) [size = 256M]
Memória em f0000000 (64 bits, prefetchable) [size = 32M]
Portas de E / S em e000 [tamanho = 128]
Expansão ROM em 000c0000 [desativado] [tamanho = 128K]
Capacidades: [60] Gerenciamento de energia versão 3
Capacidades: [68] MSI: Ativar + Contagem = 1/1 Mascarável- 64 bits +
Capacidades: [78] Express Legacy Endpoint, MSI 00
Capacidades: [100] Canal Virtual
Capacidades: [250] Relatório de tolerância à latência
Capacidades: [128] Orçamento de energia <?>
Capacidades: [420] Relatório de erros avançado
Capacidades: [600] Informações específicas do fornecedor: ID = 0001 Rev = 1 Len = 024 <?>
Capacidades: [900] PCI Express Secundário <?>
Driver de kernel em uso: nouveau
Módulos de kernel: nouveau

Deu-nos imediatamente muita informação boa!

A placa é uma NVIDIA Corporation GP108 [GeForce GT 1030] e, depois de alguns segundos com um mecanismo de busca, encontramos a página de tecnologia da NVIDIA para esse dispositivo . O texto “[controlador VGA]” no final da primeira linha indica que esta é a placa de vídeo “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 lshw comando para listar o hardware instalado em um computador Linux. Ele também relata uma variedade de tipos – não apenas hardware PCI.

Para instruí-lo a relatar sobre as placas gráficas que encontrar, usaremos a -Copção (classe) e passaremos o modificador “display”. A -numericopção força  lshwa fornecer os IDs numéricos dos dispositivos, bem como seus nomes.

Digite o seguinte:

sudo lshw -numeric -C display

O comando "sudo lshw -numeric -C display" em uma janela de terminal.

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

 *-exibição 
   descrição: controlador compatível com VGA
   produto: GP108 [GeForce GT 1030] [10DE: 1D01]
   fornecedor: NVIDIA Corporation [10DE]
   id físico: 0
   informações de ônibus: pci @ 0000: 26: 00.0
   versão: a1
   largura: 64 bits
   clock: 33 MHz
   capacidades: pm msi pciexpress vga_controller bus_master cap_list rom
   configuração: driver = nouveau latency = 0
   recursos: irq: 97 memória: f6000000-f6ffffff memória: e0000000-efffffff memória: f0000000-f1ffffff ioport: e000 (tamanho = 128) memória: c0000-dffff

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

Recomendado:  Vale a pena comprar lentes de câmeras de terceiros?

Os identificadores [10DE: 1D01] 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 glxinfocomando é outro método que você pode usar. Ele fornece informações da 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 glxinfocomando 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 comando "sudo apt-get install mesa-utils" em uma janela de terminal.

Para canalizar a saída do glxinfomeio less, e usar a -B opção (IDs de impressão), digite o seguinte:

glxinfo -B | Menos

O comando "glxinfo -B | less" em uma janela de terminal.

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

A linha Device destacada na saída de "glxinfo -B | less" em uma janela de terminal.

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

nome do display:: 1
exibição:: 1 tela: 0
renderização direta: Sim
Informações estendidas do renderizador (GLX_MESA_query_renderer):
Fornecedor: nouveau (0x10de)
Dispositivo: NV138 (0x1d01)
Versão: 19.3.2
Acelerado: sim
Memória de vídeo: 1987 MB
Memória unificada: não
Perfil preferido: núcleo (0x1)
Versão máxima do perfil do núcleo: 4.3
Versão máxima do perfil compat: 4.3
Versão máxima do perfil GLES1: 1.1
Versão do perfil Max GLES [23]: 3.2
String do fornecedor OpenGL: nouveau
Sequência de renderizador OpenGL: NV138
Sequência de versão do perfil do núcleo OpenGL: 4.3 (Perfil do núcleo) Mesa 19.3.2
String da versão da linguagem de sombreamento do perfil principal OpenGL: 4.30
Sinalizadores de contexto do perfil principal do OpenGL: (nenhum)
Máscara de perfil de perfil de núcleo OpenGL: perfil de núcleo

String da versão OpenGL: 4.3 (Perfil de Compatibilidade) Mesa 19.3.2
String da versão do idioma de sombreamento OpenGL: 4.30
Sinalizadores de contexto OpenGL: (nenhum)
Máscara de perfil OpenGL: perfil de compatibilidade

Sequência de versão do perfil OpenGL ES: OpenGL ES 3.2 Mesa 19.3.2
String da versão do idioma de sombreamento do perfil OpenGL ES: OpenGL ES GLSL ES 3.20

Quando você digita “NV138” em um mecanismo de busca, a placa gráfica NVIDIA é identificada imediatamente.

Usando a GUI para identificar a placa gráfica

Se o computador for um servidor somente CLI, você deve usar uma das técnicas que abordamos acima. Se ele tiver uma GUI (funcional), no entanto, provavelmente há 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.

Em uma área de trabalho 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.

Recomendado:  Você não precisa de um SSD PCIe 5.0: aqui está o porquê

A guia Configurações do GNOME "Sobre" em uma máquina virtual Ubuntu.

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.

A guia "Sobre" das Configurações do GNOME para um host físico.

Placas Gráficas em Laptops

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

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

sudo lspci -v | Menos

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

00: 02.0 Controlador compatível com VGA: Controlador gráfico do processador Intel Corporation 3ª Geração (rev 09) (prog-if 00 [controlador VGA])
Subsistema: Controlador gráfico do processador ASUSTeK Computer Inc. 3ª geração
Sinalizadores: bus master, fast devsel, latência 0, IRQ 33
Memória em f7400000 (64 bits, não pré-buscável) [size = 4M]
Memória em d0000000 (64 bits, prefetchable) [size = 256M]
Portas de E / S em f000 [size = 64]
[virtual] Expansão ROM em 000c0000 [desativado] [size = 128K]
Capacidades: [90] MSI: Habilitar + Contagem = 1/1 Mascarável- 64 bits-
Capacidades: [d0] Gerenciamento de energia versão 2
Capacidades: [a4] Recursos avançados de PCI
Driver de kernel em uso: i915
Módulos do kernel: i915

01: 00.0 Controlador compatível com VGA: NVIDIA Corporation GF119M [GeForce 610M] (rev a1) (prog-if 00 [controlador VGA])
Subsistema: ASUSTeK Computer Inc. GF119M [GeForce 610M]
Sinalizadores: bus master, fast devsel, latência 0, IRQ 34
Memória em f6000000 (32 bits, não pré-buscável) [size = 16M]
Memória em e0000000 (64 bits, prefetchable) [size = 128M]
Memória em e8000000 (64 bits, pré-buscável) [tamanho = 32M]
Portas de E / S em e000 [tamanho = 128]
Expansão ROM em f7000000 [desativado] [tamanho = 512K]
Capacidades: [60] Gerenciamento de energia versão 3
Capacidades: [68] MSI: Ativar + Contagem = 1/1 Mascarável- 64 bits +
Capacidades: [78] Express Endpoint, MSI 00
Capacidades: [b4] Informações específicas do fornecedor: Len = 14 <?>
Capacidades: [100] Canal Virtual
Capacidades: [128] Orçamento de energia <?>
Capacidades: [600] Informações específicas do fornecedor: ID = 0001 Rev = 1 Len = 024 <?>
Driver de kernel em uso: nouveau
Módulos de kernel: nouveau

Este laptop possui uma GPU Intel Core e uma NVIDIA GeForce 610M. No entanto, ambas as placas têm a string “[controlador VGA]”, 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.