_extramodules=extramodules-6.11 _kver=$(cat /lib/modules/${_extramodules}/version) pkgname=('nvidia' 'khd-nvidia') pkgver=560.35.03 pkgrel=8 epoch=2 arch=('x86_64') url="https://www.nvidia.com/page/home.html" makedepends=('linux-headers' 'linux>=6.11.7' 'linux<6.12' "nvidia-utils=2:${pkgver}") options=('!strip') license=('custom') #_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" 'nvidia_supported' 'linux-4.10.patch') md5sums=('d4f54004bb80da17b3e2fb21ac17c018' '282f73f1a7326339a7b0e0716eee4f76' '4ab00fe5ab144083caa6c6994feea7e6') build() { cd "${srcdir}" sh "${_pkg}.run" --extract-only cd "${_pkg}" #patch -p1 -i ${srcdir}/linux-4.10.patch #export IGNORE_CC_MISMATCH=yes cd "${srcdir}/${_pkg}/kernel" make SYSSRC=/lib/modules/"${_kver}/build" module } package_nvidia() { pkgdesc="NVIDIA drivers for linux." depends=('linux>=6.11.7' 'linux<6.12' "nvidia-utils=2:${pkgver}") conflicts=('nvidia-470xx' 'nvidia-390xx' 'nvidia-bumblebee') provides=('nvidia-bumblebee') replaces=('nvidia-bumblebee') install=nvidia.install 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/nouveau_blacklist.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.conf sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install" } package_khd-nvidia() { pkgdesc="KHD ids for nvidia $pkgver" arch=('x86_64') conflicts=('chd-nvidia') replaces=('chd-nvidia') cd "${srcdir}/${_pkg}" install -dm755 "${pkgdir}/opt/kdeos/hwdb" sh -e "${srcdir}/nvidia_supported" README.txt kernel/nv-xxx.o \ > "${pkgdir}/opt/kdeos/hwdb/hw_nvidia_hwdb" }