Hvordan sjekke hvilken GPU som er installert på Linux

Trenger du å identifisere Graphics Processing Unit (GPU) i en Linux-datamaskin? Her er hvordan du kan identifisere grafikkortet fra kommandolinjen og i GNOME.

Det første steget

Du har sikkert vært der. Du er utarbeidet for å gi støtte til en ikke-teknologisk slektning eller arbeidskollega, og noe sier deg at dette ikke kommer til å gå smertefritt. Likevel, du slår inn! Du finner raskt ut at problemet sannsynligvis er et skjermdriverproblem. Hei, dette er kanskje ikke så ille likevel! Men så forsvinner det kortvarige flimmeret av håp når du spør: «Hva slags grafikkort har du?»

Hjort-i-frontlys-uttrykket du får som svar sier sitt. For å støtte noe, må du vite hva det er. Så hvordan identifiserer du grafikkortet på en Linux-datamaskin?

La oss anta det verste tilfellet og si at driverne for grafikkortet aldri ble installert, så du kan ikke engang se på dem for å få en anelse. Det spiller ingen rolle! Du kan løse denne gåten enten fra kommandolinjen eller gjennom grafisk brukergrensesnitt (GUI).

lspci og PCI ID-databasen

De Perifer komponent interconnect (PCI)-standarden er en vanlig protokoll du kan bruke for å snakke med internt periferiutstyr, for eksempel grafikkort. De PCI ID-lager opprettholder en database med alle kjente ID-er for PCI-enheter. Dette betyr at hvis du vet noe informasjon om enheten, kan du slå den opp.

Du kan bruke lspci-kommandoen for å liste opp PCI-enheter installert på en Linux-datamaskinsamt litt informasjon om dem.

Ville det ikke vært flott om vi kunne knytte PCI-databasen og lspci-kommandoen sammen? Vel, faktisk, det er akkurat det som skjer når du kjører lspci-kommandoen. Den sjekker en lokal kopi av PCI-databasen for å identifisere PCI-enhetene den oppdager. Før vi starter, er det lurt å oppdatere den lokale kopien av PCI-databasen.

Skriv inn kommandoen update-pciids å gjøre nettopp det:

sudo update-pciids

De

Den siste databaseversjonen er hentet for oss, og vi kan nå bruke kommandoen lspci. Det blir mye produksjon, så vi vil bruke mindre. Alternativet -v (verbose) forteller lscpi å gi oss så mye informasjon som mulig. Vi bruker sudo for å sikre at informasjonen er så detaljert som mulig.

  Hva er en TTY på Linux? (og hvordan du bruker tty-kommandoen)

Vi skriver kommandoen vår som følger:

sudo lspci -v | less

De

Resultatene vises i mindre. Hvis du trykker på skråstreken fremover (/), aktiverer du mindre søkefunksjonen.

Skriv «VGA» med store bokstaver og trykk Enter.

Type

færre søk etter strengen «VGA», og den viser deg de første treffene den finner. Fra det tidspunktet kan du bla eller side fremover for å se hvor mange grafikkort lspci fant.

Søkeresultater for

For denne artikkelen utførte vi vår forskning på en rekke Linux-distribusjoner som kjører inn VirtualBox virtuelle maskiner. Virtuelle maskiner har selvfølgelig virtuelle grafikkort.

Så du kan se et eksempel på resultater fra den virkelige verden, her er utdataene fra vertsdatamaskinen (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 ga oss mye god informasjon med en gang!

Kortet er en NVIDIA Corporation GP108 [GeForce GT 1030]og etter noen sekunder med en søkemotor fant vi NVIDIA-teknologisiden for den enheten. «[VGA controller]»-tekst på slutten av den første linjen indikerer at dette er det «operative» grafikkortet. Det er nyttig informasjon når mer enn ett kort er installert på en datamaskin.

lshw-kommandoen

Du kan også bruke lshw-kommandoen til å liste opp maskinvaren som er installert på en Linux-datamaskin. Den rapporterer også en rekke typer – ikke bare PCI-maskinvare.

For å fortelle den om å rapportere om grafikkortene den finner, bruker vi alternativet -C (klasse) og passerer «display»-modifikatoren. Alternativet -numeric tvinger lshw til å oppgi de numeriske ID-ene til enhetene, så vel som deres navn.

Skriv inn følgende:

sudo lshw -numeric -C display

De

Her er hva kommandoen fant på den fysiske datamaskinen:

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

Oppmuntrende nok fant begge det samme kortet!

  Slik sikkerhetskopierer du Linux-systemet

De [10DE:1D01] identifikatorer representerer produsenten (10DE) og modellen (1D01). For å finne merke og modell umiddelbart, kan du skrive «grafikkkort 10de:1d01» i en søkemotor.

Glxinfo-kommandoen

Glxinfo-kommandoen er enda en metode du kan bruke. Den gir deg informasjon fra OpenGL-utvidelse for X Windows-systemet. Du kan deretter søke i noe av denne informasjonen for å finne ut hva slags grafikkort som er installert på en maskin.

Glxinfo-kommandoen er allerede til stede på Manjaro og Fedora, men du må installere den på Ubuntu. For å gjøre det, skriv inn følgende kommando:

sudo apt-get install mesa-utils

De

For å sende utdata fra glxinfo gjennom mindre, og bruk alternativet -B (utskrifts-IDer), skriv inn følgende:

glxinfo -B | less

De

Grafikkortet er beskrevet i «Device»-linjen.

Enhetslinjen uthevet i utgangen fra

Dette er utdata fra den fysiske datamaskinen:

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økemotor, identifiseres NVIDIA-grafikkortet umiddelbart.

Bruke GUI for å identifisere grafikkortet

Hvis datamaskinen er en CLI-server, må du bruke en av teknikkene vi dekket ovenfor. Hvis den har en (fungerende) GUI, er det sannsynligvis en grafisk måte du kan identifisere grafikkortet på. Faktisk er det alternativet sannsynligvis et sted i Linux-skrivebordsinnstillingsverktøyene dine.

På et GNOME-skrivebord åpner du dialogboksen «Innstillinger», og klikker deretter på «Detaljer» i sidefeltet. Se etter en «Graphics»-oppføring i «Om»-panelet. Dette forteller deg hva slags grafikkort som er i datamaskinen, eller mer spesifikt grafikkortet som er i bruk. Maskinen din kan ha mer enn én GPU.

  Hvordan bruke den tekstbaserte W3M-nettleseren på Linux

GNOME-innstillingene

I GNOME-innstillinger «Om»-fanen fra en fysisk vert får vi den samme «NV138»-kort-IDen som vi så tidligere. Igjen, vi kan koble den informasjonen til en søkemotor for å finne korttypen.

GNOME-innstillingene

Grafikkort på bærbare datamaskiner

Mange bærbare datamaskiner har to grafikkort: ett fra produsenten av sentralenhet (CPU), og en fra en vanlig GPU-leverandør.

La oss skrive den samme lspci-kommandoen fra tidligere, men denne gangen kjører vi den på en bærbar datamaskin:

sudo lspci -v | less

Som forventet får vi en beskrivelse av grafikkortene 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

Denne bærbare datamaskinen har både en Intel Core GPU og en NVIDIA GeForce 610M. Imidlertid har begge kortene «[VGA controller]”-streng, som vanligvis indikerer hvilken GPU som er i bruk.

De kan ikke begge være i bruk, så prøv å få kortet fra den vanlige GPU-leverandøren til å fungere først. Det er den bærbare produsenten anser som standard og inkluderer i maskinvarespesifikasjonene for maskinen.

En av teknikkene vi har dekket her vil garantert fungere for deg! Etter at du vet hvilken type grafikkort en datamaskin eller bærbar datamaskin har, kan du velge riktig grafikkdriver.