Ärger mit Arch und NVIDIA
Wie berichtet, habe ich mein Arbeits-Notebook im Frühjahr 2022 auf Arch Linux umgestellt. Bisher für mich eine Erfolgsgeschichte, alles läuft, wie es soll, und ich habe stets aktuelle Software. Mein Interesse an anderen Distributionen hat seither spürbar nachgelassen.
Mit dem letzten Update, das ich gestern durchgeführt habe, begann allerdings das Grafiksystem zu spinnen. Während sich der Maus-Cursor weiterhin flüssig bewegt, sinkt die Framerate beim Verschieben eines Fensters auf deutlich unter 1 fps (d.h. vernünftiges Arbeiten ist undenkbar).
Die Umstände des Fehlers sind merkwürdig: Der Totaleinbruch der Grafikgeschwindigkeit kommt nur zustande, wenn mein Notebook mit einem externen 4k-Monitor verbunden ist UND der Notebook-Deckel geschlossen ist.
Hardware: Lenovo P1 mit Hybrid-Grafik Intel/NVIDIA (i7-8750H + Quadro P1000 Mobile)
Software: aktueller Kernel (6.0), aktueller proprietärer NVIDIA-Treiber (525.60), Xorg, GDM, Gnome 43)
Interessanterweise wird die Grafikgeschwindigkeit wieder normal, sobald ich den Notebook-Deckel öffne und somit BEIDE Bildschirme aktiv sind. Und, wie gesagt: das Setup hat jetzt über sieben Monate wunderbar funktioniert, ich habe nichts geändert. Irgendein Update (ich kann nicht sagen, welcher Komponente: Kernel, NVIDIA-Treiber, Xorg?) hat das fragile Gleichgewicht gestört.
Die Lösung: optimus-manager
Kurzes googlen führt zu diesem Forumbeitrag von 2021, der exakt mein Problem beschreibt:
https://bbs.archlinux.org/viewtopic.php?id=270330
Die dort beschriebene Lösung: optimus-manager
installieren.
Der optimus-manager
ist ein kleines Script, um den Grafiktreiber explizit zwischen einer integrierter CPU-Grafik und der externer GPU umzuschalten. Unter Ubuntu hatte ich in der Vergangenheit schon Erfahrungen mit prime-select
gemacht. optimus-manager
greift offenbar die gleiche Idee und (zumindest was gdm
betrifft) den gleichen Code auf.
Die Aktivierung des optimus-manager
verlangt die Installation von zwei AUR-Paketen, eben optimus-manager
sowie gdm-prime
, eine minimal veränderte Variante von gdm
. Ich verwende yay
zur Installation:
yay -Sy optimus-manager gdm-prime
Optimus ist anscheinend nicht Wayland-kompatibel. Bei mir ist Wayland sowieso deaktiviert (sonst funktioniert der externe Monitor gar nicht), aber gegebenenfalls müssen Sie eine Zeile in /etc/gdb/custom.conf
ändern:
# Datei /etc/gdm/custom.conf
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
Nach einem Rechner-Neustart wird nur die integrierte Intel-GPU verwendet. Abhilfe schafft:
optimus-manager --switch nvidia
Und danach funktioniert mein Rechner wieder wie in den letzten sieben Monate …
Zwei Stunden wertvolle Lebenszeit vergeudet :-(
Fazit
Nie wieder ein Notebook mit NVIDIA. (Ich wiederhole mich, ich weiß …)