Einrichtung eines DKMS Kernel für Arch Linux

pelz

Cadet 4th Year
Dabei seit
Feb. 2007
Beiträge
87
Hallo zusammen,

ich befinde mich in der "Erkenntniss-Sammelphase" was die Erstellung eines DKMS Kernels und Arch Linux betrifft. Vieles ist noch unklar und ich hoffe mit eurer Hilfe ein wenig Licht ins Dunkel zu bringen.

Aktueller Zustand:
Installiert ist ein Arch-Linux mit einem LTS Kernel (4.19.80-1-lts) auf einem 10.5 Jahre altem PC mit einer GeForce GTX 275 Grafikkarte.
Für die Grafikkarte nutzte ich den proprietärer Treiber nvidia-340xx-lts aus dem AUR. Warum? Weil ich mich fast ausschließlich mit Blender beschäftige. Seit Blender 2.8x ist kein arbeiten mit dem freiem nouveau Treiber mehr möglich, Absturz alle 2min. Mit dem nvidia Treiber geht es so halbwegs.

Wenn ich eine Systemaktualisierung mit pacman -suy durchführe ist der nvidia Treiber nicht im neuen/aktualisiertem Kernel enthalten, und Kernelaktualisierungen gibt es regelmäßig.

Ein modinfo nvidia zeigt, wo die nvidia Kernelmodule liegen:
Code:
modinfo  nvidia
filename:       /lib/modules/4.19.80-1-lts/extramodules/nvidia.ko.gz
alias:                char-major-195-*
version:         340.107
supported:      external
Mir ist im Moment nicht klar was einfacher umzusetzten ist. Die Erstellung eines DKMS Kernels oder die nvidia-Module jedes Mal separat in den aktualisierten Kernel zu integrieren. Für beides fehlt mir aktuell das Hintergrundwissen.

Mal laut gedacht, wenn ich mich für den DKMS Kernel entscheide wären folgende Schritte in dieser Reihenfolge zu tun:
- pacman -suy
-dkms install -m nvidia -v 340.107-26

Danach sollte theoretisch das Verzeichnis unter: /usr/src/nvidia-340.107-26 existieren.
Und das was es dann auch. Dann ein reboot und DKMS fügt die nvidia Module dem neuen Kernel automatisch hinzu.

Mein Gefühl sagt mir das da was fehlt bzw. nicht vollständig zu Ende gedacht ist?

Frage:
Könnt ihr bitte weiterhelfen? Welche Schritte fehlen noch bzw. was ist noch zu tun?

Vielen lieben Dank für eure Hilfe
 

Grimba

Commander
Dabei seit
Dez. 2007
Beiträge
2.056
Solange du das Paket dkms installiert hast und du aus dem AUR die nvidia-dkms variante herunterlädst statt der ohne dkms, solltest du eigentlich nichts weiter machen brauchen. Afaik gibt es einen "DKMS-Kernel" nicht, da das nur ein Build-Framework um den vorhandenen Kernel drumrum ist.

edit:
Mit Pacman -syu erhältst du auch keine Updates auf AUR Pakete. Aber es gibt Paketmanager, welche beides können und die gleiche Syntax wie pacman verwenden, aber gleichzeitig das AUR berücksichtigen, siehe hier: https://wiki.archlinux.de/title/AUR_Hilfsprogramme

Wenn du auf deiner Treiberversion 340 bleiben willst, weil ja die 275 nur bis dahin unterstützt wird, so ist der Gedanke schon ganz richtig, den Treiber bei DKMS zu hinterlegen, und den LTS Kernel zu verwenden. ABER es hilft dir leider alles nichts, wenn selbst der LTS Kernel irgendwann zu neu für den NVIDIA Treiber ist. Ich würde dir raten, dir für wenig Geld eine etwas neuere Grafikkarte zuzulegen, mit der du dieses Problem nicht hast. Das sollte, um etwas vergleichbares (vermutlich sowieso schnelleres) zur 275er zu bekommen, nun wirklich kein Problem für schmales Geld sein.
 
Zuletzt bearbeitet:

pelz

Cadet 4th Year
Ersteller dieses Themas
Dabei seit
Feb. 2007
Beiträge
87
Danke euch zwei für eure Hinweise.

@Grimba
...ABER es hilft dir leider alles nichts, wenn selbst der LTS Kernel irgendwann zu neu für den NVIDIA Treiber ist. Ich würde dir raten, dir für wenig Geld eine etwas neuere Grafikkarte zuzulegen, mit der du dieses Problem nicht hast. Das sollte, um etwas vergleichbares (vermutlich sowieso schnelleres) zur 275er zu bekommen, nun wirklich kein Problem für schmales Geld sein.
Dem stimme ich zu. Ein neuer PC wird voraussichtlich im Januar 2020 kommen.

Zurück zu Thema:
Ich kann es kaum glauben das es funktioniert hat. Irgendwie zu schön um wahr zu sein aber so richtig trauen tue ich dem Frieden nicht. Unter Linux ist das so bei mir eine Sache.

Habe aus dem AUR das Paket runtergeladen.:
- nvidia-340xx-lts-dkms 340.107-26 ---- # dkms in der Bezeichnung ist wichtig


Dann aus dem offiziellen Repos folgende Pakete:
- linux-lts-headers 4.19.81-1

- dkms

Da "dkms" und "linux-lts-headers 4.19.81-1" aus den offiziellen Repos stammen wurden sie direkt von pacman installiert.

Die Datei "nvidia-340xx-lts-dkms 340.107-26" entpackt und mit makepkg eine Datei zur Installation erhalten: pacman -U nvidia-340xx-lts-dkms-340.107-26-x86_64.pkg.tar.xz
# man bekommt zwei Installations-Dateien erstellt. Man muss die mit "dkms" in der Datei-Bezeichnung nehmen

# das war es schon.

Zwischendurch kam eine Fehlermeldung:
=> unable to install module nvidia /340.107 for kernel 4.19.81-1-lts: Missing kernel module

Lag daran, dass ich den alten LTS Kernel hatte und nicht den neuen. Mit pacman -Suy eine Systemaktualisierung gemacht und den Befehl wiederholt.


Eine Abfrage zeigt:
Code:
dkms status
nvidia, 340.107, 4.19.81-1-lts, x86_64: installed
Und ein:
Code:
ls -lisa /var/lib/dkms/
insgesamt 16
6949791 4 -rw-r--r--  1 root root    6 31. Okt 09:38 dkms_dbversion
6947000 4 drwxr-xr-x  3 root root 4096  4. Nov 18:20 nvidia
zeigt dass die Module vorliegen.
Ein Blick in das Verzeichnis nvidia zeigt:
Code:
ls -lisa /var/lib/dkms/nvidia/
insgesamt 12
6947001 4 drwxr-xr-x 4 root root 4096  4. Nov 18:20 340.107
6947002 0 lrwxrwxrwx 1 root root   28  4. Nov 18:20 kernel-4.19.81-1-lts-x86_64 -> 340.107/4.19.81-1-lts/x86_64
Theoretisch sieht es gut aus, aber ob es wirklich funktioniert wird erst das nächste Kernelupdate zeigen

LG
 
Zuletzt bearbeitet:

lokon

Lt. Junior Grade
Dabei seit
Aug. 2013
Beiträge
433
Arch bietet im AUR auch andere Mainline-LTS Kernel an (4.14,4.9,4.4).
Insbesondere Kernel 4.4 wird vermutlich noch länger unterstützt.

Theoretisch sollten die nvidia 340xx Treiber auch auf dem aktuellen 5.3 Kernel funktionieren.
Das sieht man teilweise am arch AUR paket selbst: hier - es enthält patches für 5.1 oder einem gentoo Bugreport hier der patches für 5.3 enthält / zu Ubuntu fixes linkt.
 
Top