diff --git a/.SRCINFO b/.SRCINFO index 6263d56..9850db2 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,20 +1,20 @@ pkgbase = nvidia-340xx pkgdesc = NVIDIA drivers for linux, 340xx legacy branch pkgver = 340.108 - pkgrel = 3 + pkgrel = 4 url = https://www.nvidia.com/ arch = x86_64 license = custom makedepends = nvidia-340xx-utils=340.108 - makedepends = linux>=5.4 - makedepends = linux-headers>=5.4 + makedepends = linux>=5.5 + makedepends = linux-headers>=5.5 conflicts = nvidia options = !strip source = https://us.download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108-no-compat32.run - source = unfuck-340.108-build-fix.patch + source = unfuck-for-5.5.x.patch source = fix_multi_core_build.patch sha256sums = 995d44fef587ff5284497a47a95d71adbee0c13020d615e940ac928f180f5b77 - sha256sums = 2b7e3ef24846a40f4492e749be946e4f7f70ebed054bc2c9079f6cbdcbfabe57 + sha256sums = 9144ed832f33b6a09a95ffe8fe3a2cdec198ab4ac270e861065992939fe8d9b6 sha256sums = 82d14e9e6ec47c345d225d9f398238b7254cd5ae581c70e8521b9157ec747890 pkgname = nvidia-340xx diff --git a/PKGBUILD b/PKGBUILD index de1cba3..6b675be 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,22 +6,22 @@ pkgbase=nvidia-340xx pkgname=(nvidia-340xx nvidia-340xx-dkms) pkgver=340.108 -pkgrel=3 +pkgrel=4 pkgdesc="NVIDIA drivers for linux, 340xx legacy branch" arch=('x86_64') url="https://www.nvidia.com/" -makedepends=("nvidia-340xx-utils=${pkgver}" 'linux>=5.4' 'linux-headers>=5.4') +makedepends=("nvidia-340xx-utils=${pkgver}" 'linux>=5.5' 'linux-headers>=5.5') conflicts=('nvidia') license=('custom') options=(!strip) # seems manjaro is keeping this current # https://gitlab.manjaro.org/packages?utf8=%E2%9C%93&filter=nvidia-340xx source=("https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run" - unfuck-340.108-build-fix.patch + unfuck-for-5.5.x.patch fix_multi_core_build.patch ) sha256sums=('995d44fef587ff5284497a47a95d71adbee0c13020d615e940ac928f180f5b77' - '2b7e3ef24846a40f4492e749be946e4f7f70ebed054bc2c9079f6cbdcbfabe57' + '9144ed832f33b6a09a95ffe8fe3a2cdec198ab4ac270e861065992939fe8d9b6' '82d14e9e6ec47c345d225d9f398238b7254cd5ae581c70e8521b9157ec747890') _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" diff --git a/unfuck-340.108-build-fix.patch b/unfuck-340.108-build-fix.patch deleted file mode 100644 index 7a786de..0000000 --- a/unfuck-340.108-build-fix.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/uvm/nvidia_uvm_lite.c b/uvm/nvidia_uvm_lite.c -index 6943e7c..c5d232c 100644 ---- a/uvm/nvidia_uvm_lite.c -+++ b/uvm/nvidia_uvm_lite.c -@@ -820,7 +820,13 @@ done: - } - - #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) -+vm_fault_t _fault(struct vm_fault *vmf) -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+int _fault(struct vm_fault *vmf) -+#else - int _fault(struct vm_area_struct *vma, struct vm_fault *vmf) -+#endif - { - #if defined(NV_VM_FAULT_HAS_ADDRESS) - unsigned long vaddr = vmf->address; -@@ -828,8 +834,15 @@ int _fault(struct vm_area_struct *vma, struct vm_fault *vmf) - unsigned long vaddr = (unsigned long)vmf->virtual_address; - #endif - struct page *page = NULL; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) -+ vm_fault_t retval; -+#else - int retval; - -+#endif -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+ struct vm_area_struct *vma = vmf->vma; -+#endif - retval = _fault_common(vma, vaddr, &page, vmf->flags); - - vmf->page = page; -@@ -868,7 +881,13 @@ static struct vm_operations_struct uvmlite_vma_ops = - // it's dealing with anonymous mapping (see handle_pte_fault). - // - #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) -+vm_fault_t _sigbus_fault(struct vm_fault *vmf) -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+int _sigbus_fault(struct vm_fault *vmf) -+#else - int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf) -+#endif - { - vmf->page = NULL; - return VM_FAULT_SIGBUS; diff --git a/unfuck-for-5.5.x.patch b/unfuck-for-5.5.x.patch new file mode 100644 index 0000000..90f2578 --- /dev/null +++ b/unfuck-for-5.5.x.patch @@ -0,0 +1,13 @@ +From: Osvaldo Costa +-- +diff --git a/uvm/Makefile b/uvm/Makefile +index 0cad8ff..043a08d 100644 +--- a/uvm/Makefile ++++ b/uvm/Makefile +@@ -207,6 +207,7 @@ ccflags-y += $(EXTRA_CFLAGS) + + RM_MODULE_SYMVERS:= $(RM_OUT_DIR)/Module.symvers + UVM_MODULE_SYMVERS:= $(obj)/Module.symvers ++KBUILD_EXTRA_SYMBOLS:= $(UVM_MODULE_SYMVERS) + + module $(MODULE_NAME).ko: $(UVM_MODULE_SYMVERS) debug_diagnostics_printing