_extramodules=extramodules-6.12-next _kver=$(cat /lib/modules/${_extramodules}/version) pkgname=nvidia-next pkgver=560.35.03 pkgrel=17 epoch=2 pkgdesc="NVIDIA drivers for linux." arch=('x86_64') license=('custom') url="https://www.nvidia.com/page/home.html" depends=('linux-next>=6.12' 'linux-next<6.13.0' "nvidia-utils=2:${pkgver}") makedepends=('linux-next-headers') conflicts=('nvidia-bumblebee-next') provides=('nvidia-bumblebee-next') replaces=('nvidia-bumblebee-next') install=nvidia-next.install options=('!strip') #_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" _pkg="NVIDIA-Linux-x86_64-${pkgver}" source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run" 'linux-6.12.patch') md5sums=('d4f54004bb80da17b3e2fb21ac17c018' '96b666ed713940189dbdb99a69d63066') build() { cd ${srcdir} sh ${_pkg}.run --extract-only cd ${_pkg}/kernel patch -p1 -i ${srcdir}/linux-6.12.patch cd ${srcdir}/${_pkg}/kernel make SYSSRC=/lib/modules/${_kver}/build module } package() { install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia.ko install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia-modeset.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia-modeset.ko install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia-uvm.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia-uvm.ko install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia-drm.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia-drm.ko # sign the module _file=/usr/src/linux-${_kver}/scripts/sign-file _pem=/$HOME/signing_key.pem _key=/$HOME/signing_key.x509 ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia.ko ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia-modeset.ko ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia-uvm.ko ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia-drm.ko gzip ${pkgdir}/lib/modules/${_extramodules}/*.ko install -d -m755 ${pkgdir}/etc/modprobe.d install -d -m755 ${pkgdir}/etc/dracut.conf.d echo "blacklist nouveau" >> ${pkgdir}/etc/modprobe.d/nvidia.conf # adding nvidia drivers to the dracut initrd, might load nvidia too late otherwise echo 'add_drivers+=" nvidia nvidia-drm nvidia-modeset nvidia-uvm "' >> ${pkgdir}/etc/dracut.conf.d/nvidia-next.conf sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" ${startdir}/nvidia-next.install }