diff --git a/common/shlibs b/common/shlibs index 17621bdb846..24c31d8621d 100644 --- a/common/shlibs +++ b/common/shlibs @@ -131,16 +131,13 @@ libbrcmOpenVG.so rpi-userland-20180103_2 libwayland-egl.so.1 wayland-1.15.0_4 libnvidia-ml.so.1 nvidia-libs-346.47_1 ignore libnvidia-ml.so.1 nvidia304-libs-304.00_1 ignore -libnvidia-ml.so.1 nvidia340-libs-340.46_1 ignore libnvidia-ml.so.1 nvidia390-libs-390.87_1 ignore libnvidia-tls.so.346.47 nvidia-libs-346.47_1 ignore libnvidia-glcore.so.346.47 nvidia-libs-346.47_1 ignore libnvidia-gtk2.so.346.47 nvidia-gtklibs-346.47_1 ignore libnvidia-gtk3.so.346.47 nvidia-gtklibs-346.47_1 ignore -libnvidia-glcore.so.346.47 nvidia340-libs-340.46_1 ignore libnvidia-glcore.so.390.87 nvidia390-libs-390.87_1 ignore libnvidia-glsi.so.346.72 nvidia-libs-346.72_1 ignore -libnvidia-glsi.so.340.107 nvidia340-libs-340.107_7 ignore libnvidia-fatbinaryloader.so.390.138 nvidia390-libs-390.138_1 ignore libnvidia-fatbinaryloader.so.430.40 nvidia-libs-430.40_1 ignore libglapi.so.0 libglapi-7.11_1 diff --git a/srcpkgs/nvidia340-dkms b/srcpkgs/nvidia340-dkms deleted file mode 120000 index 383d067a70f..00000000000 --- a/srcpkgs/nvidia340-dkms +++ /dev/null @@ -1 +0,0 @@ -nvidia340 \ No newline at end of file diff --git a/srcpkgs/nvidia340-libs b/srcpkgs/nvidia340-libs deleted file mode 120000 index 383d067a70f..00000000000 --- a/srcpkgs/nvidia340-libs +++ /dev/null @@ -1 +0,0 @@ -nvidia340 \ No newline at end of file diff --git a/srcpkgs/nvidia340-opencl b/srcpkgs/nvidia340-opencl deleted file mode 120000 index 383d067a70f..00000000000 --- a/srcpkgs/nvidia340-opencl +++ /dev/null @@ -1 +0,0 @@ -nvidia340 \ No newline at end of file diff --git a/srcpkgs/nvidia340/INSTALL b/srcpkgs/nvidia340/INSTALL deleted file mode 100644 index 6b065bedb4a..00000000000 --- a/srcpkgs/nvidia340/INSTALL +++ /dev/null @@ -1,7 +0,0 @@ -# Regenerate initramfs. -case ${ACTION} in -post) - echo "Regenerating initramfs, please wait..." - dracut -f -q --regenerate-all - ;; -esac diff --git a/srcpkgs/nvidia340/INSTALL.msg b/srcpkgs/nvidia340/INSTALL.msg deleted file mode 100644 index 6301c36edbe..00000000000 --- a/srcpkgs/nvidia340/INSTALL.msg +++ /dev/null @@ -1,15 +0,0 @@ -> Remove from your /etc/X11/xorg.conf blocks like this: - -Section "Files" -... -EndSection - -This is known to happen when the configuration is generated by nvidia-xconfig. -Such a section interferes with the "Files" Section provided by the package. - -------------------------------------------------------------------------------- - -> If you wish to go back to nouveau: - -# xbps-remove nvidia340 nvidia340-dkms -# xbps-install libglvnd diff --git a/srcpkgs/nvidia340/REMOVE b/srcpkgs/nvidia340/REMOVE deleted file mode 100644 index e4d494ca015..00000000000 --- a/srcpkgs/nvidia340/REMOVE +++ /dev/null @@ -1,7 +0,0 @@ -# Regenerate initramfs. -case ${ACTION} in -purge) - echo "Regenerating initramfs, please wait..." - dracut -f -q --regenerate-all - ;; -esac diff --git a/srcpkgs/nvidia340/files/kernel-5.8.patch b/srcpkgs/nvidia340/files/kernel-5.8.patch deleted file mode 100644 index 1d8b1a40e1e..00000000000 --- a/srcpkgs/nvidia340/files/kernel-5.8.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 2cc3342b4b3c96bcc4062513011d35c079b009a2 Mon Sep 17 00:00:00 2001 -From: graysky -Date: Thu, 22 Oct 2020 06:59:59 -0400 -Subject: [PATCH 2/3] kernel-5.8 - -credit: https://launchpad.net/~kelebek333/+archive/ubuntu/nvidia-legacy/+packages -extracted from: https://launchpadlibrarian.net/492468557/nvidia-graphics-drivers-340_340.108-1lmtrfocal3_340.108-2lmtrfocal.diff.gz ---- - kernel/nv-linux.h | 8 ++++++++ - kernel/nvidia-modules-common.mk | 1 + - kernel/os-mlock.c | 8 ++++++++ - kernel/uvm/nvidia_uvm_lite_api.c | 4 ++++ - 4 files changed, 21 insertions(+) - -diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h -index 83e6433..d055552 100644 ---- a/kernel/nv-linux.h -+++ b/kernel/nv-linux.h -@@ -669,11 +669,19 @@ extern nv_spinlock_t km_lock; - # define KM_FREE_RECORD(a,b,c) - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) -+#define NV_VMALLOC(ptr, size) \ -+ { \ -+ (ptr) = __vmalloc(size, GFP_KERNEL); \ -+ VM_ALLOC_RECORD(ptr, size, "vm_vmalloc"); \ -+ } -+#else - #define NV_VMALLOC(ptr, size) \ - { \ - (ptr) = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); \ - VM_ALLOC_RECORD(ptr, size, "vm_vmalloc"); \ - } -+#endif - - #define NV_VFREE(ptr, size) \ - { \ -diff --git a/kernel/nvidia-modules-common.mk b/kernel/nvidia-modules-common.mk -index b94591b..0e4c228 100644 ---- a/kernel/nvidia-modules-common.mk -+++ b/kernel/nvidia-modules-common.mk -@@ -222,6 +222,7 @@ build-sanity-checks: - define BUILD_MODULE_RULE - $(1): build-sanity-checks $(3) - @echo "NVIDIA: calling KBUILD..."; \ -+ touch .nv-kernel.o.cmd; \ - $$(MAKE) "CC=$$(CC)" NV_MODULE_SUFFIX=$$(strip $(2)) $$(KBUILD_PARAMS) modules; \ - echo "NVIDIA: left KBUILD."; \ - if ! [ -f $(1) ]; then \ -diff --git a/kernel/os-mlock.c b/kernel/os-mlock.c -index 8a1fa2f..fc50543 100644 ---- a/kernel/os-mlock.c -+++ b/kernel/os-mlock.c -@@ -44,11 +44,19 @@ RM_STATUS NV_API_CALL os_lock_user_pages( - return rmStatus; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) -+ down_read(&mm->mmap_lock); -+ ret = NV_GET_USER_PAGES((unsigned long)address, -+ page_count, write, force, user_pages, NULL); -+ up_read(&mm->mmap_lock); -+ pinned = ret; -+#else - down_read(&mm->mmap_sem); - ret = NV_GET_USER_PAGES((unsigned long)address, - page_count, write, force, user_pages, NULL); - up_read(&mm->mmap_sem); - pinned = ret; -+#endif - - if (ret < 0) - { -diff --git a/kernel/uvm/nvidia_uvm_lite_api.c b/kernel/uvm/nvidia_uvm_lite_api.c -index 8448eb6..97a4818 100644 ---- a/kernel/uvm/nvidia_uvm_lite_api.c -+++ b/kernel/uvm/nvidia_uvm_lite_api.c -@@ -30,6 +30,10 @@ - #include "uvm_gpu_ops_tests.h" - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) -+#define mmap_sem mmap_lock -+#endif -+ - // - // nvidia_uvm_lite_api.c - // --- -2.29.0 - diff --git a/srcpkgs/nvidia340/files/kernel-5.9.patch b/srcpkgs/nvidia340/files/kernel-5.9.patch deleted file mode 100644 index d8584314f24..00000000000 --- a/srcpkgs/nvidia340/files/kernel-5.9.patch +++ /dev/null @@ -1,107 +0,0 @@ -From fea401df7500bfbead5a42b1e74560dbddf2f5a3 Mon Sep 17 00:00:00 2001 -From: graysky -Date: Thu, 22 Oct 2020 07:00:35 -0400 -Subject: [PATCH 3/3] kernel-5.9 - -credit: https://github.com/warpme/minimyth2/blob/master/script/nvidia/nvidia-340.108/files/nvidia-340.108-fix-5.9-kernel-compile.patch ---- - kernel/nv-drm.c | 8 ++++++++ - kernel/nv-linux.h | 9 +++++++-- - kernel/nv.c | 4 ++++ - kernel/uvm/nvidia_uvm_linux.h | 2 ++ - 4 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/kernel/nv-drm.c b/kernel/nv-drm.c -index 85db07e..f0c1299 100644 ---- a/kernel/nv-drm.c -+++ b/kernel/nv-drm.c -@@ -415,7 +415,11 @@ static struct drm_driver nv_drm_driver = { - .set_busid = drm_pci_set_busid, - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) -+ .gem_free_object_unlocked = nv_gem_free, -+#else - .gem_free_object = nv_gem_free, -+#endif - - .prime_handle_to_fd = drm_gem_prime_handle_to_fd, - .gem_prime_export = drm_gem_prime_export, -@@ -511,8 +515,12 @@ RM_STATUS NV_API_CALL nv_alloc_os_descriptor_handle( - - #if defined(NV_DRM_GEM_OBJECT_PUT_UNLOCKED_PRESENT) - drm_gem_object_put_unlocked(&nv_obj->base); -+#else -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) -+ drm_gem_object_put_locked(&nv_obj->base); - #else - drm_gem_object_unreference_unlocked(&nv_obj->base); -+#endif - #endif - - status = RM_OK; -diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h -index d055552..524a8fe 100644 ---- a/kernel/nv-linux.h -+++ b/kernel/nv-linux.h -@@ -136,8 +136,10 @@ - - #if defined(NVCPU_X86_64) && !defined(HAVE_COMPAT_IOCTL) - #include /* sys_ioctl() */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0) - #include /* register_ioctl32_conversion() */ - #endif -+#endif - - #if !defined(NV_FILE_OPERATIONS_HAS_IOCTL) && \ - !defined(NV_FILE_OPERATIONS_HAS_UNLOCKED_IOCTL) -@@ -2249,10 +2251,13 @@ static inline NvU64 nv_node_end_pfn(int nid) - pages, vmas, NULL); - - #else -- -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) -+ return get_user_pages_remote(mm, start, nr_pages, flags, -+ pages, vmas, NULL); -+#else - return get_user_pages_remote(tsk, mm, start, nr_pages, flags, - pages, vmas); -- -+#endif - #endif - - } -diff --git a/kernel/nv.c b/kernel/nv.c -index a218f83..be4e0f8 100644 ---- a/kernel/nv.c -+++ b/kernel/nv.c -@@ -2785,7 +2785,11 @@ nvidia_probe - - #if defined(CONFIG_VGA_ARB) - #if defined(VGA_DEFAULT_DEVICE) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) -+ vga_get(VGA_DEFAULT_DEVICE, VGA_RSRC_LEGACY_MASK, 0); -+#else - vga_tryget(VGA_DEFAULT_DEVICE, VGA_RSRC_LEGACY_MASK); -+#endif - #endif - vga_set_legacy_decoding(dev, VGA_RSRC_NONE); - #endif -diff --git a/kernel/uvm/nvidia_uvm_linux.h b/kernel/uvm/nvidia_uvm_linux.h -index 1625209..efc181f 100644 ---- a/kernel/uvm/nvidia_uvm_linux.h -+++ b/kernel/uvm/nvidia_uvm_linux.h -@@ -158,8 +158,10 @@ - - #if defined(NVCPU_X86_64) && !defined(HAVE_COMPAT_IOCTL) - #include /* sys_ioctl() */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0) - #include /* register_ioctl32_conversion() */ - #endif -+#endif - - #if !defined(NV_FILE_OPERATIONS_HAS_IOCTL) && \ - !defined(NV_FILE_OPERATIONS_HAS_UNLOCKED_IOCTL) --- -2.29.0 - diff --git a/srcpkgs/nvidia340/files/kernel-5.x.patch b/srcpkgs/nvidia340/files/kernel-5.x.patch deleted file mode 100644 index d7f763bbe39..00000000000 --- a/srcpkgs/nvidia340/files/kernel-5.x.patch +++ /dev/null @@ -1,781 +0,0 @@ -From 2154cc447a2377cfd60a7b7c5b619e689ebf71b1 Mon Sep 17 00:00:00 2001 -From: graysky -Date: Thu, 22 Oct 2020 06:58:53 -0400 -Subject: [PATCH 1/3] kernel-5.7 - -Contains a bunch of stuff required for things up to 5.7. -credit: https://gitlab.manjaro.org/packages?utf8=%E2%9C%93&filter=nvidia-340xx ---- - kernel/Makefile | 5 + - kernel/conftest.sh | 81 +++++++++++++ - kernel/dkms.conf | 8 +- - kernel/nv-drm.c | 229 ++++++++++++++++++++++++++++++++++- - kernel/nv-linux.h | 49 ++++++++ - kernel/nv-procfs.c | 20 +++ - kernel/nv-time.h | 9 +- - kernel/nv.c | 2 +- - kernel/os-interface.c | 8 +- - kernel/uvm/Makefile | 1 + - kernel/uvm/conftest.sh | 4 + - kernel/uvm/nvidia_uvm_lite.c | 29 ++++- - 12 files changed, 431 insertions(+), 14 deletions(-) - -diff --git a/kernel/Makefile b/kernel/Makefile -index 125a690..2597080 100644 ---- a/kernel/Makefile -+++ b/kernel/Makefile -@@ -108,12 +108,14 @@ COMPILE_TESTS = \ - acquire_console_sem \ - console_lock \ - kmem_cache_create \ -+ kmem_cache_create_usercopy \ - outer_flush_all \ - on_each_cpu \ - smp_call_function \ - nvmap_support \ - acpi_evaluate_integer \ - ioremap_cache \ -+ ioremap_nocache \ - ioremap_wc \ - proc_dir_entry \ - INIT_WORK \ -@@ -122,6 +124,7 @@ COMPILE_TESTS = \ - pci_domain_nr \ - pci_dma_mapping_error \ - file_operations \ -+ proc_ops \ - sg_alloc_table \ - sg_init_table \ - pci_get_domain_bus_and_slot \ -@@ -147,6 +150,8 @@ COMPILE_TESTS = \ - vm_fault_present \ - vm_fault_has_address \ - drm_driver_unload_has_int_return_type \ -+ drm_get_pci_dev \ -+ drm_pci_init \ - drm_legacy_pci_init \ - timer_setup \ - do_gettimeofday \ -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index b7a85f0..a5225e5 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -176,6 +176,7 @@ test_headers() { - FILES="$FILES linux/ktime.h" - FILES="$FILES linux/file.h" - -+ FILES_ARCH="$FILES_ARCH asm/pgtable.h" - FILES_ARCH="$FILES_ARCH asm/set_memory.h" - - translate_and_find_header_files $HEADERS $FILES -@@ -440,6 +441,9 @@ compile_test() { - # Determine if the set_memory_array_uc() function is present. - # - CODE=" -+ #if defined(NV_ASM_PGTABLE_H_PRESENT) -+ #include -+ #endif - #if defined(NV_ASM_SET_MEMORY_H_PRESENT) - #include - #else -@@ -914,6 +918,21 @@ compile_test() { - fi - ;; - -+ kmem_cache_create_usercopy) -+ # -+ # Determine if the kmem_cache_create_usercopy function exists. -+ # -+ # This function was added by: -+ # 2017-06-10 8eb8284b412906181357c2b0110d879d5af95e52 -+ CODE=" -+ #include -+ void kmem_cache_create_usercopy(void) { -+ kmem_cache_create_usercopy(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_KMEM_CACHE_CREATE_USERCOPY_PRESENT" "" "functions" -+ ;; -+ - smp_call_function) - # - # Determine if the smp_call_function() function is -@@ -1188,6 +1207,22 @@ compile_test() { - compile_check_conftest "$CODE" "NV_IOREMAP_CACHE_PRESENT" "" "functions" - ;; - -+ ioremap_nocache) -+ # -+ # Determine if the ioremap_nocache() function is present. -+ # -+ # Removed by commit 4bdc0d676a64 ("remove ioremap_nocache and -+ # devm_ioremap_nocache") in v5.6 (2020-01-06) -+ # -+ CODE=" -+ #include -+ void conftest_ioremap_nocache(void) { -+ ioremap_nocache(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_IOREMAP_NOCACHE_PRESENT" "" "functions" -+ ;; -+ - ioremap_wc) - # - # Determine if the ioremap_wc() function is present. -@@ -1371,6 +1406,16 @@ compile_test() { - compile_check_conftest "$CODE" "NV_FILE_OPERATIONS_HAS_COMPAT_IOCTL" "" "types" - ;; - -+ proc_ops) -+ CODE=" -+ #include -+ int conftest_proc_ops(void) { -+ return offsetof(struct proc_ops, proc_open); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_HAVE_PROC_OPS" "" "types" -+ ;; -+ - sg_init_table) - # - # Determine if the sg_init_table() function is present. -@@ -2044,6 +2089,42 @@ compile_test() { - compile_check_conftest "$CODE" "NV_DRM_DRIVER_UNLOAD_HAS_INT_RETURN_TYPE" "" "types" - ;; - -+ drm_get_pci_dev) -+ # -+ # Determine if drm_get_pci_dev() is present. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ #if defined(NV_DRM_DRM_PCI_H_PRESENT) -+ #include -+ #endif -+ -+ void conftest_drm_legacy_pci_init(void) { -+ drm_get_pci_dev(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_GET_PCI_DEV_PRESENT" "" "functions" -+ ;; -+ -+ drm_pci_init) -+ # -+ # Determine if drm_pci_init() is present. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ void conftest_drm_legacy_pci_init(void) { -+ drm_pci_init(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_PCI_INIT_PRESENT" "" "functions" -+ ;; -+ - drm_legacy_pci_init) - # - # Determine if drm_legacy_pci_init() is present. drm_pci_init() was -diff --git a/kernel/dkms.conf b/kernel/dkms.conf -index 79a02ae..3140f03 100644 ---- a/kernel/dkms.conf -+++ b/kernel/dkms.conf -@@ -1,7 +1,13 @@ -+if [ -x /usr/bin/nproc ]; then -+ num_cpu_cores=$(nproc) -+else -+ num_cpu_cores=1 -+fi -+ - PACKAGE_NAME="nvidia" - PACKAGE_VERSION="340.108" - BUILT_MODULE_NAME[0]="$PACKAGE_NAME" - DEST_MODULE_LOCATION[0]="/kernel/drivers/video" --MAKE[0]="make module KERNEL_UNAME=${kernelver}" -+MAKE[0]="make -j$num_cpu_cores module KERNEL_UNAME=${kernelver}" - CLEAN="make clean" - AUTOINSTALL="yes" -diff --git a/kernel/nv-drm.c b/kernel/nv-drm.c -index 0d1cdbf..85db07e 100644 ---- a/kernel/nv-drm.c -+++ b/kernel/nv-drm.c -@@ -50,9 +50,236 @@ - #if defined(NV_DRM_LEGACY_PCI_INIT_PRESENT) - #define nv_drm_pci_init drm_legacy_pci_init - #define nv_drm_pci_exit drm_legacy_pci_exit --#else -+#elif defined(NV_DRM_PCI_INIT_PRESENT) - #define nv_drm_pci_init drm_pci_init - #define nv_drm_pci_exit drm_pci_exit -+#else -+#if defined(NV_DRM_GET_PCI_DEV_PRESENT) -+#define nv_drm_get_pci_dev drm_get_pci_dev -+#else -+#include -+ -+struct nv_drm_agp_head { -+ struct agp_kern_info agp_info; -+ struct list_head memory; -+ unsigned long mode; -+ struct agp_bridge_data *bridge; -+ int enabled; -+ int acquired; -+ unsigned long base; -+ int agp_mtrr; -+ int cant_use_aperture; -+ unsigned long page_mask; -+}; -+ -+struct nv_drm_agp_mem { -+ unsigned long handle; -+ struct agp_memory *memory; -+ unsigned long bound; -+ int pages; -+ struct list_head head; -+}; -+ -+/* -+ * Code from drm_agp_init/nv_drm_{free,unbind}_agp -+ * Extracted from commit: 5b8b9d0c6d0e0f1993c6c56deaf9646942c49d94, file: drivers/gpu/drm/drm_agpsupport.c -+ */ -+struct drm_agp_head *nv_drm_agp_init(struct drm_device *dev) -+{ -+ struct nv_drm_agp_head *head = NULL; -+ -+ head = kzalloc(sizeof(*head), GFP_KERNEL); -+ if (!head) -+ return NULL; -+ head->bridge = agp_find_bridge(dev->pdev); -+ if (!head->bridge) { -+ head->bridge = agp_backend_acquire(dev->pdev); -+ if (!head->bridge) { -+ kfree(head); -+ return NULL; -+ } -+ agp_copy_info(head->bridge, &head->agp_info); -+ agp_backend_release(head->bridge); -+ } else { -+ agp_copy_info(head->bridge, &head->agp_info); -+ } -+ if (head->agp_info.chipset == NOT_SUPPORTED) { -+ kfree(head); -+ return NULL; -+ } -+ INIT_LIST_HEAD(&head->memory); -+ head->cant_use_aperture = head->agp_info.cant_use_aperture; -+ head->page_mask = head->agp_info.page_mask; -+ head->base = head->agp_info.aper_base; -+ return (struct drm_agp_head *)head; -+} -+ -+void nv_drm_free_agp(struct agp_memory *handle, int pages) -+{ -+ agp_free_memory(handle); -+} -+ -+int nv_drm_unbind_agp(struct agp_memory *handle) -+{ -+ return agp_unbind_memory(handle); -+} -+ -+/* -+ * Code from drm_pci_agp_{clear,destroy,init}/drm_get_pci_dev -+ * Extracted from commit: 5b8b9d0c6d0e0f1993c6c56deaf9646942c49d94, file: drivers/gpu/drm/drm_pci.c -+ */ -+static void nv_drm_pci_agp_init(struct drm_device *dev) -+{ -+ if (drm_core_check_feature(dev, DRIVER_USE_AGP)) { -+ if (pci_find_capability(dev->pdev, PCI_CAP_ID_AGP)) -+ dev->agp = nv_drm_agp_init(dev); -+ if (dev->agp) { -+ dev->agp->agp_mtrr = arch_phys_wc_add( -+ dev->agp->agp_info.aper_base, -+ dev->agp->agp_info.aper_size * -+ 1024 * 1024); -+ } -+ } -+} -+ -+void nv_drm_legacy_agp_clear(struct drm_device *dev) -+{ -+ struct nv_drm_agp_mem *entry, *tempe; -+ -+ if (!dev->agp) -+ return; -+ if (!drm_core_check_feature(dev, DRIVER_LEGACY)) -+ return; -+ -+ list_for_each_entry_safe(entry, tempe, &dev->agp->memory, head) { -+ if (entry->bound) -+ nv_drm_unbind_agp(entry->memory); -+ nv_drm_free_agp(entry->memory, entry->pages); -+ kfree(entry); -+ } -+ INIT_LIST_HEAD(&dev->agp->memory); -+ -+ if (dev->agp->acquired) -+ drm_agp_release(dev); -+ -+ dev->agp->acquired = 0; -+ dev->agp->enabled = 0; -+} -+ -+void nv_drm_pci_agp_destroy(struct drm_device *dev) -+{ -+ if (dev->agp) { -+ arch_phys_wc_del(dev->agp->agp_mtrr); -+ nv_drm_legacy_agp_clear(dev); -+ kfree(dev->agp); -+ dev->agp = NULL; -+ } -+} -+ -+static int nv_drm_get_pci_dev(struct pci_dev *pdev, -+ const struct pci_device_id *ent, -+ struct drm_driver *driver) -+{ -+ struct drm_device *dev; -+ int ret; -+ -+ DRM_DEBUG("\n"); -+ -+ dev = drm_dev_alloc(driver, &pdev->dev); -+ if (IS_ERR(dev)) -+ return PTR_ERR(dev); -+ -+ ret = pci_enable_device(pdev); -+ if (ret) -+ goto err_free; -+ -+ dev->pdev = pdev; -+#ifdef __alpha__ -+ dev->hose = pdev->sysdata; -+#endif -+ -+ if (drm_core_check_feature(dev, DRIVER_MODESET)) -+ pci_set_drvdata(pdev, dev); -+ -+ nv_drm_pci_agp_init(dev); -+ -+ ret = drm_dev_register(dev, ent->driver_data); -+ if (ret) -+ goto err_agp; -+ -+ /* No locking needed since shadow-attach is single-threaded since it may -+ * only be called from the per-driver module init hook. */ -+ if (drm_core_check_feature(dev, DRIVER_LEGACY)) -+ list_add_tail(&dev->legacy_dev_list, &driver->legacy_dev_list); -+ -+ return 0; -+ -+err_agp: -+ nv_drm_pci_agp_destroy(dev); -+ pci_disable_device(pdev); -+err_free: -+ drm_dev_put(dev); -+ return ret; -+} -+#endif -+ -+/* -+ * Code from drm_legacy_pci_{init,exit} -+ * Extracted from tag: v5.6.3, file: drivers/gpu/drm/drm_pci.c -+ */ -+int nv_drm_pci_init(struct drm_driver *driver, struct pci_driver *pdriver) -+{ -+ struct pci_dev *pdev = NULL; -+ const struct pci_device_id *pid; -+ int i; -+ -+ DRM_DEBUG("\n"); -+ -+ if (WARN_ON(!(driver->driver_features & DRIVER_LEGACY))) -+ return -EINVAL; -+ -+ /* If not using KMS, fall back to stealth mode manual scanning. */ -+ INIT_LIST_HEAD(&driver->legacy_dev_list); -+ for (i = 0; pdriver->id_table[i].vendor != 0; i++) { -+ pid = &pdriver->id_table[i]; -+ -+ /* Loop around setting up a DRM device for each PCI device -+ * matching our ID and device class. If we had the internal -+ * function that pci_get_subsys and pci_get_class used, we'd -+ * be able to just pass pid in instead of doing a two-stage -+ * thing. -+ */ -+ pdev = NULL; -+ while ((pdev = -+ pci_get_subsys(pid->vendor, pid->device, pid->subvendor, -+ pid->subdevice, pdev)) != NULL) { -+ if ((pdev->class & pid->class_mask) != pid->class) -+ continue; -+ -+ /* stealth mode requires a manual probe */ -+ pci_dev_get(pdev); -+ nv_drm_get_pci_dev(pdev, pid, driver); -+ } -+ } -+ return 0; -+} -+ -+void nv_drm_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver) -+{ -+ struct drm_device *dev, *tmp; -+ DRM_DEBUG("\n"); -+ -+ if (!(driver->driver_features & DRIVER_LEGACY)) { -+ WARN_ON(1); -+ } else { -+ list_for_each_entry_safe(dev, tmp, &driver->legacy_dev_list, -+ legacy_dev_list) { -+ list_del(&dev->legacy_dev_list); -+ drm_put_dev(dev); -+ } -+ } -+ DRM_INFO("Module unloaded\n"); -+} - #endif - - extern nv_linux_state_t *nv_linux_devices; -diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h -index a1d2c68..83e6433 100644 ---- a/kernel/nv-linux.h -+++ b/kernel/nv-linux.h -@@ -688,11 +688,16 @@ extern nv_spinlock_t km_lock; - VM_ALLOC_RECORD(ptr, size, "vm_ioremap"); \ - } - -+#if defined(NV_IOREMAP_NOCACHE_PRESENT) - #define NV_IOREMAP_NOCACHE(ptr, physaddr, size) \ - { \ - (ptr) = ioremap_nocache(physaddr, size); \ - VM_ALLOC_RECORD(ptr, size, "vm_ioremap_nocache"); \ - } -+#else -+#define NV_IOREMAP_NOCACHE(ptr, physaddr, size) \ -+ NV_IOREMAP(ptr, physaddr, size) -+#endif - - #if defined(NV_IOREMAP_CACHE_PRESENT) - #define NV_IOREMAP_CACHE(ptr, physaddr, size) \ -@@ -774,6 +779,17 @@ extern nv_spinlock_t km_lock; - #error "NV_KMEM_CACHE_CREATE() undefined (kmem_cache_create() unavailable)!" - #endif - -+#if defined(NV_KMEM_CACHE_CREATE_USERCOPY_PRESENT) -+#define NV_KMEM_CACHE_CREATE_USERCOPY(kmem_cache, name, type) \ -+ { \ -+ kmem_cache = kmem_cache_create_usercopy(name, sizeof(type), \ -+ 0, 0, 0, sizeof(type), NULL); \ -+ } -+#else -+#define NV_KMEM_CACHE_CREATE_USERCOPY(kmem_cache, name, type) \ -+ NV_KMEM_CACHE_CREATE(kmem_cache, name, type) -+#endif -+ - #define NV_KMEM_CACHE_ALLOC(ptr, kmem_cache, type) \ - { \ - (ptr) = kmem_cache_alloc(kmem_cache, GFP_KERNEL); \ -@@ -1971,6 +1987,19 @@ extern NvU32 nv_assign_gpu_count; - }) - #endif - -+#if defined(NV_HAVE_PROC_OPS) -+#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ -+ ({ \ -+ struct proc_dir_entry *__entry; \ -+ int mode = (S_IFREG | S_IRUGO); \ -+ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \ -+ if (fops->proc_write != 0) \ -+ mode |= S_IWUSR; \ -+ __entry = NV_CREATE_PROC_ENTRY(filename, mode, parent, fops, \ -+ __data); \ -+ __entry; \ -+ }) -+#else - #define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ - ({ \ - struct proc_dir_entry *__entry; \ -@@ -1982,6 +2011,7 @@ extern NvU32 nv_assign_gpu_count; - __data); \ - __entry; \ - }) -+#endif - - /* - * proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0. -@@ -2023,6 +2053,24 @@ extern NvU32 nv_assign_gpu_count; - remove_proc_entry(entry->name, entry->parent); - #endif - -+#if defined(NV_HAVE_PROC_OPS) -+#define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ -+ static int nv_procfs_open_##__name( \ -+ struct inode *inode, \ -+ struct file *filep \ -+ ) \ -+ { \ -+ return single_open(filep, nv_procfs_read_##__name, \ -+ NV_PDE_DATA(inode)); \ -+ } \ -+ \ -+ static const struct proc_ops nv_procfs_##__name##_fops = { \ -+ .proc_open = nv_procfs_open_##__name, \ -+ .proc_read = seq_read, \ -+ .proc_lseek = seq_lseek, \ -+ .proc_release = single_release, \ -+ }; -+#else - #define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ - static int nv_procfs_open_##__name( \ - struct inode *inode, \ -@@ -2040,6 +2088,7 @@ extern NvU32 nv_assign_gpu_count; - .llseek = seq_lseek, \ - .release = single_release, \ - }; -+#endif - - #endif /* CONFIG_PROC_FS */ - -diff --git a/kernel/nv-procfs.c b/kernel/nv-procfs.c -index ebca3e8..9365c3c 100644 ---- a/kernel/nv-procfs.c -+++ b/kernel/nv-procfs.c -@@ -409,6 +409,15 @@ done: - return ((status < 0) ? status : (int)count); - } - -+#if defined(NV_HAVE_PROC_OPS) -+static struct proc_ops nv_procfs_registry_fops = { -+ .proc_open = nv_procfs_open_registry, -+ .proc_read = seq_read, -+ .proc_write = nv_procfs_write_file, -+ .proc_lseek = seq_lseek, -+ .proc_release = nv_procfs_close_registry, -+}; -+#else - static struct file_operations nv_procfs_registry_fops = { - .owner = THIS_MODULE, - .open = nv_procfs_open_registry, -@@ -417,6 +426,7 @@ static struct file_operations nv_procfs_registry_fops = { - .llseek = seq_lseek, - .release = nv_procfs_close_registry, - }; -+#endif - - static int - nv_procfs_read_unbind_lock( -@@ -538,6 +548,15 @@ done: - return rc; - } - -+#if defined(NV_HAVE_PROC_OPS) -+static struct proc_ops nv_procfs_unbind_lock_fops = { -+ .proc_open = nv_procfs_open_unbind_lock, -+ .proc_read = seq_read, -+ .proc_write = nv_procfs_write_file, -+ .proc_lseek = seq_lseek, -+ .proc_release = nv_procfs_close_unbind_lock, -+}; -+#else - static struct file_operations nv_procfs_unbind_lock_fops = { - .owner = THIS_MODULE, - .open = nv_procfs_open_unbind_lock, -@@ -546,6 +565,7 @@ static struct file_operations nv_procfs_unbind_lock_fops = { - .llseek = seq_lseek, - .release = nv_procfs_close_unbind_lock, - }; -+#endif - - static int - nv_procfs_read_text_file( -diff --git a/kernel/nv-time.h b/kernel/nv-time.h -index a34ceb2..780f8bc 100644 ---- a/kernel/nv-time.h -+++ b/kernel/nv-time.h -@@ -28,7 +28,12 @@ - #include - #endif - --static inline void nv_gettimeofday(struct timeval *tv) -+struct nv_timeval { -+ __kernel_long_t tv_sec; -+ __kernel_suseconds_t tv_usec; -+}; -+ -+static inline void nv_gettimeofday(struct nv_timeval *tv) - { - #ifdef NV_DO_GETTIMEOFDAY_PRESENT - do_gettimeofday(tv); -@@ -37,7 +42,7 @@ static inline void nv_gettimeofday(struct timeval *tv) - - ktime_get_real_ts64(&now); - -- *tv = (struct timeval) { -+ *tv = (struct nv_timeval) { - .tv_sec = now.tv_sec, - .tv_usec = now.tv_nsec/1000, - }; -diff --git a/kernel/nv.c b/kernel/nv.c -index a167be9..a218f83 100644 ---- a/kernel/nv.c -+++ b/kernel/nv.c -@@ -752,7 +752,7 @@ int __init nvidia_init_module(void) - NV_SPIN_LOCK_INIT(&km_lock); - #endif - -- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t); -+ NV_KMEM_CACHE_CREATE_USERCOPY(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t); - if (nv_stack_t_cache == NULL) - { - nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n"); -diff --git a/kernel/os-interface.c b/kernel/os-interface.c -index 7190b26..0c0dc05 100644 ---- a/kernel/os-interface.c -+++ b/kernel/os-interface.c -@@ -439,7 +439,7 @@ RM_STATUS NV_API_CALL os_get_current_time( - NvU32 *useconds - ) - { -- struct timeval tm; -+ struct nv_timeval tm; - - nv_gettimeofday(&tm); - -@@ -474,7 +474,7 @@ RM_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds) - unsigned long usec; - - #ifdef NV_CHECK_DELAY_ACCURACY -- struct timeval tm1, tm2; -+ struct nv_timeval tm1, tm2; - - nv_gettimeofday(&tm1); - #endif -@@ -514,9 +514,9 @@ RM_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds) - unsigned long MicroSeconds; - unsigned long jiffies; - unsigned long mdelay_safe_msec; -- struct timeval tm_end, tm_aux; -+ struct nv_timeval tm_end, tm_aux; - #ifdef NV_CHECK_DELAY_ACCURACY -- struct timeval tm_start; -+ struct nv_timeval tm_start; - #endif - - nv_gettimeofday(&tm_aux); -diff --git a/kernel/uvm/Makefile b/kernel/uvm/Makefile -index 0cad8ff..043a08d 100644 ---- a/kernel/uvm/Makefile -+++ b/kernel/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 - -diff --git a/kernel/uvm/conftest.sh b/kernel/uvm/conftest.sh -index b7a85f0..33e2a63 100755 ---- a/kernel/uvm/conftest.sh -+++ b/kernel/uvm/conftest.sh -@@ -176,6 +176,7 @@ test_headers() { - FILES="$FILES linux/ktime.h" - FILES="$FILES linux/file.h" - -+ FILES_ARCH="$FILES_ARCH asm/pgtable.h" - FILES_ARCH="$FILES_ARCH asm/set_memory.h" - - translate_and_find_header_files $HEADERS $FILES -@@ -440,6 +441,9 @@ compile_test() { - # Determine if the set_memory_array_uc() function is present. - # - CODE=" -+ #if defined(NV_ASM_PGTABLE_H_PRESENT) -+ #include -+ #endif - #if defined(NV_ASM_SET_MEMORY_H_PRESENT) - #include - #else -diff --git a/kernel/uvm/nvidia_uvm_lite.c b/kernel/uvm/nvidia_uvm_lite.c -index 6943e7c..9a7e3b6 100644 ---- a/kernel/uvm/nvidia_uvm_lite.c -+++ b/kernel/uvm/nvidia_uvm_lite.c -@@ -131,8 +131,8 @@ static - RM_STATUS _preexisting_error_on_channel(UvmGpuMigrationTracking *pMigTracker, - UvmCommitRecord *pRecord); - --static void _set_timeout_in_usec(struct timeval *src, -- struct timeval *result, -+static void _set_timeout_in_usec(struct nv_timeval *src, -+ struct nv_timeval *result, - unsigned long timeoutInUsec) - { - if (!src || !result) -@@ -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; -@@ -1992,9 +2011,9 @@ void umvlite_destroy_per_process_gpu_resources(UvmGpuUuid *gpuUuidStruct) - static RM_STATUS _check_ecc_errors(UvmGpuMigrationTracking *pMigTracker, - NvBool *pIsEccErrorSet) - { -- struct timeval eccErrorStartTime = {0}; -- struct timeval eccErrorCurrentTime = {0}; -- struct timeval eccTimeout = {0}; -+ struct nv_timeval eccErrorStartTime = {0}; -+ struct nv_timeval eccErrorCurrentTime = {0}; -+ struct nv_timeval eccTimeout = {0}; - NvBool bEccErrorTimeout = NV_FALSE; - NvBool bEccIncomingError = NV_FALSE; - unsigned rmInterruptSet = 0; --- -2.29.0 - diff --git a/srcpkgs/nvidia340/files/nvidia-glx.conf b/srcpkgs/nvidia340/files/nvidia-glx.conf deleted file mode 100644 index 7c76883abb3..00000000000 --- a/srcpkgs/nvidia340/files/nvidia-glx.conf +++ /dev/null @@ -1,4 +0,0 @@ -Section "Files" - ModulePath "/usr/lib/nvidia/xorg" - ModulePath "/usr/lib/xorg/modules" -EndSection diff --git a/srcpkgs/nvidia340/template b/srcpkgs/nvidia340/template deleted file mode 100644 index 166f35756bc..00000000000 --- a/srcpkgs/nvidia340/template +++ /dev/null @@ -1,223 +0,0 @@ -# Template file for 'nvidia340' - -_desc="NVIDIA drivers (GeForce 8, 9, 9M, 100, 100M, 200, 300 series)" - -pkgname=nvidia340 -version=340.108 -revision=4 -maintainer="Orphaned " -license="custom:NVIDIA proprietary" -homepage="http://www.nvidia.com" - -archs="i686 x86_64" -nopie=yes -repository=nonfree -create_wrksrc=yes -short_desc="${_desc} - Libraries and Utilities" -hostmakedepends="tar" -depends="${pkgname}-dkms-${version}_${revision} pkg-config" -conflicts="catalyst>=0 xserver-abi-video>24_1" - -provides="nvidia-${version}_${revision}" -replaces="nvidia>=0 nvidia-stable>=0" -subpackages="${pkgname}-dkms ${pkgname}-opencl ${pkgname}-libs" - -if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then - _pkg="NVIDIA-Linux-x86-${version}" - distfiles="http://us.download.nvidia.com/XFree86/Linux-x86/${version}/${_pkg}.run" - checksum=2032aad612d9f3af1aecf979cfdfe423d79aa76929ef8bf8d3a403076f507cca -else - _pkg="NVIDIA-Linux-x86_64-${version}-no-compat32" - distfiles="http://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run" - checksum=995d44fef587ff5284497a47a95d71adbee0c13020d615e940ac928f180f5b77 -fi - -do_extract() { - install -m755 ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_pkg}.run ${wrksrc} - cd ${wrksrc} - ./${_pkg}.run --extract-only - rm -f ${_pkg}.run -} - -do_patch() { - cd ${_pkg} - patch -p1 < ${FILESDIR}/kernel-5.x.patch - patch -p1 < ${FILESDIR}/kernel-5.8.patch - patch -p1 < ${FILESDIR}/kernel-5.9.patch -} - -do_install() { - cd ${_pkg} - - # X driver - vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers - - # GLX extension module for X - vinstall libglx.so.${version} 755 usr/lib/nvidia/xorg - ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/nvidia/xorg/libglx.so.1 - ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/nvidia/xorg/libglx.so - # Override default ModulePath to load nvidia's glx instead of xorg's - vinstall ${FILESDIR}/nvidia-glx.conf 644 /usr/share/X11/xorg.conf.d 10-nvidia-glx.conf - - # OpenGL libraries (GL, EGL and GLES) - vinstall libGL.so.${version} 755 usr/lib - ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so.1 - vinstall libEGL.so.${version} 755 usr/lib - ln -sf libEGL.so.${version} ${DESTDIR}/usr/lib/libEGL.so.1 - vinstall libGLESv1_CM.so.${version} 755 usr/lib - ln -sf libGLESv1_CM.so.${version} ${DESTDIR}/usr/lib/libGLESv1_CM.so.1 - vinstall libGLESv2.so.${version} 755 usr/lib - ln -sf libGLESv2.so.${version} ${DESTDIR}/usr/lib/libGLESv2.so.2 - # Some programs link to these libglvnd links - ln -sf libGL.so.1 ${DESTDIR}/usr/lib/libOpenGL.so.0 - ln -sf libGL.so.1 ${DESTDIR}/usr/lib/libGLX.so.0 - - # OpenGL core library - vinstall libnvidia-glcore.so.${version} 755 usr/lib - ln -sf libnvidia-glcore.so.${version} ${DESTDIR}/usr/lib/libnvidia-glcore.so - - # VDPAU - vinstall libvdpau_nvidia.so.${version} 755 usr/lib/vdpau - ln -sf libvdpau_nvidia.so.${version} ${DESTDIR}/usr/lib/vdpau/libvdpau_nvidia.so - ln -sf libvdpau_nvidia.so.${version} ${DESTDIR}/usr/lib/vdpau/libvdpau_nvidia.so.1 - - # misc libraries - vinstall tls/libnvidia-tls.so.${version} 755 usr/lib - ln -sf libnvidia-tls.so.${version} ${DESTDIR}/usr/lib/libnvidia-tls.so - - vinstall libnvidia-cfg.so.${version} 755 usr/lib - ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so - ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so.1 - - vinstall libnvidia-ml.so.${version} 755 usr/lib - ln -sf libnvidia-ml.so.${version} ${DESTDIR}/usr/lib/libnvidia-ml.so - ln -sf libnvidia-ml.so.${version} ${DESTDIR}/usr/lib/libnvidia-ml.so.1 - - vinstall libnvidia-encode.so.${version} 755 usr/lib - ln -sf libnvidia-encode.so.${version} ${DESTDIR}/usr/lib/libnvidia-encode.so - ln -sf libnvidia-encode.so.${version} ${DESTDIR}/usr/lib/libnvidia-encode.so.1 - - vinstall libnvidia-ifr.so.${version} 755 usr/lib - ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/usr/lib/libnvidia-ifr.so - ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/usr/lib/libnvidia-ifr.so.1 - - vinstall libnvidia-fbc.so.${version} 755 usr/lib - ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/usr/lib/libnvidia-fbc.so - ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/usr/lib/libnvidia-fbc.so.1 - - vinstall libnvidia-glsi.so.${version} 755 usr/lib - - # CUDA - vbin nvidia-cuda-mps-control - vbin nvidia-cuda-mps-server - vman nvidia-cuda-mps-control.1.gz - - vinstall libcuda.so.${version} 755 usr/lib - ln -sf libcuda.so.${version} ${DESTDIR}/usr/lib/libcuda.so - ln -sf libcuda.so.${version} ${DESTDIR}/usr/lib/libcuda.so.1 - - vinstall libnvcuvid.so.${version} 755 usr/lib - ln -sf libnvcuvid.so.${version} ${DESTDIR}/usr/lib/libnvcuvid.so - ln -sf libnvcuvid.so.${version} ${DESTDIR}/usr/lib/libnvcuvid.so.1 - - # nvidia-xconfig - vbin nvidia-xconfig - vman nvidia-xconfig.1.gz - - # nvidia-settings - vbin nvidia-settings - vman nvidia-settings.1.gz - vinstall nvidia-settings.desktop 644 usr/share/applications - vinstall nvidia-settings.png 644 usr/share/pixmaps - sed -e 's:__UTILS_PATH__:/usr/bin:' \ - -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \ - -i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop - - # nvidia-bug-report - vbin nvidia-bug-report.sh nvidia-bug-report - vbin nvidia-debugdump - - # nvidia-smi - vbin nvidia-smi - vman nvidia-smi.1.gz - - # License and documentation. - vlicense LICENSE - vdoc README.txt README - vdoc NVIDIA_Changelog - - # opencl pkg - vinstall nvidia.icd 644 etc/OpenCL/vendors - - vinstall libnvidia-compiler.so.${version} 755 usr/lib - ln -sf libnvidia-compiler.so.${version} \ - ${DESTDIR}/usr/lib/libnvidia-compiler.so - ln -sf libnvidia-compiler.so.${version} \ - ${DESTDIR}/usr/lib/libnvidia-compiler.so.1 - - vinstall libnvidia-opencl.so.${version} 755 usr/lib - ln -sf libnvidia-opencl.so.${version} \ - ${DESTDIR}/usr/lib/libnvidia-opencl.so - ln -sf libnvidia-opencl.so.${version} \ - ${DESTDIR}/usr/lib/libnvidia-opencl.so.1 - - # dkms pkg - vmkdir usr/src/nvidia-${version} - # add nvidia-uvm dkms submodule too. - if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then - cat kernel/uvm/dkms.conf.fragment >> kernel/dkms.conf - fi - vcopy "kernel/*" usr/src/nvidia-${version} - - # systemd modules-load.d(5) file. - vmkdir usr/lib/modules-load.d - echo "nvidia" > ${DESTDIR}/usr/lib/modules-load.d/nvidia.conf - chmod 644 ${DESTDIR}/usr/lib/modules-load.d/nvidia.conf - if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then - echo "nvidia-uvm" > ${DESTDIR}/usr/lib/modules-load.d/nvidia-uvm.conf - chmod 644 ${DESTDIR}/usr/lib/modules-load.d/nvidia-uvm.conf - fi - - # Blacklist nouveau. - vmkdir usr/lib/modprobe.d - echo "blacklist nouveau" > ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf - chmod 644 ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf - - # Omit drm dracut module too. - vmkdir usr/lib/dracut/dracut.conf.d - echo "omit_dracutmodules+=\" drm \"" > ${DESTDIR}/usr/lib/dracut/dracut.conf.d/99-nvidia.conf -} - -nvidia340-dkms_package() { - short_desc="${_desc} - DKMS kernel module" - dkms_modules="nvidia ${version}" - depends="dkms" - provides="nvidia-dkms-${version}_${revision}" - replaces="nvidia-dkms>=0 nvidia-stable-dkms>=0" - pkg_install() { - vmove usr/src - vmove usr/lib/modules-load.d - vmove usr/lib/modprobe.d - vmove usr/lib/dracut - } -} -nvidia340-opencl_package() { - short_desc="${_desc} - OpenCL implementation" - provides="nvidia-opencl-${version}_${revision}" - replaces="nvidia-opencl>=0 nvidia-stable-opencl>=0" - depends="libOpenCL" - pkg_install() { - vmove "usr/lib/libnvidia-compiler*" - vmove "usr/lib/libnvidia-opencl*" - vmove etc/OpenCL - } -} -nvidia340-libs_package() { - short_desc="${_desc} - libraries" - provides="libGL-7.11_1 libEGL-7.11_1 libGLES-7.11_1 libglvnd-1.3.0_1" - shlib_provides="libGLX.so.0 libOpenGL.so.0" - replaces="libGL>=0 libEGL>=0 libGLES>=0 libglvnd>=0" - pkg_install() { - vmove usr/lib - } -} diff --git a/srcpkgs/nvidia340/update b/srcpkgs/nvidia340/update deleted file mode 100644 index 43bad67f7e8..00000000000 --- a/srcpkgs/nvidia340/update +++ /dev/null @@ -1,2 +0,0 @@ -site="http://www.nvidia.com/object/unix.html" -pattern='340.+>\K[\d.]+(?=)' diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template index e07c160eafe..c3b79f436a5 100644 --- a/srcpkgs/removed-packages/template +++ b/srcpkgs/removed-packages/template @@ -1,7 +1,7 @@ # Template file for 'removed-packages' pkgname=removed-packages version=0.1 -revision=6 +revision=7 build_style=meta short_desc="Uninstalls packages removed from repository" maintainer="Piotr Wójcik " @@ -78,6 +78,10 @@ replaces=" wireguard-go<=0.0.20181222_2 wireshark-gtk<=3.0.7_1 yt-play<=20140117_2 + nvidia340<=340.108_4 + nvidia340-dkms<=340.108_4 + nvidia340-opencl<=340.108_4 + nvidia340-libs<=340.108_4 " if [ "$XBPS_TARGET_LIBC" = "musl" ]; then