
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

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

De resultaten verschijnen in less. Als u op de schuine streep (/), activeer je de less zoekfunctie.
Typ “VGA” in hoofdletters en druk op Enter.

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.

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

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

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

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

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.

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.

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.