So überprüfen Sie, welche GPU unter Linux installiert ist

Benötigen Sie Informationen zur Grafikkarte (GPU) Ihres Linux-Systems? Hier erfahren Sie, wie Sie die Grafikkarte sowohl über die Kommandozeile als auch über die grafische Oberfläche (GNOME) ermitteln können.

Erste Schritte zur Identifizierung der GPU

Vielleicht kennen Sie das Szenario: Ein Familienmitglied oder Kollege, der technisch nicht versiert ist, bittet um Ihre Unterstützung. Schnell stellen Sie fest, dass es sich wahrscheinlich um ein Treiberproblem handelt. Doch dann kommt die entscheidende Frage: „Welche Grafikkarte hast du?“ Die ratlose Antwort verrät alles. Um helfen zu können, müssen Sie das Problem genau eingrenzen. Wie also finden Sie die Grafikkarte in einem Linux-Rechner heraus?

Nehmen wir an, das Schlimmste ist eingetreten: Die Treiber für die Grafikkarte wurden nie installiert, sodass Sie keine Anhaltspunkte haben. Kein Problem! Sie können das Rätsel entweder über die Kommandozeile oder über die grafische Benutzeroberfläche (GUI) lösen.

lspci und die PCI-ID-Datenbank

Der Peripheral Component Interconnect (PCI)-Standard ist ein weit verbreitetes Protokoll zur Kommunikation mit internen Peripheriegeräten, wie z.B. Grafikkarten. Das PCI-ID-Repository pflegt eine Datenbank mit allen bekannten IDs für PCI-Geräte. Wenn Sie also einige Informationen über das Gerät haben, können Sie diese dort nachschlagen.

Mit dem Befehl lspci können Sie die auf einem Linux-System installierten PCI-Geräte sowie einige Informationen darüber anzeigen lassen.

Wäre es nicht ideal, wenn wir die PCI-Datenbank und den Befehl lspci kombinieren könnten? Genau das geschieht, wenn Sie den Befehl lspci ausführen. Er greift auf eine lokale Kopie der PCI-Datenbank zu, um die erkannten PCI-Geräte zu identifizieren. Vor dem Start ist es empfehlenswert, die lokale Kopie der PCI-Datenbank zu aktualisieren.

Geben Sie den Befehl update-pciids ein, um genau das zu tun:

sudo update-pciids

Die aktuelle Datenbank wird heruntergeladen und wir können nun den Befehl lspci verwenden. Da es viele Ausgaben geben wird, leiten wir diese mit less um. Die Option -v (verbose) weist lspci an, uns so viele Informationen wie möglich zu geben. Wir verwenden sudo, um sicherzustellen, dass die Informationen so detailliert wie möglich sind.

Geben Sie den Befehl wie folgt ein:

sudo lspci -v | less

Die Ergebnisse erscheinen in less. Wenn Sie die Schrägstrich-Taste (/) drücken, aktivieren Sie die Suchfunktion von less.

Geben Sie „VGA“ in Großbuchstaben ein und drücken Sie die Eingabetaste.

less sucht nach der Zeichenkette „VGA“ und zeigt die ersten gefundenen Übereinstimmungen an. Sie können nun durch die Ergebnisse scrollen, um alle Grafikkarten aufzulisten, die lspci gefunden hat.

Für diesen Artikel haben wir unsere Recherchen auf verschiedenen Linux-Distributionen in VirtualBox virtuellen Maschinen durchgeführt. Virtuelle Maschinen verfügen natürlich über virtuelle Grafikkarten.

Um ein Beispiel für reale Ergebnisse zu sehen, hier die Ausgabe des (physischen) Host-Computers:

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

Wir haben sofort viele nützliche Informationen erhalten!

Die Karte ist eine NVIDIA Corporation GP108 [GeForce GT 1030]. Nach kurzer Suche im Internet fanden wir die NVIDIA-Tech-Seite für dieses Gerät. Der „[VGA controller]“ am Ende der ersten Zeile zeigt an, dass es sich um die „aktive“ Grafikkarte handelt. Dies ist hilfreich, wenn mehrere Karten im Rechner verbaut sind.

Der lshw-Befehl

Sie können auch den Befehl lshw nutzen, um die in einem Linux-Rechner verbaute Hardware aufzulisten. Dieser Befehl kann unterschiedliche Hardwaretypen auflisten – nicht nur PCI-Hardware.

Um die gefundenen Grafikkarten aufzulisten, verwenden wir die Option -C (Klasse) und übergeben den Modifikator „display“. Die Option -numeric zwingt lshw, die numerischen IDs der Geräte sowie deren Namen auszugeben.

Geben Sie Folgendes ein:

sudo lshw -numeric -C display

Folgendes hat der Befehl auf dem physischen Computer gefunden:

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

Erfreulicherweise haben beide Befehle dieselbe Karte gefunden!

Die [10DE:1D01]-IDs stehen für den Hersteller (10DE) und das Modell (1D01). Um Hersteller und Modell direkt zu finden, können Sie „Grafikkarte 10de:1d01“ in eine Suchmaschine eingeben.

Der glxinfo-Befehl

Der Befehl glxinfo ist eine weitere Methode, die Sie verwenden können. Er gibt Informationen über die OpenGL-Erweiterung für das X Window System aus. Sie können diese Informationen nutzen, um herauszufinden, welche Art von Grafikkarte installiert ist.

Der Befehl glxinfo ist auf Manjaro und Fedora bereits vorhanden, muss aber unter Ubuntu installiert werden. Geben Sie dazu folgenden Befehl ein:

sudo apt-get install mesa-utils

Um die Ausgabe von glxinfo über less anzuzeigen, verwenden Sie die Option -B (Druck-IDs):

glxinfo -B | less

Die Grafikkarte wird in der Zeile „Device“ beschrieben.

Hier ist die Ausgabe des physischen Computers:

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

Die Eingabe von „NV138“ in eine Suchmaschine identifiziert sofort die NVIDIA-Grafikkarte.

Identifizierung der Grafikkarte über die grafische Oberfläche (GUI)

Wenn es sich um einen reinen CLI-Server handelt, müssen Sie eine der oben beschriebenen Methoden verwenden. Wenn das System jedoch über eine (funktionierende) grafische Oberfläche verfügt, gibt es wahrscheinlich auch eine grafische Möglichkeit, die Grafikkarte zu identifizieren. Diese Option finden Sie meistens in den Einstellungen Ihres Linux-Desktops.

Öffnen Sie auf einem GNOME-Desktop das Dialogfenster „Einstellungen“ und klicken Sie in der Seitenleiste auf „Details“. Suchen Sie im Bereich „Info“ nach dem Eintrag „Grafik“. Hier wird die Art der im System verbauten Grafikkarte angezeigt, oder genauer gesagt, welche Grafikkarte gerade verwendet wird. Ihr System könnte auch mehrere GPUs besitzen.

Auf der Registerkarte „Info“ der GNOME-Einstellungen eines physischen Hosts erhalten wir die gleiche Karten-ID „NV138“, die wir vorher gesehen haben. Auch hier können wir diese Information in einer Suchmaschine eingeben, um den Kartentyp zu finden.

Grafikkarten in Laptops

Viele Laptops verfügen über zwei Grafikkarten: eine vom Hersteller der zentralen Recheneinheit (CPU) und eine von einem Mainstream-GPU-Anbieter.

Geben wir den gleichen lspci-Befehl ein, den wir zuvor verwendet haben, diesmal jedoch auf einem Laptop:

sudo lspci -v | less

Wie erwartet erhalten wir eine Beschreibung der Grafikkarten im Rechner:

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

Dieser Laptop verfügt sowohl über eine Intel-Core-GPU als auch über eine NVIDIA GeForce 610M. Beide Karten tragen jedoch die Zeichenkette „[VGA controller]“, die normalerweise die verwendete GPU angibt.

Da nicht beide gleichzeitig verwendet werden können, sollten Sie zuerst versuchen, die Karte des Mainstream-GPU-Anbieters zu aktivieren. Dies ist die Karte, die der Laptop-Hersteller als Standard ansieht und in den technischen Daten des Geräts aufführt.

Eine der hier gezeigten Methoden wird Ihnen sicherlich helfen. Sobald Sie wissen, welche Art von Grafikkarte in einem Rechner oder Laptop verbaut ist, können Sie den richtigen Grafiktreiber auswählen.