Hoe u kunt controleren welke GPU op Linux is geïnstalleerd

Een Linux-laptop met een geopend terminalvenster.
Fatmawati Achmad Zaenuri / Shutterstock

Moet u de grafische verwerkingseenheid (GPU) op een Linux-computer identificeren? Hier leest u hoe u de grafische kaart kunt identificeren vanaf de opdrachtregel en in GNOME.

De eerste stap

U bent er waarschijnlijk geweest. U bent opgesteld om ondersteuning te bieden aan een niet-technisch familielid of collega, en iets zegt u dat dit niet pijnloos zal zijn. Toch werp je mee! U stelt snel vast dat het probleem waarschijnlijk een probleem met het beeldschermstuurprogramma is. Hé, dit is misschien toch niet zo erg! Maar dan wordt je kortstondige sprankje hoop onderdrukt als je vraagt: “Wat voor grafische kaart heb je?”

De uitdrukking van een hert in de koplampen die u als reactie ontvangt, spreekt boekdelen. Om iets te ondersteunen, moet u weten wat het is. Dus hoe identificeer je de grafische kaart op een Linux-computer?

Laten we uitgaan van het worstcasescenario en zeggen dat de stuurprogramma’s voor de grafische kaart nooit zijn geïnstalleerd, dus je kunt die niet eens bekijken om een ​​idee te krijgen. Het maakt niet uit! U kunt dit raadsel oplossen vanaf de opdrachtregel of via de grafische gebruikersinterface (GUI).

lspci en de PCI ID-database

De Peripheral Component Interconnect (PCI) -standaard is een algemeen protocol dat u kunt gebruiken om te communiceren met interne randapparatuur, zoals grafische kaarten. De PCI ID Repository houdt een database bij met alle bekende ID’s voor PCI-apparaten. Dit betekent dat als u wat informatie over het apparaat weet, u deze kunt opzoeken.

U kunt de lspci opdracht om de PCI-apparaten weer te geven die op een Linux-computer zijn geïnstalleerd, evenals wat informatie erover.

Zou het niet geweldig zijn als we de PCI-database en de lspci samen bevelen? Nou, eigenlijk is dat precies wat er gebeurt als u het lspci opdracht. Het controleert een lokale kopie van de PCI-database om de gedetecteerde PCI-apparaten te identificeren. Voordat we beginnen, is het verstandig om de lokale kopie van de PCI-database bij te werken.

Typ de update-pciids commando om precies dat te doen:

sudo update-pciids

Het "sudo update-pciids" -commando in een terminalvenster.

De laatste databaseversie wordt voor ons opgehaald en we kunnen nu de lspci opdracht. Er zal veel output zijn, dus we zullen het doorpompen less. De -v (uitgebreide) optie vertelt lscpi om ons zoveel mogelijk informatie te geven. We zullen gebruiken sudo om ervoor te zorgen dat de informatie zo gedetailleerd mogelijk is.

We typen ons commando als volgt:

sudo lspci -v | less

Het "sudo lspci -v | less" commando in een terminalvenster.

De resultaten verschijnen in less. Als u op de schuine streep (/), activeer je de less zoekfunctie.

Typ “VGA” in hoofdletters en druk op Enter.

Typ "VGA" in hoofdletters in het terminalvenster.

less zoekt naar de tekenreeks “VGA” en toont u de eerste gevonden overeenkomsten. Vanaf dat punt kunt u naar voren scrollen of bladeren om te zien hoeveel grafische kaarten lspci gevonden.

Zoekresultaten voor "VGA" in de lspci-uitvoer van de "less" -opdracht in een terminalvenster.

Voor dit artikel hebben we ons onderzoek uitgevoerd naar een verscheidenheid aan Linux-distributies die worden uitgevoerd op virtuele VirtualBox-machines. Virtuele machines hebben natuurlijk virtuele grafische kaarten.

U kunt dus een voorbeeld van real-world resultaten zien, hier is de uitvoer van de host (fysieke) computer:

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

Het gaf ons meteen veel goede informatie!

De kaart is een NVIDIA Corporation GP108 [GeForce GT 1030], en na een paar seconden met een zoekmachine vonden we de NVIDIA-technische pagina voor dat apparaat. De “[VGA controller]”Tekst aan het einde van de eerste regel geeft aan dat dit de” operationele “grafische kaart is. Dat is nuttige informatie wanneer er meer dan één kaart op een computer is geïnstalleerd.

Het lshw-commando

U kunt ook de lshw opdracht om de hardware weer te geven die op een Linux-computer is geïnstalleerd. Het rapporteert ook een verscheidenheid aan typen, niet alleen PCI-hardware.

Om het te vertellen over de videokaarten die het vindt, gebruiken we de -C (class) optie en geef de “display” -modifier door. De -numeric optie krachten lshw om de numerieke ID’s van de apparaten te verstrekken, evenals hun namen.

Typ het volgende:

sudo lshw -numeric -C display

Het "sudo lshw -numeric -C display" -commando in een terminalvenster.

Dit is wat die opdracht op de fysieke computer heeft gevonden:

 *-display 
   description: VGA compatible controller
   product: GP108 [GeForce GT 1030] [10DE:1D01]
   vendor: NVIDIA Corporation [10DE]
   physical id: 0
   bus info: pci@0000: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

Bemoedigend vonden ze allebei dezelfde kaart!

De [10DE:1D01] identifiers vertegenwoordigen de fabrikant (10DE) en het model (1D01). Om het merk en model onmiddellijk te vinden, kunt u “grafische kaart 10de: 1d01” in een zoekmachine typen.

Het glxinfo-commando

De glxinfo commando is nog een andere methode die u kunt gebruiken. Het geeft u informatie van de OpenGL-extensie voor het X Windows-systeem. U kunt vervolgens een deel van die informatie doorzoeken om erachter te komen wat voor soort grafische kaart op een machine is geïnstalleerd.

De glxinfo commando is al aanwezig op Manjaro en Fedora, maar je moet het op Ubuntu installeren. Typ hiervoor de volgende opdracht:

sudo apt-get install mesa-utils

Het "sudo apt-get install mesa-utils" commando in een terminalvenster.

Om de output van glxinfo door lessen gebruik de -B (print ID’s) optie, typ het volgende:

glxinfo -B | less

Het "glxinfo -B | less" commando in een terminalvenster.

De grafische kaart wordt beschreven in de regel “Apparaat”.

De Device-regel gemarkeerd in de uitvoer van de "glxinfo -B | less" in een terminalvenster.

Dit is de uitvoer van de fysieke computer:

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

Wanneer u “NV138” in een zoekmachine typt, wordt de NVIDIA grafische kaart onmiddellijk geïdentificeerd.

De GUI gebruiken om de grafische kaart te identificeren

Als de computer een CLI-server is, moet u een van de technieken gebruiken die we hierboven hebben behandeld. Als het echter een (werkende) GUI heeft, is er waarschijnlijk een grafische manier om de grafische kaart te identificeren. In feite bevindt die optie zich waarschijnlijk ergens in uw Linux-desktopinstellingen.

Open op een GNOME-bureaublad het dialoogvenster “Instellingen” en klik vervolgens op “Details” in de zijbalk. Zoek in het “Over” -paneel naar een “Grafisch” -item. Dit vertelt u wat voor soort grafische kaart er in de computer zit, of, meer specifiek, de grafische kaart die momenteel in gebruik is. Uw machine heeft mogelijk meer dan één GPU.

Het tabblad GNOME-instellingen "Over" op een virtuele Ubuntu-machine.

Op het tabblad “Over” van GNOME-instellingen van een fysieke host krijgen we dezelfde “NV138” -kaart-ID die we eerder zagen. Nogmaals, we kunnen die informatie in een zoekmachine stoppen om het kaarttype te vinden.

Het tabblad GNOME-instellingen "Over" voor een fysieke host.

Grafische kaarten op laptops

Veel laptops hebben twee grafische kaarten: een van de fabrikant van de centrale verwerkingseenheid (CPU) en een van een reguliere GPU-provider.

Laten we hetzelfde typen lspci commando van eerder, maar deze keer draaien we het op een laptop:

sudo lspci -v | less

Zoals verwacht krijgen we een beschrijving van de grafische kaarten in de machine:

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

Deze laptop heeft zowel een Intel Core GPU als een NVIDIA GeForce 610M. Beide kaarten hebben echter de “[VGA controller]”Tekenreeks, die meestal aangeeft welke GPU in gebruik is.

Ze kunnen niet allebei in gebruik zijn, dus probeer eerst de kaart van de reguliere GPU-provider te laten werken. Dat is degene die de laptopfabrikant als de standaard beschouwt en in de hardwarespecificaties voor de machine opneemt.

Een van de technieken die we hier hebben behandeld, werkt zeker voor jou! Nadat u weet welk type grafische kaart een computer of laptop heeft, kunt u het juiste grafische stuurprogramma selecteren.

Nieuwste artikelen

Gerelateerde artikelen