Mit einigen Kniffen lassen sich Nvidia-GPUs der aktuellen Generation gut unter Linux betreiben – doch Wayland macht dabei das Leben nicht gerade einfacher.
Mit der Botschaft “Nvidia, F * You!” brachte Linus Torvalds 2012 unmissverständlich zum Ausdruck, dass die Zusammenarbeit mit Nvidia eher miserabel verlief [1]. Der Grafikkarten-Gigant bot den Kwin-Entwicklern daraufhin Wayland-Unterstützung unter KDE an, indem er kostenlose Hardware zur Verfügung stellte. Die lehnten die Kwin-Entwickler allerdings ab.
Seitdem hat sich nicht viel getan, was Nvidia auf Wayland unter KDE betrifft [2]. Die Treiber von Nvidia funktionieren zwar unter KDE, aber ohne Wayland. Wäre es als Anwender nicht gut zu wissen, wie man Nvidia-Hardware unter KDE oder Gnome einrichtet? Diese und weitere Fragen soll dieser Artikel klären.
Features
Die Grafikkarte GeForce GT 1030 OC von Gigabyte [3] zeichnet sich durch einen erschwinglichen Preis – im Versandhandel ist sie für um die 90 Euro zu haben – sowie Unterstützung für Bildschirme mit DVI- und HDMI-Eingang aus. Sie belegt einen PCIe-x16-Slot, wobei sie auch mit früheren Slot-Versionen kompatibel bleibt. So läuft sie auch auf einem PCIe-x16-Slot mit der Version 2.0. Mit 2 GByte DDR4-Speicher und einer Taktfrequenz von 1265 MHz genügt die GPU den Ansprüchen weniger anspruchsvoller PC-Spiele. Da sie einen Aktiv-Kühler besitzt, belegt sie nur einen Slot; der Lüfter ist allerdings kaum hörbar (Abbildung 1).

Abbildung 1: Die Gigabyte GeForce GT 1030 OC bietet eine kostengünstige Alternative für Anwender, die Filme ansehen und nicht allzu anspruchsvolle Spiele zocken möchten.
Während einer normalen PC-Sitzung – also bei Büroarbeiten oder dem Surfen im Netz, erreicht das Board gerade einmal eine Temperatur von 33 Grad Celsius. Auch der Stromverbrauch liegt mit 30 Watt erfreulich niedrig, sodass ein typisches PC-Netzteil mit 500 Watt Netzteil ausreicht (Abbildung 2).

Abbildung 2: Mit dem Programm Nvidia-settings aus dem proprietären Treiberpaket lässt sich nicht nur die Temperatur anzeigen, sondern die Grafikkarte auch übertakten. Hier ist der Modus adaptive clocking aktiv, der die Taktfrequenz der aktuellen Auslastung anpasst.
Nvidia und KDE
Unter Fedora und anderen Distributionen aus der Red-Hat-Familie erfordert das Einrichten der Grafikkarte schon etwas mehr als eine One-Klick-Installation. Zunächst sollten Sie prüfen, ob die Nvidia-Grafikkarte vom aktuellen Treiber [4] unterstützt wird, was bei der GT 1030 der Fall ist. Mit dem Befehl aus Listing 1 finden Sie heraus, ob Linux die Grafikkarte überhaupt erkennt.
Listing 1
$ lspci |grep -E "VGA|3D"
01:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1)
Es kann vorkommen, dass Pakete, die mit der Zeichenkette xorg-x11 beginnen, für weitere Updates deaktiviert wurden [5]. Den entsprechenden Eintrag kommentieren Sie gegebenenfalls vor der Aktualisierung in der Datei /etc/dnf/dnf.conf aus, da unter KDE – egal, bei welcher Distribution – Nvidia nicht auf Wayland läuft:
# exclude=xorg-x11*
Zudem sollten die Kernel-Quellen installiert sein, damit der Nvidia-Installer die benötigten Treiber kompilieren kann (Listing 2). Da der Nvidia-Treiber den freien Treiber Nouveau ersetzt, kommt der auf die Blacklist, damit Linux ihn beim nächsten Neustart nicht mehr lädt. Dazu wechseln Sie zunächst ins Verzeichnis /etc/modprobe.d/ und überprüfen mit dem Befehl ls, ob die Datei blacklist.conf existiert. Falls nicht, dann legen Sie sie wie in Listing 3 gezeigt an und tragen dort den Nouveau-Treiber ein.
Listing 2
# dnf update # reboot # dnf install kernel-devel kernel-headers gcc dkms acpid libglvnd-glx libglvnd-opengl libglvnd-devel pkgconfig
Listing 3
# cd /etc/modprobe.d # touch blacklist.conf # echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
Dass Fedora Nouveau nicht mehr benutzen soll, teilen Sie zudem noch Grub mit, indem Sie in der Datei /etc/sysconfig/grub folgenden Eintrag hinzufügen:
GRUB_CMDLINE_LINUX="... rd.driver.blacklist=nouveau"
Danach nehmen Sie eine Aktualisierung der Datei grub.cfg und der Initramfs-Datei vor. Der Kernel soll ja nun während des Bootens das Nvidia-Modul laden, was eine Änderung der Initramfs-Datei bedingt (Listing 4).
Listing 4
# grub2-mkconfig -o /boot/grub2/grub.cfg # mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img # dracut /boot/initramfs-$(uname -r).img $(uname -r)
Zur Installation laden Sie den neuesten Nvidia-Treiber herunter; bei der Verwendung von veralteten Treibern kommt es oft zu Fehlern. Zunächst machen Sie die heruntergeladene Datei ausführbar. Die Installation selbst erfolgt im Runlevel 3, den Sie mit dem Tool systemctl aktivieren.
Während der Treibereinrichtung fordert Sie die Routine dazu auf, einige Einstellungen vorzunehmen. Wichtig ist, dass die Module des Nvidia-Treibers mit DKMS registriert werden. Zusätzlich sollten Sie die Nvidia-Bibliotheken installieren, die zu 32-Bit-Systemen kompatibel sind. Außerdem empfiehlt es sich, den Nvidia-Installer ein Backup der X.org-Datei vornehmen zu lassen, falls während des Einrichtens etwas schiefläuft (Listing 5).
Listing 5
# chmod +x /Pfad/zu/NVIDIA-Linux-*.run # systemctl set-default multi-user.target # reboot # ./NVIDIA-Linux-*.run # systemctl set-default graphical.target # reboot
Nvidia bei den 7 Zwergen
Zumindest unter Fedora harmoniert Wayland mit Nvidia. Neben der beschriebenen manuellen Installation gibt es eine kürzere Variante, die speziell auf Fedora Workstation beziehungsweise den KDE-Spin von Fedora zugeschnitten ist.
Dazu müssen Sie das Repository RPM-Fusion einbinden, was den Zugriff auf proprietäre Treiber und Software ermöglicht [6]. Das dazu erforderliche Kommando zeigt Listing 6. Den Nvidia-Treiber installieren Sie anschließend wie in Listing 7 gezeigt [7].
Listing 6
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Listing 7
# dnf install xorg-x11-drv-nvidia akmod-nvidia # dnf install xorg-x11-drv-nvidia-cuda-libs # dnf update -y # grubby --update-kernel=ALL --args='nvidia-drm.modeset=1'
Anders als KDE harmoniert Gnome unter Wayland mit proprietären Nvidia-Treibern, was nicht zuletzt an der Bibliothek EGLStream liegt. Dazu binden Sie zunächst das Repository von mati865 ein und nehmen dann die Installation vor (Listing 8).
Listing 8
# dnf copr enable mati865/mutter-eglstream # dnf --disablerepo="*" --enablerepo="mati865-mutter-eglstream" reinstall mutter
Falls Wayland Probleme macht, können Sie es alternativ auch von vornherein deaktivieren, sodass das System es beim nächsten Neustart nicht mehr lädt. Dazu öffnen Sie die GDM-Konfigurationsdatei /etc/gdm/custom.conf und setzen dort den Eintrag WaylandEnable auf false.
Alternativ ändern Sie bei der nächsten Anmeldung durch einen Klick links vom Anmelde-Button den Grafik-Server, indem Sie im Aufklappmenü Gnome unter Xorg auswählen.
Absicherung
Unter Linux gibt es eine Reihe von Befehlen, mit denen Sie die Installation überprüfen können. So sollte der Befehl lsmod | grep nvidia alle geladenen Nvidia-Treiber ausgeben; bei Verwendung von Nouveau liefert die Ausgabe dagegen keinen Treffer.
Ein besonderes Feature der GeForce GT 1030 OC stellt die Hardwarebeschleunigung für Videofilme [8] dar, die Sie aktivieren sollten (Listing 9, Zeile 1), um Videos flüssig abspielen zu können. Um herauszufinden, ob VDPAU richtig installiert wurde, geben Sie den Befehl vdpauinfo ein (Zeile 3) und vergewissern sich darüber hinaus, dass VAAPI korrekt funktioniert (Zeile 7).
Listing 9
# dnf install vdpauinfo libva-vdpau-driver libva-utils [...] $ vdpauinfo display: :0 screen: 0 API version: 1 Information string: NVIDIA VDPAU Driver Shared Library 390.42 Sat Mar 3 03:29:48 PST 2018 $ vainfo libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.40 (libva ) vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4 vainfo: Supported profile and entrypoints
Es fällt auf, dass die Hardwarebeschleunigung durch VDPAU beziehungsweise VAAPI unter Wayland nicht klappt: Hier zeigen die Befehle aus Listing 9 Fehler an. Auf der Konsole vergewissern Sie sich mithilfe des Ps-Befehls, dass Wayland anstelle von X11 läuft (Listing 10, Zeile 1).
Listing 10
$ ps ax | egrep -i "xorg|wayland" 688 ? Ss 0:00 /usr/bin/abrt-dump-journal-xorg -fxtD 982 tty1 Ssl+ 0:00 /usr/libexec/gdm-wayland-session gnome-session --autostart /usr/share/gdm/greeter/autostart 1046 tty1 Sl+ 0:00 /usr/bin/Xwayland :1024 -rootless -terminate -core -listen 4 -listen 5 -displayfd 6 1398 tty2 Ssl+ 0:00 /usr/libexec/gdm-wayland-session gnome-session 1551 tty2 Sl+ 0:02 /usr/bin/Xwayland :0 -rootless -terminate -core -listen 4 -listen 5 -displayfd 6 2839 pts/0 S+ 0:00 grep -E --color=auto -i xorg|wayland [...] $ loginctl show-session -p Type Session-Nummer Type=wayland
Außerdem lässt sich unter Fedora anhand der Ausgabe von Loginctl ablesen, welcher Display-Server standardmäßig läuft. Dazu geben Sie zunächst loginctl ein, um die Nummer der aktuellen Session zu ermitteln. Anschließend verwenden Sie Loginctl erneut, um den Namen des Display-Servers abzufragen (Listing 10, Zeile 9).
Im Vergleich
Unsere Vergeichstests nahmen wir mit dem Benchmark-Programm Glmark2 (Abbildung 3) ausschließlich unter Fedora 27 vor [9]. Dabei skalierten wir dessen Ausgabe auf 1920 x 1080 Pixel, die derzeit wohl gängigste Bildschirmgröße.

Abbildung 3: Der Glmark2-Test dauert einige Minuten lang und gibt Bilder aus unterschiedlichen Perspektiven wieder.
Die in der Tabelle “Glmark 2: Ergebnisse” zusammengefassten Resultate sprechen eine deutliche Sprache: Finger weg von Wayland und Nouveau beim Einsatz einer GT 1030 OC. Mit Nouveau als Treiber brachte es das System auf noch nicht einmal 60 Punkte, bei Verwendung des Nvidia-Treibers dagegen auf gut 1900 Punkte.
|
Desktop |
Treiber Grafik |
Punkte |
|
|---|---|---|---|
|
KDE |
Mesa |
X.org |
40 |
|
KDE |
Nvidia |
X.org |
1945 |
|
Gnome |
Mesa |
Wayland |
47 |
|
Gnome |
Nvidia |
Wayland |
56 |
|
Gnome |
Nvidia |
X.org |
1913 |
Fazit
Grundsätzlich lässt die Wayland-Unterstützung bei KDE zu wünschen übrig, hier sollten Sie stattdessen X11 den Vorzug geben. Unter Gnome liefen zwar Wayland und die GeForce GT 1030 OC Hand in Hand, jedoch ließ sich die Hardwarebeschleunigung nicht aktivieren, was zu Performance-Einbußen führte.
Rein optisch betrachtet macht es keinen Unterschied, ob Sie X11 oder Wayland verwenden. Von daher lässt sich auf Wayland gut verzichten – es sein denn, Sie wollen Ihr Auto mit angezogener Handbremse fahren. Alles in allem laufen die Nvidia-Treiber stabil, vorausgesetzt, Sie halten die einzelnen Installationsschritte ein.
Aus zeitlichen Gründen konnten wir die Grafikkarte nicht unter Ubuntu testen. Im Internet findet sich jedoch eine gute Anleitung [10]. Sie beschreibt im Prinzip eine ähnliche Installationsroutine wie die hier besprochene, außer dass unter Ubuntu die Treiber in dessen Repository vorliegen.
Glossar
- DKMS
- Dynamic Kernel Module Support. Beim Neustart des Rechners überprüft DKMS, ob Kernel-Module fehlen, und kompiliert diese erforderlichenfalls neu.
- EGLStream
- Eine Implementierung seitens Nvidias, um proprietäre Nvidia-Linux-Treiber mit Gnome auf Wayland zum Laufen zu bekommen [11].
- GDM
- Der Gnome-Display-Manager regelt die Anmeldung beim Gnome-Desktop.
- VDPAU
- Video Decode and Presentation API for Unix. Diese Nvidia-API zeichnet für das Dekodieren, Verarbeiten und Anzeigen von Videostreams verantwortlich.
- VAAPI
- Video Acceleration API. Eine quelloffene Bibliothek für Videobeschleunigung.
Infos
- Linus Torvalds über Nvidia: https://www.youtube.com/watch?v=_36yNWw_07g
- Nvidia auf Wayland: https://www.youtube.com/watch?v=3BGQlJgdxFs
- Gigabyte-Grafikkarte: https://www.gigabyte.com/de/Graphics-Card/GV-N1030OC-2GI#kf
- Treiber 390.42: http://www.nvidia.com/Download/driverResults.aspx/131853/en-us
- Installation unter Fedora: https://www.if-not-true-then-false.com/2015/fedora-nvidia-guide
- Konfiguration RPM-Fusion: https://rpmfusion.org/Configuration
- Installation laut RPM-Fusion: https://rpmfusion.org/Howto/NVIDIA?highlight=%28CategoryHowto%29
- Hardwarebeschleunigung: https://trac.ffmpeg.org/wiki/HWAccelIntro
- Glmark2: https://github.com/glmark2/glmark2
- Installation unter Ubuntu: https://charlienewey.github.io/getting-nvidia-drivers-working-on-ubuntu-17-10
- EGLStream: https://www.phoronix.com/scan.php?page=news_item&px=GNOME-Mutter-Mainline-EGLStream






Vielen Dank für den Artikel. Leider ist die Schlussfolgerung, X11 den Vorzug gegenüber Wayland zu geben, aus meiner Sicht total falsch. Es muss klar gesagt werden, beim Kauf einer Grafikkarte sollte das Geld *nicht* für Nvidia ausgeben werden. Es sollten die Hersteller unterstützt werden, die offene Treiber entwickeln. Nvidia gehört bei den Grafikkarten nicht dazu. Ich würde mich freuen, wenn solche Dinge besser in einem Artikel herausgearbeitet werden, an Stelle zu suggerieren, dass eine Karte von einem Hersteller, der keine offenen Treiber anbietet, mit hinreichend viel Willen und Aufwand unterstützt werden kann. (Meinem Verständnis nach, sind die Nouveau-Entwickler derselben Meinung,… Mehr »