Ich habe heute bei meinem Opensuse Leap 16.0 ein paar Updates gefahren mit Myrlyn. Danach funktionierten dann die Grafikkartentreiber nicht mehr. Die Nvidia-Treiber sollten auf Version 580.159.03 sein. Ich beziehe diese aus den offiziellen Quellen von Nvidia. Bei meiner Zweischirmversion war dann nur noch einer zu sehen und der in einer saumäßigen Auflösung (1024 x 768).
Ich habe dann alle Treiber soweit überprüft, sie hatten alle die gleiche Version. Ich weiß jetzt auch nicht, ob zum installieren die richtige Kernelversion genommen wurde. Ich benutze den Kernel 6.12.0-160000.31.1.
Ich habe dann versucht, anstatt mit Myrlyn die ganze Sache mit Zypper zu installieren. Also mit Myrlyn alles deinstallier was nvidia heisst und dann mit Zypper wieder installiert. Dazwischen einen Neustart. Der brachte mir zwar beide Bildschirme wieder, allerdings mit dem Nouveau-Treiber.
Es wurde mir von Google dann geraten folgendes durchzuführen:
Dabei viel mir auf, dass erst einmal die falschen Kernel-Sources benutzt wurden (statt …31 die …29). Beim anscheinend kompilieren der Treiber und einbinden in den Kernel sind dann diverse Fehler aufgetreten, dass irgendwelche Dateien fehlen oder irgendwelche Executables nicht ausgeführt werden konnten. Leider kann ich die Liste hier nicht posten, da sie einfach viel zu lang ist.
Schon dieser Befehl (“welcher von Google geraten wurde”) ist falsch. Das führt dazu, dass die kmp Pakete, devel Pakete, und Kernelpakete aus dem OSS Repo nicht installiert werden sondern nur Pakete aus dem Nvidia Repo. Eine vollständige Treiberinstallation hingegen, benötigt Pakete aus den OSS und Nvidia Repos.
Das heißt einfach nur
sudo zypper install-new-recommends
Oder aber eine Installation via den seit längeren existiereneden Metapakete welche für eine vollständige Treiberinstallation sorgen sollen:
sudo zypper in nvidia-open-driver-G06-signed-kmp-meta
Besser du zeigst erstaml die installierten Nvidia Pakete: zypper se -si nvidia
… und deine Systeminfos: inxi -GSaz
Da Standartmäßig nur 2 Kernel behalten werden (30 und 31), der 29 aber komplett deinstalliert wurde, wurde damit als Abhängigkeit da nvidia-kmp 29 auch deinstalliert, siehe Bild im anderen Beitrag.
Hallo Sauerland und hui,
danke erst einmal für eure Tips und Ratschläge. Das hat mich anscheinend doch auf die richtige Spur gebracht. Hier erst einmal die gewünschten Installationen der Nvidia-Pakete:
Was euch hier auffallen sollte: ich habe den Kernel sowie die Kernel-sources auf Version 6.12.0-160000.29-default downgegraded. Damit ließen sich die Nvidia-Treiber dann wie gehabt installieren. Für die … 31 Kernel-Version scheint es keine Nvidia-Treiber so richtig zu geben, jedenfalls keine G06, die ich leider brauche. Ich habe eine Quadro P1000 und die funktioniert in G07 nicht.
Hier noch die Fragen dazu:
Soll ich jetzt darauf warten, dass es bald G06-Treiber für neuere Kernel gibt oder gibt es irgendwie die Möglichkeit, die jetzt installierten Treiber in neueren Kernel zu benutzen. Dafür müsste man aber den 29’er Kernel irgendwie vorm purgen schützen.
## Comma separated list of kernel packages to keep installed in parallel, if the
## above multiversion variable is set. Packages can be specified as
## 2.6.32.12-0.7 - Exact version to keep
## latest - Keep kernel with the highest version number
## latest-N - Keep kernel with the Nth highest version number
## running - Keep the running kernel
## oldest - Keep kernel with the lowest version number (the GA kernel)
## oldest+N - Keep kernel with the Nth lowest version number
##
## Note: This entry is not evaluated by libzypp, but by the
## purge-kernels service (via /sbin/purge-kernels).
##
## Default: Do not delete any kernels if multiversion = provides:multiversion(kernel) is set
multiversion.kernels = latest,latest-1,running
Die Versionsnummer des Kernels anhängen, den du behalten willst, und testen mit
Hallo Zusammen,
so langsam löst sich das ganze in Luft auf. Ich habe dann als erstes heute mal meine Repositories ausgemißtet und sortiert. Es war da noch von einer früheren OpenSuSE-Version einiges von den SLES-15 übrig. Die hatte man mal als Bezugsquelle eingeführt und ist sie auch nicht mehr losgeworden (OpenSuSE 15.X). Danach sahen meine Nvidia-Pakete dann so aus:
andreas@DESKTOP-HP3UDF8:~> zypper se -si nvidia
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
S | Name | Type | Version | Arch | Repository
---+-------------------------------+-------+-----------------------------------------+--------+---------------------
i+ | kernel-firmware-nvidia | Paket | 20250516-160000.2.2 | noarch | repo-oss (16.0)
i | libnvidia-egl-gbm1 | Paket | 1.1.3-lp160.10.1 | x86_64 | repo-non-free (16.0)
i | libnvidia-egl-wayland1 | Paket | 1.1.22-160000.1.1 | x86_64 | repo-oss (16.0)
i | libnvidia-egl-x111 | Paket | 1.0.5-160000.1.1 | x86_64 | repo-oss (16.0)
i | libnvidia-gpucomp-G06 | Paket | 580.159.03-lp160.52.1 | x86_64 | repo-non-free (16.0)
i | nvidia-common-G06 | Paket | 580.159.03-lp160.52.1 | x86_64 | repo-non-free (16.0)
i | nvidia-compute-G06 | Paket | 580.159.03-lp160.52.1 | x86_64 | repo-non-free (16.0)
i | nvidia-compute-utils-G06 | Paket | 580.159.03-lp160.52.1 | x86_64 | repo-non-free (16.0)
i | nvidia-driver-G06-kmp-default | Paket | 580.159.03_k6.12.0_160000.29-lp160.52.1 | x86_64 | repo-non-free (16.0)
i | nvidia-driver-G06-kmp-meta | Paket | 580.159.03-lp160.51.1 | x86_64 | repo-non-free (16.0)
i | nvidia-gl-G06 | Paket | 580.159.03-lp160.52.1 | x86_64 | repo-non-free (16.0)
i | nvidia-modprobe | Paket | 580.159.03-lp160.26.1 | x86_64 | repo-non-free (16.0)
i | nvidia-persistenced | Paket | 580.159.03-lp160.2.1 | x86_64 | repo-non-free (16.0)
i | nvidia-userspace-meta-G06 | Paket | 580.159.03-lp160.51.1 | x86_64 | repo-non-free (16.0)
i | nvidia-video-G06 | Paket | 580.159.03-lp160.52.1 | x86_64 | repo-non-free (16.0)
i+ | openSUSE-repos-Leap-NVIDIA | Paket | 20260218.3c95c01-lp160.1.1 | x86_64 | repo-oss (16.0)
Hinweis: Für eine erweiterte Suche inkl. nicht momentan aktivierter Remote-Ressourcen bitte
'zypper search-packages' verwenden.
Danke dann auch an shundhammer. Ich habe den 29’er Kernel in zypp.conf eingetragen und er ist anscheinend erhalten geblieben. Jedenfalls kam heute ein Kernel-Update über den Äther mit der 32’er Version. Ich habe jetzt jedenfalls 3 parallele Kernel am laufen und auch die Grafikkarte funktioniert mit den richtigen Treibern, wie hier zu sehen:
@Sauerland: den 30’er Kernel hatte ich übrigens definitiv drauf, ich habe ihn jetzt aber gelöscht. Was sich mir aber komplett verschließt ist: Warum gibt es einen Nvidia-Treiber “nvidia-driver-G06-kmp-default”, der explizit für die Develop-Pakete des 29’er Kernels geschrieben ist? Kann man da nicht die Pakete des aktuellen installierten Kernels benutzen?
Der Nvidia Treiber wird mit einem Kernel (in diesem Fall 29) gebaut. Daher die Versionsnummer.
Er wird in das Update Verzeichnis des kernels compiliert.
Wenn es einen neuen Kernel gibt, wird der Nvidia Treiber neu gebaut für diesen neuen Kernel und (jetzt kommt es) bei den alten kernel Versionen gelöscht und dort in das Verzeichnis /weak-updates verschoben.
Das ist ein Mechanismus bei openSUSE:
Alles was in dem kernel Verzeichnis /updates liegt, wird bei neueren kernel in das Verzeichnis /weak-updates verschoben und funktioniert so ohne einen Neubau.
Bei Nvidia ist es anders herum, es wird mit dem neuen Kernel neu gebaut und in das Verzeichnis /weak-updates der älteren installierten kernel verschoben.
So lange an den kernel an den für die Treiber entscheidenden Stellen nichts geändert wird, funktionieren die Treiber.
Bei Leap 15.6 z.B. hat sich zwischendrin etwas geändert, so daß von mir gebaute Netzwerkkartentreiber nicht mehr funktionierten.
Hallo Sauerland,
heute hat sich die ganze Sache dann erledigt. Anscheinend ist ziemlich schnell der nvidia-driver-G06-kmp-default mit dem 32’er Kernel vereinigt worden. Heute kam jedenfalls die entsprechenden Updates dazu.
Damit sehen meine Treiber dann wieder wie folgt aus:
Ich weiß zwar nicht, ob ich die zwei meta-Pakete noch brauche, Aber ich lasse das jetzt erst einmal so.
Als parallele Kernel gibt es jetzt den 32’er und den 29’er als ältesten. Beide scheinen zu funktionieren und alles ist wieder gut. Muß der Thread jetzt noch irgendwie als gelöst mearkiert werden?