Hur man kontrollerar vilken GPU som är installerad på Linux

Behöver du identifiera Graphics Processing Unit (GPU) i en Linux-dator? Så här kan du identifiera grafikkortet från kommandoraden och i GNOME.

Det första steget

Du har förmodligen varit där. Du är utarbetad för att ge stöd till en släkting som inte är tekniker eller arbetskollega, och något säger dig att det här inte kommer att gå smärtfritt. Ändå ställer du upp! Du avgör snabbt att problemet sannolikt är ett problem med bildskärmsdrivrutinen. Hej, det här kanske inte är så illa trots allt! Men sedan dämpas ditt kortlivade hopp av hopp när du frågar: ”Vad har du för grafikkort?”

Deer-in-headlights-uttrycket du får som svar talar sitt tydliga språk. För att stödja något måste du veta vad det är. Så hur identifierar du grafikkortet i en Linux-dator?

Låt oss anta det värsta scenariot och säga att drivrutinerna för grafikkortet aldrig installerades, så du kan inte ens titta på dem för att få en aning. Det spelar ingen roll! Du kan lösa denna gåta antingen från kommandoraden eller genom grafiskt användargränssnitt (GUI).

lspci och PCI ID-databasen

De Peripheral Component Interconnect (PCI)-standard är ett vanligt protokoll som du kan använda för att prata med intern kringutrustning, som grafikkort. De PCI ID-förråd upprätthåller en databas med alla kända ID:n för PCI-enheter. Det betyder att om du känner till information om enheten kan du slå upp den.

Du kan använda kommandot lspci för att lista PCI-enheter installerade på en Linux-datorsamt lite information om dem.

Skulle det inte vara bra om vi kunde knyta ihop PCI-databasen och lspci-kommandot? Tja, faktiskt, det är precis vad som händer när du kör kommandot lspci. Den kontrollerar en lokal kopia av PCI-databasen för att identifiera PCI-enheterna som den upptäcker. Innan vi börjar är det klokt att uppdatera den lokala kopian av PCI-databasen.

Skriv kommandot update-pciids att göra just det:

sudo update-pciids

De

Den senaste databasversionen hämtas åt oss och vi kan nu använda kommandot lspci. Det kommer att bli mycket produktion, så vi lägger till mindre. Alternativet -v (verbose) säger åt lscpi att ge oss så mycket information som möjligt. Vi kommer att använda sudo för att säkerställa att informationen är så detaljerad som möjligt.

Vi skriver vårt kommando enligt följande:

sudo lspci -v | less

De

Resultaten visas i mindre. Om du trycker på snedstrecket framåt (/) aktiverar du sökfunktionen för mindre.

Skriv ”VGA” med versaler och tryck på Enter.

Typ

färre sökningar efter strängen ”VGA” och den visar de första matchningarna den hittar. Från den punkten kan du bläddra eller bläddra framåt för att se hur många grafikkort lspci hittade.

Sökresultat för

För den här artikeln genomförde vi vår forskning om en mängd olika Linux-distributioner som körs i VirtualBox virtuella maskiner. Virtuella maskiner har naturligtvis virtuella grafikkort.

Så du kan se ett exempel på verkliga resultat, här är utdata från värddatorn (fysisk):

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

Det gav oss mycket bra information direkt!

Kortet är en NVIDIA Corporation GP108 [GeForce GT 1030]och efter några sekunder med en sökmotor hittade vi NVIDIA-tekniksidan för den enheten. den ”[VGA controller]” text i slutet av den första raden indikerar att detta är det “operativa” grafikkortet. Det är användbar information när mer än ett kort är installerat på en dator.

Kommandot lshw

Du kan också använda kommandot lshw för att lista hårdvaran som är installerad på en Linux-dator. Den rapporterar också en mängd olika typer – inte bara PCI-hårdvara.

För att berätta för den att rapportera om grafikkorten den hittar, använder vi alternativet -C (klass) och skickar ”display”-modifieraren. Alternativet -numeric tvingar lshw att tillhandahålla enheternas numeriska ID, såväl som deras namn.

Skriv följande:

sudo lshw -numeric -C display

De

Här är vad kommandot hittade på den fysiska datorn:

 *-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

Uppmuntrande nog hittade båda samma kort!

De [10DE:1D01] identifierare representerar tillverkaren (10DE) och modellen (1D01). För att hitta märket och modellen omedelbart kan du skriva ”grafikkort 10de:1d01” i en sökmotor.

Kommandot glxinfo

Glxinfo-kommandot är ännu en metod du kan använda. Den ger dig information från OpenGL-tillägg för X Windows-systemet. Du kan sedan söka i en del av den informationen för att ta reda på vilken typ av grafikkort som är installerat på en maskin.

Glxinfo-kommandot finns redan på Manjaro och Fedora, men du måste installera det på Ubuntu. För att göra det, skriv följande kommando:

sudo apt-get install mesa-utils

De

För att leda utdata från glxinfo genom less, och använda alternativet -B (utskrifts-ID), skriv följande:

glxinfo -B | less

De

Grafikkortet beskrivs i raden ”Device”.

Enhetsraden markerad i utgången från

Detta är utdata från den fysiska datorn:

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

När du skriver ”NV138” i en sökmotor identifieras NVIDIA-grafikkortet omedelbart.

Använda GUI för att identifiera grafikkortet

Om datorn är en CLI-server måste du använda någon av teknikerna som vi täckte ovan. Om den har ett (fungerande) GUI, men det finns troligen ett grafiskt sätt att identifiera grafikkortet. Faktum är att det alternativet förmodligen finns någonstans i dina Linux-skrivbordsinställningar.

På ett GNOME-skrivbord öppnar du dialogrutan ”Inställningar” och klickar sedan på ”Detaljer” i sidofältet. Leta efter en ”Grafik”-post i panelen ”Om”. Detta talar om för dig vilken typ av grafikkort som finns i datorn, eller, mer specifikt, grafikkortet som används för närvarande. Din maskin kan ha mer än en GPU.

GNOME-inställningarna

I GNOME-inställningarna ”Om”-fliken från en fysisk värd får vi samma ”NV138”-kort-ID som vi såg tidigare. Återigen, vi kan koppla in den informationen i en sökmotor för att hitta korttypen.

GNOME-inställningarna

Grafikkort på bärbara datorer

Många bärbara datorer har två grafikkort: ett från tillverkaren av centrala behandlingsenheten (CPU) och en från en vanlig GPU-leverantör.

Låt oss skriva samma lspci-kommando från tidigare, men den här gången kör vi det på en bärbar dator:

sudo lspci -v | less

Som väntat får vi en beskrivning av grafikkorten i maskinen:

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

Den här bärbara datorn har både en Intel Core GPU och en NVIDIA GeForce 610M. Men båda korten har ”[VGA controller]” sträng, som vanligtvis indikerar vilken GPU som används.

De kan inte båda användas, så försök att få kortet från den vanliga GPU-leverantören att fungera först. Det är den som bärbara datortillverkaren anser vara standard och inkluderar i maskinvaruspecifikationerna.

En av teknikerna vi har täckt här kommer säkerligen att fungera för dig! När du vet vilken typ av grafikkort en dator eller bärbar dator har kan du välja lämplig grafikdrivrutin.