← recipes

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