_extramodules=extramodules-6.11 _kver=$(cat /lib/modules/${_extramodules}/version) pkgname=('nvidia-390xx' 'khd-nvidia-390xx') pkgver=390.157 pkgrel=39 arch=('x86_64') url="https://www.nvidia.com/page/home.html" makedepends=('linux-headers' 'linux>=6.11.7' 'linux<6.12' "nvidia-390xx-utils=${pkgver}") license=('custom') options=('!strip') _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run" 'nvidia_supported' 'linux-6.2.patch' 'linux-6.3.patch' 'linux-6.4.patch' 'linux-6.5.patch' 'linux-6.6.patch' 'linux-6.8.patch' 'linux-6.10.patch' 'gcc14.patch') md5sums=('405c2220d5d3711e9f298c871e8d66ee' '282f73f1a7326339a7b0e0716eee4f76' '334d82cdc82c8172e9c21188c872523e' 'd54c6a018acf6c147847d2d1511bed8a' 'cd698c9fdb8fe9a1b776b1dcdac5064c' '0ea696144a7199536089664225775b47' '542666e201625eb18cb26c830373ed2e' '23be586e1177bf0fb3aa8236ad42f008' '8da97da4a024e23c3b0e8f6bd2c09579' 'ef4f76758ebd4559d3c6c7e50797d0fd') build() { cd "${srcdir}" sh "${_pkg}.run" --extract-only cd "${_pkg}"/kernel patch -p1 -i ${srcdir}/linux-6.2.patch patch -p1 -i ${srcdir}/linux-6.3.patch patch -p1 -i ${srcdir}/linux-6.4.patch patch -p1 -i ${srcdir}/linux-6.5.patch patch -p1 -i ${srcdir}/linux-6.6.patch patch -p1 -i ${srcdir}/linux-6.8.patch patch -p1 -i ${srcdir}/linux-6.10.patch patch -p1 -i ${srcdir}/gcc14.patch # linux 4.19 needed #sed -i -e 's|drm_mode_connector_attach_encoder|drm_connector_attach_encoder|g' kernel/nvidia-drm/nvidia-drm-encoder.c export IGNORE_CC_MISMATCH=yes cd "${srcdir}/${_pkg}/kernel" make SYSSRC=/lib/modules/"${_kver}/build" module } package_nvidia-390xx() { pkgdesc="NVIDIA drivers for linux, 390xx legacy version." depends=('linux>=6.11.7' 'linux<6.12' "nvidia-390xx-utils=${pkgver}") conflicts=('nvidia' 'nvidia-470xx') 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" echo "blacklist nouveau" >> "${pkgdir}/etc/modprobe.d/nouveau_blacklist.conf" sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install" } package_khd-nvidia-390xx() { pkgdesc="KHD ids for nvidia-390xx $pkgver" arch=('x86_64') 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_nvidia390xx_hwdb" }