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