Come verificare quale GPU è installata su Linux

Hai bisogno di identificare la GPU (Graphics Processing Unit) in un computer Linux? Ecco come identificare la scheda grafica dalla riga di comando e in GNOME.

Il primo passo

Probabilmente ci sei stato. Sei chiamato a fornire supporto a un parente non tecnico o a un collega di lavoro, e qualcosa ti dice che non sarà indolore. Tuttavia, partecipa! È possibile determinare rapidamente che il problema è probabilmente un problema del driver video. Ehi, potrebbe non essere così male, dopotutto! Ma poi il tuo barlume di speranza di breve durata si spegne quando chiedi: “Che tipo di scheda grafica hai?”

L’espressione da cervo nei fari che ricevi in ​​risposta la dice lunga. Per supportare qualcosa, devi sapere di cosa si tratta. Quindi come si identifica la scheda grafica in un computer Linux?

Supponiamo lo scenario peggiore e diciamo che i driver per la scheda grafica non sono mai stati installati, quindi non puoi nemmeno guardarli per avere un indizio. Non importa! Puoi risolvere questo enigma dalla riga di comando o tramite Interfaccia grafica utente (GUI).

lspci e il database ID PCI

Il Interconnessione dei componenti periferici Lo standard (PCI) è un protocollo comune che puoi utilizzare per comunicare con le periferiche interne, come le schede grafiche. Il Repository PCI ID mantiene un database di tutti gli ID noti per i dispositivi PCI. Ciò significa che se conosci alcune informazioni sul dispositivo, puoi cercarle.

È possibile utilizzare il comando lspci per elencare i file Dispositivi PCI installati su un computer Linux, così come alcune informazioni su di loro.

Non sarebbe fantastico se potessimo collegare insieme il database PCI e il comando lspci? Bene, in realtà, è esattamente quello che succede quando esegui il comando lspci. Controlla una copia locale del database PCI per identificare i dispositivi PCI che rileva. Prima di iniziare, è consigliabile aggiornare la copia locale del database PCI.

Digita il comando update-pciids per fare proprio questo:

sudo update-pciids

Il

L’ultima versione del database viene recuperata per noi e ora possiamo utilizzare il comando lspci. Ci sarà molto output, quindi lo inseriremo in meno. L’opzione -v (verbose) dice a lscpi di fornirci quante più informazioni possibile. Useremo sudo per assicurarci che le informazioni siano il più dettagliate possibile.

Digitiamo il nostro comando come segue:

sudo lspci -v | less

Il

I risultati appaiono in meno. Se si preme la barra (/), si attiva la funzione di ricerca inferiore.

Digita “VGA” in maiuscolo e premi Invio.

genere

less cerca la stringa “VGA” e mostra le prime corrispondenze che trova. Da quel punto, puoi scorrere o andare avanti per vedere quante schede grafiche lspci ha trovato.

cerca risultati per

Per questo articolo, abbiamo condotto la nostra ricerca su una varietà di distribuzioni Linux in esecuzione in VirtualBox macchine virtuali. Le macchine virtuali, ovviamente, hanno schede grafiche virtuali.

Quindi puoi vedere un esempio di risultati nel mondo reale, ecco l’output dal computer host (fisico):

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

Ci ha fornito subito molte buone informazioni!

La scheda è una NVIDIA Corporation GP108 [GeForce GT 1030]e, dopo pochi secondi con un motore di ricerca, abbiamo trovato il file Pagina tecnica NVIDIA per quel dispositivo. Il “[VGA controller]”Il testo alla fine della prima riga indica che si tratta della scheda grafica” operativa “. Sono informazioni utili quando più di una scheda è installata su un computer.

Il comando lshw

È inoltre possibile utilizzare il comando lshw per elencare l’hardware installato su un computer Linux. Riporta anche una varietà di tipi, non solo hardware PCI.

Per dirgli di riportare sulle schede grafiche che trova, useremo l’opzione -C (class) e passeremo il modificatore “display”. L’opzione -numeric forza lshw a fornire gli ID numerici dei dispositivi, così come i loro nomi.

Digita quanto segue:

sudo lshw -numeric -C display

Il

Ecco cosa ha trovato quel comando sul computer fisico:

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

Incoraggiante, entrambi hanno trovato la stessa carta!

Il [10DE:1D01] gli identificatori rappresentano il produttore (10DE) e il modello (1D01). Per trovare immediatamente marca e modello, è possibile digitare “scheda grafica 10de: 1d01” in un motore di ricerca.

Il comando glxinfo

Il comando glxinfo è ancora un altro metodo che puoi usare. Ti dà informazioni dal Estensione OpenGL per il sistema X Windows. È quindi possibile cercare alcune di queste informazioni per scoprire quale tipo di scheda grafica è installata su una macchina.

Il comando glxinfo è già presente su Manjaro e Fedora, ma devi installarlo su Ubuntu. Per farlo, digita il seguente comando:

sudo apt-get install mesa-utils

Il

Per reindirizzare l’output da glxinfo a less e utilizzare l’opzione -B (print IDs), digitare quanto segue:

glxinfo -B | less

Il

La scheda grafica è descritta nella riga “Dispositivo”.

La riga Device evidenziata nell'output di

Questo è l’output dal computer fisico:

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

Quando digiti “NV138” in un motore di ricerca, la scheda grafica NVIDIA viene identificata immediatamente.

Utilizzo della GUI per identificare la scheda grafica

Se il computer è un server solo CLI, devi utilizzare una delle tecniche trattate sopra. Se ha una GUI (funzionante), tuttavia, è probabile che sia possibile identificare la scheda grafica in modo grafico. In effetti, questa opzione è probabilmente da qualche parte negli strumenti delle impostazioni del desktop Linux.

Su un desktop GNOME, apri la finestra di dialogo “Impostazioni”, quindi fai clic su “Dettagli” nella barra laterale. Nel pannello “Informazioni”, cerca una voce “Grafica”. Questo ti dice che tipo di scheda grafica è nel computer o, più specificamente, la scheda grafica attualmente in uso. La tua macchina potrebbe avere più di una GPU.

Le impostazioni di GNOME

Nella scheda “Informazioni” delle impostazioni di GNOME da un host fisico, otteniamo lo stesso ID della scheda “NV138” che abbiamo visto in precedenza. Di nuovo, possiamo collegare queste informazioni a un motore di ricerca per trovare il tipo di carta.

Le impostazioni di GNOME

Schede grafiche su laptop

Molti laptop hanno due schede grafiche: una del produttore del Unità centrale di elaborazione (CPU) e uno da un provider di GPU mainstream.

Digita lo stesso comando lspci di prima, ma questa volta lo eseguiremo su un laptop:

sudo lspci -v | less

Come previsto, otteniamo una descrizione delle schede grafiche nella macchina:

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

Questo laptop ha sia un file GPU Intel Core e una NVIDIA GeForce 610M. Tuttavia, entrambe le carte hanno il “[VGA controller]”, Che di solito indica quale GPU è in uso.

Non possono essere entrambi in uso, quindi prova prima a far funzionare la scheda dal principale fornitore di GPU. Questo è quello che il produttore del laptop considera l’impostazione predefinita e include nelle specifiche hardware della macchina.

Una delle tecniche che abbiamo trattato qui funzionerà sicuramente per te! Dopo aver saputo del tipo di scheda grafica di un computer o laptop, è possibile selezionare il driver grafico appropriato.