Come verificare quale GPU è installata su Linux

Un laptop Linux con una finestra terminale aperta.
Fatmawati Achmad Zaenuri / Shutterstock

Devi identificare l'unità di elaborazione grafica (GPU) in un computer Linux? Ecco come è possibile identificare la scheda grafica dalla riga di comando e in GNOME.

Il primo passo

Probabilmente ci sei stato. Sei stato redatto per fornire supporto a un parente non tecnico o a un collega di lavoro, e qualcosa ti dice che non sarà indolore. Comunque, ti presenti! Si determina rapidamente che il problema è probabilmente un problema del driver di visualizzazione. Ehi, questo potrebbe non essere poi così male! Ma poi il tuo sfarfallio di speranza di breve durata viene interrotto quando chiedi: “Che tipo di scheda grafica hai?”

L'espressione dei cervi nei fari che ricevi in ​​risposta parla di volumi. 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! È possibile risolvere questo enigma dalla riga di comando o tramite l'interfaccia utente grafica (GUI).

lspci e il database ID PCI

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

Puoi usare il lspci comando per elencare i dispositivi PCI installati su un computer Linux, nonché alcune informazioni su di essi.

Non sarebbe bello se potessimo legare il database PCI e il lspci comandare insieme? Bene, in realtà, è esattamente quello che succede quando si esegue il lspci comando. 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.

Digitare il update-pciids comando per fare proprio questo:

sudo update-pciids

Il comando "sudo update-pciids" in una finestra terminale.

L'ultima versione del database è stata recuperata per noi e ora possiamo utilizzare lspci comando. Ci sarà un sacco di output, quindi lo inseriremo less. Il -v (verbose) opzione dice lscpi per darci quante più informazioni possibile. Useremo sudo per garantire che le informazioni siano il più dettagliate possibile.

Digitiamo il nostro comando come segue:

sudo lspci -v | less

Il comando "sudo lspci -v | less" in una finestra terminale.

I risultati appaiono in less. Se premi la barra (/), si attiva il less funzione di ricerca.

Digita “VGA” in maiuscolo e premi Invio.

Digitare "VGA" in maiuscolo nella finestra del terminale.

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

Risultati della ricerca per "VGA" nell'output di lspci dal comando "less" in una finestra di terminale.

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

Quindi puoi vedere un esempio di risultati del 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 dato subito molte buone informazioni!

La scheda è una NVIDIA Corporation GP108 (GeForce GT 1030) e, dopo alcuni secondi con un motore di ricerca, abbiamo trovato la pagina tecnica NVIDIA per quel dispositivo. Il testo “(controller VGA)” alla fine della prima riga indica che questa è la scheda grafica “operativa”. Queste sono informazioni utili quando più di una scheda è installata su un computer.

Il comando lshw

Puoi anche usare il lshw comando per elencare l'hardware installato su un computer Linux. Segnala anche una varietà di tipi, non solo hardware PCI.

Per dirgli di riferire sulle schede grafiche che trova, useremo il -C (classe) e passa il modificatore “display”. Il -numeric forze opzionali lshw per fornire gli ID numerici dei dispositivi, nonché i loro nomi.

Digita quanto segue:

sudo lshw -numeric -C display

Il comando "sudo lshw -numeric -C display" in una finestra di terminale.

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!

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

Il comando glxinfo

Il glxinfo Il comando è ancora un altro metodo che puoi usare. Ti fornisce informazioni dall'estensione OpenGL per il sistema X Windows. È quindi possibile cercare alcune di tali informazioni per scoprire quale tipo di scheda grafica è installata su una macchina.

Il glxinfo il comando è già presente su Manjaro e Fedora, ma è necessario installarlo su Ubuntu. Per fare ciò, digitare il seguente comando:

sudo apt-get install mesa-utils

Il comando "sudo apt-get install mesa-utils" in una finestra del terminale.

Per convogliare l'output da glxinfo attraverso lesse utilizzare il -B (ID stampa), digitare quanto segue:

glxinfo -B | less

Il comando "glxinfo -B | less" in una finestra del terminale.

La scheda grafica è descritta nella riga “Dispositivo”.

La riga Device evidenziata nell'output di "glxinfo -B | less" in una finestra terminale.

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 si digita “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, è necessario utilizzare una delle tecniche descritte in precedenza. Se ha una GUI (funzionante), tuttavia, esiste probabilmente un modo grafico per identificare la scheda grafica. In effetti, questa opzione è probabilmente da qualche parte negli strumenti di 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 è presente nel computer o, più specificamente, la scheda grafica attualmente in uso. La tua macchina potrebbe avere più di una GPU.

La scheda "Informazioni" di GNOME su una macchina virtuale Ubuntu.

Nella scheda “Informazioni” delle impostazioni di GNOME da un host fisico, otteniamo lo stesso ID carta “NV138” che abbiamo visto in precedenza. Ancora una volta, possiamo collegare tali informazioni in un motore di ricerca per trovare il tipo di carta.

La scheda "Informazioni" delle impostazioni di GNOME per un host fisico.

Schede grafiche su computer portatili

Molti laptop hanno due schede grafiche: una del produttore dell'unità di elaborazione centrale (CPU) e una di un fornitore di GPU mainstream.

Digitiamo lo stesso lspci comando da 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 una GPU Intel Core che una NVIDIA GeForce 610M. Tuttavia, entrambe le schede hanno la stringa “(controller VGA)”, che di solito indica quale GPU è in uso.

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

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

Articoli correlati

Ultimi articoli