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.