Diese Version (2023/01/09 18:15) wurde bestätigt durch Daniel.Die zuvor bestätigte Version (2020/12/10 23:49) ist verfügbar.Diff

Linux und NVIDIA: Nouveau Treiber ab 2021

Seit 2021 bietet NVIDIA keinen Support für Leap 15.2 und aufwärts mehr für die alten Grafikkarten mehr an.

Darum muss der Nouveau-Treiber herhalten. Dieser ist nicht ganz unproblematisch.

Ein Wechsel von NVidia funktionierte bei mir (nur) so:

  1. Wissen: Die Treiber bestehen immer aus einem Kernel- Modul und einem X- Treiber. Der Kernel lädt automatisch die richtigen Module, wenn diese vorhanden sind. Es ist nicht notwendig, dass diese in die initrd aufgenommen sind, sie müssen nur da sein (und zum Kernel passen). Es können aber nie zwei Module zu einer Karte zeitgleich geladen werden. Das Nouveau- Modul ist dabei so fester Systembestandteil, dass das Entfernen via Yast nicht geht, ohne ganz X zu entfernen. Deshalb sind die Nouveau-Module immer vorhanden.
  2. Aus dem Grund deaktivieret der NVIDIA- Installer die Nouveau- Module immer über die Konfiguration im Verzeichnis /etc/modprobe.d/: Hier ist in irgendeiner CONF wahrscheinlich: „blacklist nouveau“ eingetragen. Dies verhindert das Laden. Um Nouveau wieder zu aktivieren, muss dieser Eintrag raus.
  3. Dann sollte zeitgleich mittels Yast alle Nvidia-Treiber deinstalliert werden, also auch xf86-video-nvidia* - und auch alle anderen NVIDIA- UND ALLE anderen xf86-video* Treiber - ausser, die neu zu installierenden Nouveau-Treiber.
  4. Danach sind die richtigen Module und Treiber vorhanden und das System sollte neu gestartet werden. Ich habe es nicht erlebt, dass die geladenen NVIDIA-Module deren Deinstallation verhinderten - aber falls das passiert, können diese nach einem Neustart nochmal installiert und deinstalliert werden.
  5. Wichtig beim Neustart: auf keinen Fall in den Runlevel 5 starten: Das wird scheitern! Um das zu verhindern, im Bootmenü mit Taste „e“ den Eintrag bearbeiten und an die Zeile mit „linux….“ eine 3 anhängen und mit F10 starten.
  6. Das System sollte nun mit den Nouveau-Modulen in die Kommandozeile starten
  7. Zum Testen sollte der Befehl „sudo hwinfo –gfxcard“ das anzeigen z.B. mit „Driver Status: nouveau is active“. Falls nicht, könnte das Nachladen mit „modprobe nouveau“ probiert werden (klappt das?), um die Fehlerquelle zu finden.
  8. Sobald also das Kernel-Modul geladen ist und der Treiber (xf86-video-nouveau) installiert ist, muss noch die X-Konfiguration auch den Treiber nutzen. Diese liegt unter „/etc/X11/xorg.conf“. Zum neu erstellen, das Programm „X -configure“ aufrufen. Es erstellt autmatisch eine neue vollständige, seperate Config- Datei, die anstelle der alten xorg.conf genutzt werden kann.
  9. Eigentlich ginge jetzt bereits ein X- Start, aber ich hatte mit dem Voreinstellungen Probleme, die sich durch folgenden Parameter in der xorg.conf lösen ließen: Option „ShadowFB“ „1“ (unter Section „Device“)
  10. Mit startx kann das ganz getestet werden. Im Fehlerfall: Debuggen von X geht als angemeldeter User mit: „startx – -logverbose 9 -verbose 9“.
  11. Sollte alles soweit laufen → reboot sollte nun gehen. Wichtig war hierbei aber ausserdem der richtige Windows-Managermodus bei der Anmeldemaske. Sowohl „Wayland“, als auch „full Wayland“ haben nicht funktioniert

Sämtliche Kernel-Parameter (https://nouveau.freedesktop.org/KernelModuleParameters.html) haben bei mir sonst nur eine Verschlimmbesserung gebracht. Diese können grundsätzlich mit dem Boot-Manager ergänzt werden. Tipps waren z.B. „nouveau.config=NvMSI=0“. Auf keinen Fall sollte nomodeset=1 genutzt werden, weil sonst gar kein kernel-modul geladen wird, bzw. Nouveau sich nicht aktiviert. Dann geht auch kein X-Treiber mehr.

Ja - die geht natürlich nicht einfach so. Siehe Doku unter https://nouveau.freedesktop.org/VideoAcceleration.html

Ich habe jetzt in die /etc/environment jetzt aufgenommen:

export VDPAU_DRIVER=nouveau
export LIBVA_DRIVER_NAME=nouveau


Das macht schonmal den libvdpau gängig mit dem nouveau-treiber und den va-api ebenso.

Prüfen mit Aufruf von vainfo und vdpauinfo.

Das mit der Firmware hab ich gemacht, keine Ahnung, ob das geht… versuche es noch herauszufinden.

Achtung: Hardware Videodecodierung über die Grafikkarte klappt NUR, wenn die Libraries auch entsprechend mit support für die Videoformate compiliert sind. Das ist bei opensuse NICHT so!

Es müssen dafür die Libraries von Packman genommen werden. Das betrifft ffmpeg und libavcodec. Um das zu erreichen, kann einfach im Yast unter Softwareinstallation in der Repository- Sicht bei Packman auf „Systempakete auf dieses Repository umstellen“ angewendet werden (auch wenn die update-pakete von suse teilweise neuer sind).

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • user/obel1x/public/leap152_nouveau.txt
  • Zuletzt geändert: 2023/01/09 18:15
  • von Daniel