← recipes

Commit 950522b7

0
files
+0
added
-0
deleted
@@ -7,7 +7,10 @@ arch: x86_64
7 7 license:
8 8 - custom
9 9
10 +# `kernel` (nie `linux-headers`) daje /usr/src/kernel + symlink build/source w
11 +# /usr/lib/modules/<ver> – to jest SYSSRC, którego używa DKMS przy instalacji.
10 12 depends:
13 +- kernel
11 14 - dkms
12 15
13 16 makedepends:
@@ -115,76 +118,77 @@ build: |
115 118 done
116 119
117 120 # ═══ CZĘŚĆ 2/3: ŹRÓDŁA DKMS ═══
121 + # Zawartość ${_nvdir}/kernel/ (Makefile, Kbuild oraz katalogi nvidia/,
122 + # nvidia-modeset/, nvidia-uvm/, nvidia-drm/) kopiujemy DO ${_srcdir}/, dlatego
123 + # BUILT_MODULE_LOCATION w dkms.conf to "." (katalog główny drzewa DKMS), a NIE
124 + # "kernel" – taki katalog w rozwiązanym drzewie nie istnieje.
118 125 _srcdir="${PKGDIR}/usr/src/nvidia-${pkgver}"
119 126 install -dm0755 "${_srcdir}"
120 127 cp -r "${_nvdir}"/kernel/* "${_srcdir}/"
121 128
122 - cat > "${_srcdir}/dkms.conf" << 'EOF'
123 -PACKAGE_NAME="nvidia"
124 -PACKAGE_VERSION="610.57.04"
125 -AUTOINSTALL="yes"
129 + cat > "${_srcdir}/dkms.conf" << EOF
130 + PACKAGE_NAME="nvidia"
131 + PACKAGE_VERSION="${pkgver}"
132 + AUTOINSTALL="yes"
126 133
127 -BUILT_MODULE_NAME[0]="nvidia"
128 -BUILT_MODULE_LOCATION[0]="kernel"
129 -DEST_MODULE_LOCATION[0]="/extra"
134 + BUILT_MODULE_NAME[0]="nvidia"
135 + BUILT_MODULE_LOCATION[0]="."
136 + DEST_MODULE_LOCATION[0]="/kernel/drivers/video/nvidia"
130 137
131 -BUILT_MODULE_NAME[1]="nvidia-modeset"
132 -BUILT_MODULE_LOCATION[1]="kernel-modeset"
133 -DEST_MODULE_LOCATION[1]="/extra"
138 + BUILT_MODULE_NAME[1]="nvidia-modeset"
139 + BUILT_MODULE_LOCATION[1]="."
140 + DEST_MODULE_LOCATION[1]="/kernel/drivers/video/nvidia"
134 141
135 -BUILT_MODULE_NAME[2]="nvidia-uvm"
136 -BUILT_MODULE_LOCATION[2]="kernel-uvm"
137 -DEST_MODULE_LOCATION[2]="/extra"
142 + BUILT_MODULE_NAME[2]="nvidia-uvm"
143 + BUILT_MODULE_LOCATION[2]="."
144 + DEST_MODULE_LOCATION[2]="/kernel/drivers/video/nvidia"
138 145
139 -BUILT_MODULE_NAME[3]="nvidia-drm"
140 -BUILT_MODULE_LOCATION[3]="kernel-drm"
141 -DEST_MODULE_LOCATION[3]="/extra"
142 -EOF
146 + BUILT_MODULE_NAME[3]="nvidia-drm"
147 + BUILT_MODULE_LOCATION[3]="."
148 + DEST_MODULE_LOCATION[3]="/kernel/drivers/video/nvidia"
149 + EOF
143 150
144 151 # ═══ CZĘŚĆ 3/3: KONFIGURACJA SYSTEMOWA ═══
145 152 install -dm0755 ${PKGDIR}/usr/lib/udev/rules.d
146 153 install -dm0755 ${PKGDIR}/etc/modprobe.d
147 154 install -dm0755 ${PKGDIR}/etc/X11/xorg.conf.d
148 155
149 - # Xorg OutputClass
150 156 cat > ${PKGDIR}/etc/X11/xorg.conf.d/10-nvidia-drm.conf << 'EOF'
151 -Section "OutputClass"
152 - Identifier "nvidia"
153 - MatchDriver "nvidia-drm"
154 - Driver "nvidia"
155 - Option "AllowEmptyInitialConfiguration"
156 -EndSection
157 -EOF
158 -
159 - # Modprobe config
157 + Section "OutputClass"
158 + Identifier "nvidia"
159 + MatchDriver "nvidia-drm"
160 + Driver "nvidia"
161 + Option "AllowEmptyInitialConfiguration"
162 + EndSection
163 + EOF
164 +
160 165 cat > ${PKGDIR}/etc/modprobe.d/nvidia-drm.conf << 'EOF'
161 -options nvidia-drm modeset=1
162 -EOF
166 + options nvidia-drm modeset=1
167 + EOF
163 168
164 - # Autoload nvidia-drm przy PCI hot-plug
165 169 cat > ${PKGDIR}/usr/lib/udev/rules.d/99-pagan-nvidia-autoload.rules << 'EOF'
166 -ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", RUN+="/usr/sbin/modprobe nvidia-drm"
167 -ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", RUN+="/usr/sbin/modprobe nvidia-drm"
168 -EOF
170 + ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", RUN+="/usr/sbin/modprobe nvidia-drm"
171 + ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", RUN+="/usr/sbin/modprobe nvidia-drm"
172 + EOF
169 173
170 - # Blacklist nouveau
171 174 cat > ${PKGDIR}/etc/modprobe.d/nouveau.conf << 'EOF'
172 -blacklist nouveau
173 -options nouveau modeset=0
174 -EOF
175 + blacklist nouveau
176 + options nouveau modeset=0
177 + EOF
175 178
176 179 hooks:
177 180 post-install: |
178 - if [ ! -d "/lib/modules/$(uname -r)/build" ]; then
179 - echo "BŁĄD: Brak nagłówków jądra dla $(uname -r) w /lib/modules/$(uname -r)/build."
180 - echo "Zainstaluj pakiet linux-headers i uruchom: dkms autoinstall"
181 + export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
182 + if [ ! -d /usr/src/kernel ] && [ ! -d "/lib/modules/$(uname -r)/build" ]; then
183 + echo "BŁĄD: brak źródeł jądra (/usr/src/kernel lub /lib/modules/$(uname -r)/build)."
184 + echo "Zainstaluj pakiet kernel i uruchom: dkms autoinstall"
181 185 exit 0
182 186 fi
183 187 dkms add -m nvidia -v 610.57.04 || true
184 188 dkms build -m nvidia -v 610.57.04 || true
185 189 dkms install -m nvidia -v 610.57.04 || true
186 190 depmod -a || true
187 - dracut --regenerate-all --force || true
191 + if command -v pagan-initramfs >/dev/null 2>&1; then pagan-initramfs || true; fi
188 192 ldconfig
189 193 udevadm control --reload-rules || true
190 194 pre-remove: |
@@ -192,7 +196,7 @@ hooks:
192 196 post-upgrade: |
193 197 dkms autoinstall || true
194 198 depmod -a || true
195 - dracut --regenerate-all --force || true
199 + if command -v pagan-initramfs >/dev/null 2>&1; then pagan-initramfs || true; fi
196 200
197 201 package: |
198 - true
202 + true