Jak zkontrolovat, který GPU je nainstalován v systému Linux

Potřebujete identifikovat grafický procesor (GPU) ve vašem počítači s operačním systémem Linux? Tento článek vám ukáže, jak zjistit, jakou grafickou kartu máte, a to jak pomocí příkazové řádky, tak i v grafickém prostředí GNOME.

První kroky k identifikaci GPU

Možná jste se ocitli v situaci, kdy jste byli požádáni o pomoc s počítačem příbuzného nebo kolegy. Tušíte, že to nebude jednoduché, a vaše obavy se brzy potvrdí. Zdá se, že problém je s ovladačem grafické karty. Ale ještě není konec naději, když se zeptáte na typ grafické karty. Odpověď bývá často matoucí. Proto, abyste mohli někomu pomoci, musíte vědět, jaký hardware daný počítač má. Jak tedy zjistit, jakou grafickou kartu má počítač s Linuxem?

Představte si nejhorší situaci: ovladače pro grafickou kartu nejsou nainstalované, takže se na ně nemůžete podívat. Ale i tak to není problém. Grafickou kartu můžete identifikovat buď pomocí příkazové řádky, nebo pomocí grafického uživatelského rozhraní (GUI).

lspci a databáze PCI ID

Standard Peripheral Component Interconnect (PCI) je běžný protokol pro komunikaci s interními periferiemi, jako jsou grafické karty. Databáze PCI ID obsahuje ID všech známých PCI zařízení. Pokud znáte nějaké informace o zařízení, můžete si je v této databázi dohledat.

Příkaz lspci slouží k zobrazení seznamu PCI zařízení instalovaných v Linuxovém systému, včetně informací o nich.

Při spuštění příkazu lspci se automaticky provede kontrola místní kopie databáze PCI pro identifikaci zjištěných zařízení. Před použitím příkazu lspci je vhodné aktualizovat místní kopii databáze PCI.

Pro aktualizaci databáze použijte příkaz update-pciids:

sudo update-pciids

Po načtení nejnovější verze databáze můžeme použít příkaz lspci. Výstup bude obsáhlý, proto ho nasměrujeme do programu less pro pohodlnější prohlížení. Volba -v (verbose) zajistí zobrazení co nejvíce informací. Pro získání maximálního množství detailů použijeme příkaz sudo.

Příkaz pro zobrazení informací o grafické kartě vypadá takto:

sudo lspci -v | less

Výsledky se zobrazí v programu less. Pro aktivaci vyhledávání stiskněte lomítko (/).

Zadejte „VGA“ (velkými písmeny) a stiskněte Enter.

Program less vyhledá řetězec „VGA“ a zobrazí první nález. Můžete se posouvat dolů a zjistit, kolik grafických karet lspci našlo.

Pro účely tohoto článku byly provedeny testy na různých distribucích Linuxu spuštěných ve virtuálních strojích VirtualBox. Virtuální stroje mají samozřejmě virtuální grafické karty. Následuje výstup z hostitelského (fyzického) počítače:

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

Z výpisu je patrné, že se jedná o kartu NVIDIA Corporation GP108 [GeForce GT 1030]. Po krátkém hledání na internetu se podařilo najít technickou stránku NVIDIA pro toto zařízení. Text „[VGA controller]“ na konci prvního řádku označuje, že se jedná o aktivní grafickou kartu. To je důležité, pokud má počítač více grafických karet.

Příkaz lshw

Dalším nástrojem pro zjištění informací o hardwaru v počítači je příkaz lshw. Zobrazuje různé typy hardwaru, nejen PCI zařízení.

Chcete-li zobrazit pouze informace o grafických kartách, použijte volbu -C (class) s modifikátorem „display“. Volba -numeric zajistí zobrazení číselných ID zařízení spolu s jejich názvy.

Pro zobrazení informací o grafické kartě zadejte:

sudo lshw -numeric -C display

Zde je výstup z fyzického počítače:

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

Je potěšující, že oba příkazy našly stejnou kartu!

Identifikátory [10DE:1D01] představují výrobce (10DE) a model (1D01). Pro rychlé vyhledání výrobce a modelu zadejte „grafická karta 10de:1d01“ do vyhledávače.

Příkaz glxinfo

Příkaz glxinfo poskytuje informace o OpenGL Extension to the X Window System. Některé z těchto informací můžete použít k identifikaci grafické karty.

Příkaz glxinfo je již součástí Manjaro a Fedory, ale v Ubuntu je třeba ho nainstalovat. K tomu zadejte:

sudo apt-get install mesa-utils

Pro zobrazení výstupu glxinfo v less použijte následující příkaz s volbou -B (print ID):

glxinfo -B | less

Grafická karta je popsána v řádku „Device“.

Následuje výstup z fyzického počítače:

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

Po zadání „NV138“ do vyhledávače se okamžitě zjistí, že se jedná o grafickou kartu NVIDIA.

Identifikace grafické karty pomocí GUI

Pokud počítač slouží jako server pouze s rozhraním CLI, musíte použít jednu z výše uvedených metod. Pokud však máte funkční GUI, existuje pravděpodobně grafický způsob, jak zjistit grafickou kartu. Tato možnost se obvykle nachází v nastavení plochy Linuxu.

V prostředí GNOME otevřete „Nastavení“ a v postranním panelu klikněte na „Podrobnosti“. Na kartě „O aplikaci“ najděte položku „Grafika“. Zde se dozvíte, jakou grafickou kartu počítač používá. Váš počítač může mít i více grafických procesorů.

Na kartě „O“ v nastavení GNOME na fyzickém počítači vidíme stejné ID karty „NV138“, jako dříve. Tyto informace opět můžeme zadat do vyhledávače, abychom zjistili typ grafické karty.

Grafické karty v noteboocích

Mnoho notebooků má dvě grafické karty: jednu od výrobce centrální procesorové jednotky (CPU) a jednu od hlavního výrobce grafických procesorů (GPU).

Zopakujme si příkaz lspci, tentokrát ho spustíme na notebooku:

sudo lspci -v | less

Získáme výpis popisující grafické karty v notebooku:

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

Tento notebook má jak Intel Core GPU, tak i NVIDIA GeForce 610M. Obě karty mají řetězec „[VGA controller]“, který označuje aktivní grafický procesor.

Obě karty nemohou běžet současně, takže se nejprve snažte rozchodit kartu od hlavního výrobce GPU. To je karta, kterou výrobce notebooku považuje za primární a uvádí ji v hardwarové specifikaci stroje.

Jedna z výše popsaných metod vám jistě pomůže! Po zjištění, jakou grafickou kartu váš počítač nebo notebook má, můžete vybrat příslušný ovladač.