Müssen Sie die Graphics Processing Unit (GPU) in einem Linux-Computer identifizieren? So können Sie die Grafikkarte über die Befehlszeile und in GNOME identifizieren.
Inhaltsverzeichnis
Der erste Schritt
Du warst wahrscheinlich schon dort. Sie werden einberufen, um einen Verwandten oder Arbeitskollegen zu unterstützen, der keine Techniker ist, und etwas sagt Ihnen, dass dies nicht schmerzlos sein wird. Trotzdem greifst du zu! Sie stellen schnell fest, dass es sich wahrscheinlich um ein Problem mit dem Anzeigetreiber handelt. Hey, das ist vielleicht doch nicht so schlimm! Doch dann wird Ihr kurzlebiges Hoffnungsschimmern erstickt, wenn Sie fragen: „Was für eine Grafikkarte haben Sie?“
Der Hirsch-in-Scheinwerfer-Ausdruck, den Sie als Antwort erhalten, spricht Bände. Um etwas zu unterstützen, müssen Sie wissen, was es ist. Wie erkennt man die Grafikkarte in einem Linux-Computer?
Nehmen wir das Worst-Case-Szenario an und sagen, die Treiber für die Grafikkarte wurden nie installiert, sodass Sie sich diese nicht einmal ansehen können, um einen Anhaltspunkt zu erhalten. Es spielt keine Rolle! Sie können dieses Rätsel entweder über die Befehlszeile oder über das grafische Benutzeroberfläche (GUI).
lspci und die PCI-ID-Datenbank
Der Verbindung von Peripheriekomponenten (PCI)-Standard ist ein gängiges Protokoll, das Sie verwenden können, um mit internen Peripheriegeräten wie Grafikkarten zu kommunizieren. Der PCI-ID-Repository unterhält eine Datenbank aller bekannten IDs für PCI-Geräte. Das heißt, wenn Sie einige Informationen über das Gerät kennen, können Sie diese nachschlagen.
Sie können den Befehl lspci verwenden, um die PCI-Geräte, die auf einem Linux-Computer installiert sind, sowie einige Informationen dazu.
Wäre es nicht großartig, wenn wir die PCI-Datenbank und den lspci-Befehl zusammenführen könnten? Genau das passiert, wenn Sie den Befehl lspci ausführen. Es überprüft eine lokale Kopie der PCI-Datenbank, um die erkannten PCI-Geräte zu identifizieren. Bevor wir beginnen, ist es ratsam, die lokale Kopie der PCI-Datenbank zu aktualisieren.
Geben Sie den Befehl update-pciids ein um genau das zu tun:
sudo update-pciids
Die neueste Datenbankversion wird für uns abgerufen und wir können jetzt den Befehl lspci verwenden. Es wird viel Output geben, also werden wir es in weniger umleiten. Die Option -v (verbose) weist lscpi an, uns so viele Informationen wie möglich zu geben. Wir verwenden sudo, um sicherzustellen, dass die Informationen so detailliert wie möglich sind.
Wir geben unseren Befehl wie folgt ein:
sudo lspci -v | less
Die Ergebnisse erscheinen in weniger. Wenn Sie den Schrägstrich (/) drücken, aktivieren Sie die weniger Suchfunktion.
Geben Sie „VGA“ in Großbuchstaben ein und drücken Sie die Eingabetaste.
less sucht nach der Zeichenfolge „VGA“ und zeigt Ihnen die ersten gefundenen Übereinstimmungen an. Von diesem Punkt aus können Sie scrollen oder vorwärts blättern, um zu sehen, wie viele Grafikkarten lspci gefunden hat.
Für diesen Artikel haben wir unsere Recherchen zu einer Vielzahl von Linux-Distributionen durchgeführt, die in VirtualBox virtuelle Maschinen. Virtuelle Maschinen haben natürlich virtuelle Grafikkarten.
So können Sie ein Beispiel für reale Ergebnisse sehen, hier ist 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
Es hat uns sofort viele gute Informationen gegeben!
Die Karte ist eine NVIDIA Corporation GP108 [GeForce GT 1030], und nach ein paar Sekunden mit einer Suchmaschine 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 „betriebsbereite“ Grafikkarte handelt. Das sind nützliche Informationen, wenn mehr als eine Karte auf einem Computer installiert ist.
Der lshw-Befehl
Sie können auch den Befehl lshw verwenden, um die auf einem Linux-Computer installierte Hardware aufzulisten. Es meldet auch eine Vielzahl von Typen – nicht nur PCI-Hardware.
Um es anzuweisen, über die gefundenen Grafikkarten zu berichten, 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 anzugeben.
Geben Sie Folgendes ein:
sudo lshw -numeric -C display
Folgendes hat dieser 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 fanden beide dieselbe Karte!
Der [10DE:1D01] Identifikatoren repräsentieren den Hersteller (10DE) und das Modell (1D01). Um Marke und Modell sofort zu finden, können Sie in eine Suchmaschine „Grafikkarte 10de:1d01“ eingeben.
Der glxinfo-Befehl
Der Befehl glxinfo ist eine weitere Methode, die Sie verwenden können. Es gibt Ihnen Informationen von der OpenGL-Erweiterung für das X Windows-System. Sie können dann einige dieser Informationen durchsuchen, um herauszufinden, welche Art von Grafikkarte auf einem Computer installiert ist.
Der Befehl glxinfo ist bereits auf Manjaro und Fedora vorhanden, muss jedoch auf Ubuntu installiert werden. Geben Sie dazu den folgenden Befehl ein:
sudo apt-get install mesa-utils
Geben Sie Folgendes ein, um die Ausgabe von glxinfo durch less zu leiten und die Option -B (Druck-IDs) zu verwenden:
glxinfo -B | less
Die Grafikkarte ist in der Zeile „Device“ beschrieben.
Dies 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
Wenn Sie „NV138“ in eine Suchmaschine eingeben, wird die NVIDIA-Grafikkarte sofort identifiziert.
Verwenden der GUI zum Identifizieren der Grafikkarte
Wenn der Computer ein reiner CLI-Server ist, müssen Sie eine der oben beschriebenen Techniken verwenden. Wenn es jedoch eine (funktionierende) GUI hat, gibt es wahrscheinlich eine grafische Möglichkeit, die Grafikkarte zu identifizieren. Tatsächlich befindet sich diese Option wahrscheinlich irgendwo in Ihren Linux-Desktop-Einstellungstools.
Öffnen Sie auf einem GNOME-Desktop das Dialogfeld „Einstellungen“ und klicken Sie dann in der Seitenleiste auf „Details“. Suchen Sie im Bereich „Info“ nach einem Eintrag „Grafik“. Dies sagt Ihnen, welche Art von Grafikkarte sich im Computer befindet, oder genauer gesagt, welche Grafikkarte derzeit verwendet wird. Ihr Computer verfügt möglicherweise über mehr als eine GPU.
Auf der Registerkarte „Info“ der GNOME-Einstellungen eines physischen Hosts erhalten wir dieselbe Karten-ID „NV138“, die wir zuvor gesehen haben. Auch hier können wir diese Informationen in eine Suchmaschine eingeben, um den Kartentyp zu finden.
Grafikkarten auf Laptops
Viele Laptops haben zwei Grafikkarten: eine vom Hersteller des Zentraleinheit (CPU) und einer von einem Mainstream-GPU-Anbieter.
Geben wir den gleichen lspci-Befehl von vorhin ein, aber dieses Mal führen wir ihn auf einem Laptop aus:
sudo lspci -v | less
Wie erwartet bekommen 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 hat sowohl ein Intel-Core-GPU und eine NVIDIA GeForce 610M. Beide Karten haben jedoch die „[VGA controller]”-Zeichenfolge, die normalerweise angibt, welche GPU verwendet wird.
Sie können nicht beide verwendet werden, also versuchen Sie zuerst, die Karte vom Mainstream-GPU-Anbieter zum Laufen zu bringen. Dies ist die, die der Laptop-Hersteller als Standard betrachtet und in die Hardware-Spezifikationen für die Maschine einfügt.
Eine der Techniken, die wir hier behandelt haben, wird mit Sicherheit für Sie funktionieren! Nachdem Sie wissen, über welchen Grafikkartentyp ein Computer oder Laptop verfügt, können Sie den entsprechenden Grafiktreiber auswählen.