Problem mit Nvidia Treiber NVIDIA-Linux-x86_64-367.35, ssh -X und KDE/QT5-Anwendungen

Manchmal erlebt man mit Linux Dinge, die glaubt man erst gar nicht. Die anschließende Analyse hält einen dann vom produktiven Arbeiten ab – und das Problem entpuppt sich letztlich als eines, das durch einen neuen Treiber induziert wurde. (Nicht, dass das unter MS Win anders wäre ….) Um anderen Betroffenen ein wenig Arbeit zu sparen, deshalb hier ein kurzer Hinweis zum aktuellen Nvidia-Treiber:

Der proprietäre Treiber NVIDIA-Linux-x86_64-367.35 ist mit Vorsicht zu genießen. Er verursacht offenbar unter bestimmten Umständen Segmentation Faults – im Besonderen bei Remote-Verbindungen per “ssh -X” auf den Host, auf dem der Treiber installiert ist.

Ich schildere hier kurz die Probleme, die bei mir aufgetreten sind – siehe aber auch https://devtalk.nvidia.com/default/topic/952373/linux/367-35-driver-fedora-24-glx-segmentation-faults/.

Das Problem

Der Treiber NVIDIA-Linux-x86_64-367.35 wurde bei mir auf einem Opensuse Leap 42.1 Host installiert. Auf diesen Host muss ich manchmal von anderen Systemen aus über “ssh -X” zugreifen. Ein solcher SSH-Client ist ein Laptop mit einem Optimus-System, auf dem der Intel Driver i915 für das prozessor-interne Grafik-Device Intel HD Graphics 4000 läuft. (Die auch vorhandene Nvidia-Karte wird nur wenn nötig über Bumblebee aktiviert). Folgende Schritte führen reproduzierbar ins Nirwana:

1) Man öffnet vom Laptop eine “ssh -X”-Sitzung auf dem Opensuse Leap System.
2) In der geöffneten Shell startet man bestimmte KDE Anwendungen, die QT5 nutzen
=> segmentation fault

Wann tritt der Bug nicht auf:

  • Der Bug tritt nicht auf für KDE-Anwendungen, die QT4 verwenden.
  • Der Bug tritt nicht auf für normale simple X11-Anwendungen oder GTK-Anwendungen wie Firefox.
  • Der Bug tritt aber interessanterweise auch nicht auf, wenn ich Verbindungen von anderen Systemen mit Opensuse 13.1/13.2 oder Opensuse Leap 42.1 aufnehme, auf denen selbst (ältere) Nvidia-Treiber installiert sind. Was immer das nun bedeuten mag ….

Workaround

Der Bug tritt auch nicht auf, wenn auf dem Opensuse Leap 42.1-System der ältere Treiber NVIDIA-Linux-x86_64-361.42 installiert wird. Zwischenversionen von Nvidia-Treibern habe ich (noch) nicht getestet.

Es sieht also danach aus, dass zwischen den angegebenen Treiberversionen etwas Seltsames passiert ist. Wieder mal zeigt sich, dass man mit (proprietären) Grafikkarten-Treibern aufpassen muss – das Aktuellste ist nicht immer das Beste.