Commit e698722
0
plików
+0
dodanych
-0
usuniętych
@@ -1,13 +1,15 @@
1
-pkgname: nvidia
1
+pkgname: nvidia-dkms
2
2
pkgver: '610.57.04'
3
3
pkgrel: '1'
4
-pkgdesc: NVIDIA drivers, kernel modules, xorg config and udev rules for LFS
4
+pkgdesc: NVIDIA drivers, xorg config, udev rules and DKMS kernel modules
5
5
url: https://www.nvidia.com/en-us/drivers/unix/
6
6
arch: x86_64
7
7
license:
8
8
- custom
9
9
10
-depends: []
10
+depends:
11
+- dkms
12
+- linux-headers
11
13
makedepends:
12
14
- grep
13
15
@@ -20,26 +22,41 @@ build: |
20
22
sh NVIDIA-Linux-x86_64-${pkgver}.run --extract-only
21
23
cd NVIDIA-Linux-x86_64-${pkgver}
22
24
23
- _kernver=$(uname -r)
24
- _modulesdir="${PKGDIR}/lib/modules/${_kernver}/kernel/drivers/video/nvidia"
25
+ # --- 1. Przygotowanie źródeł DKMS ---
26
+ _srcdir="${PKGDIR}/usr/src/nvidia-${pkgver}"
27
+ install -dm0755 "${_srcdir}"
28
+ cp -r kernel/* "${_srcdir}/"
25
29
26
- # Tworzenie struktury katalogów
30
+ # Tworzenie pliku dkms.conf w katalogu źródeł
31
+ cat > "${_srcdir}/dkms.conf" << EOF
32
+PACKAGE_NAME="nvidia"
33
+PACKAGE_VERSION="${pkgver}"
34
+AUTOINSTALL="yes"
35
+
36
+BUILT_MODULE_NAME[0]="nvidia"
37
+BUILT_MODULE_LOCATION[0]="."
38
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video/nvidia"
39
+
40
+BUILT_MODULE_NAME[1]="nvidia-modeset"
41
+BUILT_MODULE_LOCATION[1]="."
42
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video/nvidia"
43
+
44
+BUILT_MODULE_NAME[2]="nvidia-uvm"
45
+BUILT_MODULE_LOCATION[2]="."
46
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video/nvidia"
47
+
48
+BUILT_MODULE_NAME[3]="nvidia-drm"
49
+BUILT_MODULE_LOCATION[3]="."
50
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video/nvidia"
51
+EOF
52
+
53
+ # --- 2. Tworzenie struktury dla przestrzeni użytkownika ---
27
54
install -dm0755 ${PKGDIR}/usr/{lib,{bin,share/{applications,pixmaps,man/man1,doc/nvidia}}}
28
55
install -dm0755 ${PKGDIR}/usr/share/glvnd/egl_vendor.d
29
56
install -dm0755 ${PKGDIR}/usr/share/vulkan/implicit_layer.d
30
57
install -dm0755 ${PKGDIR}/lib/udev/rules.d
31
- install -dm0755 "${_modulesdir}"
32
-
33
- # --- 1. Kompilacja i instalacja modułów jądra ---
34
- cd kernel
35
- make SYSSRC=/lib/modules/${_kernver}/build module
36
- install -m 0644 nvidia.ko "${_modulesdir}/"
37
- install -m 0644 nvidia-modeset.ko "${_modulesdir}/"
38
- install -m 0644 nvidia-uvm.ko "${_modulesdir}/"
39
- install -m 0644 nvidia-drm.ko "${_modulesdir}/"
40
- cd ..
41
-
42
- # --- 2. Instalacja bibliotek użytkownika ---
58
+
59
+ # Instalacja bibliotek użytkownika
43
60
for _lib in *.so.${pkgver}; do
44
61
if [ -f "$_lib" ]; then
45
62
install -m 0755 "$_lib" ${PKGDIR}/usr/lib/
@@ -127,6 +144,13 @@ package: |
127
144
true
128
145
129
146
postinstall: |
130
- depmod -a $(uname -r)
147
+ # Rejestracja i budowanie modułów przez DKMS dla zainstalowanych jąder
148
+ dkms add -m nvidia -v 610.57.04 || true
149
+ dkms build -m nvidia -v 610.57.04 || true
150
+ dkms install -m nvidia -v 610.57.04 || true
131
151
ldconfig
132
- udevadm control --reload-rules || true
152
+ udevadm control --reload-rules || true
153
+
154
+preremove: |
155
+ # Usunięcie modułów z DKMS przed odinstalowaniem pakietu
156
+ dkms remove -m nvidia -v 610.57.04 --all || true