From 76104ded5a9422b8be30d005b8d8aa1eeb7e2d05 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 4 Feb 2021 23:31:03 +0000 Subject: x11-drivers/nvidia-drivers-legacy : version bump (v390.141) --- gui-libs/display-manager-init/Manifest | 7 - sys-kernel/broadcom-sta-dkms/Manifest | 1 - sys-kernel/nvidia-drivers-legacy-dkms/Manifest | 2 +- .../nvidia-drivers-legacy-dkms/files/dkms.patch | 28 ++ .../files/kernel-5.10.patch | 145 -------- .../files/kernel-5.8.patch | 96 ------ .../files/kernel-5.9.patch | 364 --------------------- .../nvidia-drivers-legacy-dkms-390.138-conf.patch | 28 -- .../nvidia-drivers-legacy-dkms-390.138.ebuild | 50 --- .../nvidia-drivers-legacy-dkms-390.141.ebuild | 47 +++ x11-drivers/nvidia-drivers-legacy/Manifest | 2 +- x11-drivers/nvidia-drivers-legacy/files/dkms.patch | 28 ++ .../nvidia-drivers-legacy/files/kernel-5.10.patch | 145 -------- .../nvidia-drivers-legacy/files/kernel-5.8.patch | 96 ------ .../nvidia-drivers-legacy/files/kernel-5.9.patch | 364 --------------------- .../files/nvidia-drivers-legacy-390.138-conf.patch | 28 -- .../files/nvidia-drm-outputclass.conf | 4 +- .../nvidia-drivers-legacy-390.138-r1.ebuild | 318 ------------------ .../nvidia-drivers-legacy-390.141.ebuild | 315 ++++++++++++++++++ x11-misc/nvidia-settings-legacy/Manifest | 2 +- .../nvidia-settings-legacy-390.138.ebuild | 94 ------ .../nvidia-settings-legacy-390.141.ebuild | 97 ++++++ x11-misc/nvidia-settings/Manifest | 1 - x11-themes/redcore-artwork-core/Manifest | 1 - 24 files changed, 520 insertions(+), 1743 deletions(-) delete mode 100644 gui-libs/display-manager-init/Manifest create mode 100644 sys-kernel/nvidia-drivers-legacy-dkms/files/dkms.patch delete mode 100644 sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.10.patch delete mode 100644 sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.8.patch delete mode 100644 sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.9.patch delete mode 100644 sys-kernel/nvidia-drivers-legacy-dkms/files/nvidia-drivers-legacy-dkms-390.138-conf.patch delete mode 100644 sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.138.ebuild create mode 100644 sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.141.ebuild create mode 100644 x11-drivers/nvidia-drivers-legacy/files/dkms.patch delete mode 100644 x11-drivers/nvidia-drivers-legacy/files/kernel-5.10.patch delete mode 100644 x11-drivers/nvidia-drivers-legacy/files/kernel-5.8.patch delete mode 100644 x11-drivers/nvidia-drivers-legacy/files/kernel-5.9.patch delete mode 100644 x11-drivers/nvidia-drivers-legacy/files/nvidia-drivers-legacy-390.138-conf.patch delete mode 100644 x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.138-r1.ebuild create mode 100644 x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.141.ebuild delete mode 100644 x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.138.ebuild create mode 100644 x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.141.ebuild delete mode 100644 x11-themes/redcore-artwork-core/Manifest diff --git a/gui-libs/display-manager-init/Manifest b/gui-libs/display-manager-init/Manifest deleted file mode 100644 index 24989ab2..00000000 --- a/gui-libs/display-manager-init/Manifest +++ /dev/null @@ -1,7 +0,0 @@ -AUX display-manager-setup.initd 224 BLAKE2B 8513295b8c315d71521ac24fc9da1878e32044ebe7b6e37afb77a25eb8ec449568a82e516fd04de7fb2b0f0b5ff355a54a257041616d0035b25d0ae191e336e4 SHA512 d0048fc5b3c0fd92a44b71f7b8132e35787e42095c22f53aa41c10505c219eb25015f76163069aab7ebb6f0ac9feeac62d1b74682fd3947e835ea5de36957727 -AUX display-manager.confd 608 BLAKE2B 814b4d36ce74d2f70a771cda31c3b9f6e21246bef681607d2687b3ed51f1baab8752fe94ad1021b9fd81b3e8444a328d2c1de83718534ea722ef9dadcbdca164 SHA512 40fb28fb6ac06b59fed9fec86816a444f53ea499bb9a7e7a072a5a932b45a29f830b9da9de0954b1f5cb21903c08ff5c997db2e32ee0bb1a300cd6c070cc8aa6 -AUX display-manager.initd 6145 BLAKE2B fb1debd71978b157c185d9a7065c7f630a0d64839652b3882e6f69823444694f4a7fb347a49dcff35c11a9df94b5e8dcc85eac8351ce9a9992c23a13e67eb669 SHA512 5ea8c89d29c03ebf814a5bd036387bf9d8e65962f402b6ea2ce26e3c99f2972fc971b3b6e5e6971a3f1dc559a6d0ddf8b7f5b7f2170bafacfa79653cf3c5445d -AUX startDM 786 BLAKE2B c5026e862508e598a0b3e8940a5dffd697fecc109eef343ea0f91d72b1b6df927dd273a1e69cddbae7324b707c9cc7b2f2699c44d106100f2b32db28c331f331 SHA512 a35ef86109624f5adb4275906f8466ef8e7a62af93bf2038b5f44e713b446264f1ecb00ff8bb7bb498a89bdbf3b96e50ebf5a7a39471c3c4395506c92f907dcd -AUX xdm.initd 200 BLAKE2B ec997b7080037a7197a6f75728d9075c846168115d705015afc6518e1e72d815cdf87c2e9e3f3ad950034599e548d015e530cb7821f83b9d289337908455c17a SHA512 4552215cc2cdffa3298a9136e2a22f600f55958d7f74b2d06bbf48568d8034ef24deea27ad9f8d6d100516b0efb4e2688c1f454dc556120f759b1da7fecd877c -EBUILD display-manager-init-1.0.ebuild 1097 BLAKE2B e053ed6307efcfb8bfd28e031d675cfcf0283fe228eb61429c546568d902687d1ffc651195b15468c7dc56adbc0fff33c7dde0ed92203cda243ec5422fe62849 SHA512 97bd4912687bf6854c1837688ee90ada622857ea7c5fa9913d79d48b1523bd486becdf3a9b7810bd3ef11d9f43ed152a70fb159544b6e9cae11bb09d088334b8 -MISC metadata.xml 234 BLAKE2B b45f6795dbd73dfcee2a68f93ec5460509b15a69401467bc8f4af9505eeb04a2aa35a2b144eb88781df4abd4e15d2b88fc728daf033c6d646762170ffb00b1a7 SHA512 fabcd59aeede4ac93d66552746edacc44fd565551aafaca67185aff7f8e6a4c0fa21f3d54e4fccd7def948ec57b90489631bd779fb992cd9322132b0a3aa503b diff --git a/sys-kernel/broadcom-sta-dkms/Manifest b/sys-kernel/broadcom-sta-dkms/Manifest index d95223f7..4f6f6c9c 100644 --- a/sys-kernel/broadcom-sta-dkms/Manifest +++ b/sys-kernel/broadcom-sta-dkms/Manifest @@ -1,2 +1 @@ -DIST README-broadcom-sta-dkms-6.30.223.271.txt 102 BLAKE2B 6d6ef1fa24beb39df1d10b66d79430100b4a3b098f93aebbd1792385ecbd5a41cf83cb4c76a6c0fcbd87f05ccc843761860f0800aed0f2d472c0ada084c5aa36 SHA512 ca1bda36ee07d00d40fc7a336c10058c01d7454d96b8dd7bbaef5ca1b4762af9746b939300ff2b57f42aed73243f1c6aff7cb731b183a6a2f797a1c181da90d5 DIST hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz 2928541 BLAKE2B e9d01c1a1a63c07f720e3ee53ee3ef634ab12694135300cb0ce47ade0e9e0084967a0b6df64d983e8184240eb3defb128f650bddb7727e901d50315307f3398a SHA512 6855781f7c69a9aecb9461932423688964879d5a4df571f01ae7adaa7bf21a410bef839605d555afb6c8f4eec92fe8510af6cb120930095617ff6cdcccedaf17 diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/Manifest b/sys-kernel/nvidia-drivers-legacy-dkms/Manifest index b3070520..df7b4407 100644 --- a/sys-kernel/nvidia-drivers-legacy-dkms/Manifest +++ b/sys-kernel/nvidia-drivers-legacy-dkms/Manifest @@ -1 +1 @@ -DIST NVIDIA-Linux-x86_64-390.138.run 83780873 BLAKE2B 5e6a9d77dd2b9de17d923198105a9227ffe2adbc1ed7c9dd5ef3cc810358f71ae47ce9615cbe04f36090f052082a2066772505fd763cbfdbce272f0fb7c25dc7 SHA512 2984fb8f5de598fd3031ebd928942ceb09fd26ae9e61b40b2d348e3174e172a932a1b2a5c2e5534f299b883ade323932be4fdcd26d6f7235a17f6f5a04fa792c +DIST NVIDIA-Linux-x86_64-390.141.run 85330901 BLAKE2B 7759d8cf6c9a75607b9a3ecd53cdd6f6a93f2f372d740a5a87d4d3f41a22f3bd953cc7dd6a0dc0e23a829ec86df8d65b9de499a76cfd4266a13b0aa3288aceb5 SHA512 5448d70e6e64a6403e61a004d83c69a442dd8ed0d61da3a31d3e3b7943c06c559a66b0f8d135982868ecbf209a965f60dae1a633367630b4d9287f725bbaa53c diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/files/dkms.patch b/sys-kernel/nvidia-drivers-legacy-dkms/files/dkms.patch new file mode 100644 index 00000000..c91579ff --- /dev/null +++ b/sys-kernel/nvidia-drivers-legacy-dkms/files/dkms.patch @@ -0,0 +1,28 @@ +diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf +--- a/kernel/dkms.conf 2018-03-22 05:39:53.000000000 +0000 ++++ b/kernel/dkms.conf 2018-04-09 16:18:23.177125417 +0100 +@@ -1,12 +1,20 @@ +-PACKAGE_NAME="nvidia" +-PACKAGE_VERSION="__VERSION_STRING" ++PACKAGE_NAME="nvidia-drivers-legacy-dkms" ++PACKAGE_VERSION="390.141" + AUTOINSTALL="yes" + + # By default, DKMS will add KERNELRELEASE to the make command line; however, + # this will cause the kernel module build to infer that it was invoked via + # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting + # the 'make' command name to suppress this behavior. +-MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" ++MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" + + # The list of kernel modules will be generated by nvidia-installer at runtime. +-__DKMS_MODULES ++BUILT_MODULE_NAME[0]="nvidia" ++DEST_MODULE_LOCATION[0]="/extra/dkms" ++BUILT_MODULE_NAME[1]="nvidia-uvm" ++DEST_MODULE_LOCATION[1]="/extra/dkms" ++BUILT_MODULE_NAME[2]="nvidia-modeset" ++DEST_MODULE_LOCATION[2]="/extra/dkms" ++BUILT_MODULE_NAME[3]="nvidia-drm" ++DEST_MODULE_LOCATION[3]="/extra/dkms" ++ diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.10.patch b/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.10.patch deleted file mode 100644 index 7591802a..00000000 --- a/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.10.patch +++ /dev/null @@ -1,145 +0,0 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index dd335b5..7eae890 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -178,6 +178,10 @@ - #include - #endif - -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+#include -+#endif -+ - #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64) - #include - #endif - -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index 9612796..1c1eb30 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -134,6 +134,7 @@ test_headers() { - FILES="$FILES linux/fence.h" - FILES="$FILES linux/ktime.h" - FILES="$FILES linux/dma-resv.h" -+ FILES="$FILES linux/dma-map-ops.h" - - # Arch specific headers which need testing - FILES_ARCH="asm/book3s/64/hash-64k.h" -@@ -2046,6 +2046,7 @@ - # - CODE=" - #include -+ #include - void conftest_phys_to_dma(void) { - phys_to_dma(); - }" -@@ -2064,6 +2068,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_ops(void) { - (void)dma_ops; - }" -@@ -2078,6 +2085,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_ops(void) { - (void)swiotlb_dma_ops; - }" -@@ -2088,22 +2098,28 @@ compile_test() { - dma_map_ops) - # - # Determine if the 'struct dma_map_ops' type is present. -- # -+ # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_map_ops(void) { - struct dma_map_ops ops; - }" - - compile_check_conftest "$CODE" "NV_DMA_MAP_OPS_PRESENT" "" "types" - ;; -- -+ - get_dma_ops) - # - # Determine if the get_dma_ops() function is present. - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_get_dma_ops(void) { - get_dma_ops(); - }" -@@ -2117,6 +2133,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_noncoherent_swiotlb_dma_ops(void) { - (void)noncoherent_swiotlb_dma_ops; - }" -@@ -2133,6 +2152,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_map_resource(void) { - dma_map_resource(); - }" -@@ -3961,6 +3983,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_is_direct(void) { - dma_is_direct(); - }" -diff --git a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -index 76dedba..92a5192 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -+++ b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -@@ -20,6 +20,7 @@ - * DEALINGS IN THE SOFTWARE. - */ - -+#include - #include "nvidia-drm-conftest.h" - - #if defined(NV_DRM_AVAILABLE) -@@ -47,8 +48,13 @@ static struct sg_table *__nv_drm_gem_user_memory_prime_get_sg_table( - { - struct nv_drm_gem_user_memory *nv_user_memory = to_nv_user_memory(nv_gem); - -- return drm_prime_pages_to_sg(nv_user_memory->pages, -- nv_user_memory->pages_count); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) -+ return drm_prime_pages_to_sg(nv_gem->nv_dev->dev, nv_user_memory->pages, -+ nv_user_memory->pages_count); -+#else -+ return drm_prime_pages_to_sg(nv_user_memory->pages, -+ nv_user_memory->pages_count); -+#endif - } - - static void *__nv_drm_gem_user_memory_prime_vmap( diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.8.patch b/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.8.patch deleted file mode 100644 index 66d3ef8d..00000000 --- a/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.8.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index ac5bb95..3d2f0b7 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -531,7 +531,11 @@ extern int nv_pat_mode; - - static inline void *nv_vmalloc(unsigned long size) - { -+#if defined(NV_VMALLOC_HAS_PGPROT_T_ARG) - void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); -+#else -+ void *ptr = __vmalloc(size, GFP_KERNEL); -+#endif - if (ptr) - NV_MEMDBG_ADD(ptr, size); - return ptr; -diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h -index 1270bf3..d2d7657 100644 ---- a/kernel/common/inc/nv-mm.h -+++ b/kernel/common/inc/nv-mm.h -@@ -29,6 +29,10 @@ - typedef int vm_fault_t; - #endif - -+#if defined(NV_MM_HAS_MMAP_LOCK) -+#define mmap_sem mmap_lock -+#endif -+ - /* get_user_pages - * - * The 8-argument version of get_user_pages was deprecated by commit -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index 7da7505..7793dd6 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -4067,6 +4067,44 @@ compile_test() { - compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions" - ;; - -+ vmalloc_has_pgprot_t_arg) -+ # -+ # Determine if __vmalloc has the 'pgprot' argument. -+ # -+ # The third argument to __vmalloc, page protection -+ # 'pgprot_t prot', was removed by commit 88dca4ca5a93 -+ # (mm: remove the pgprot argument to __vmalloc) -+ # in v5.8-rc1 (2020-06-01). -+ CODE=" -+ #include -+ -+ void conftest_vmalloc_has_pgprot_t_arg(void) { -+ pgprot_t prot; -+ (void)__vmalloc(0, 0, prot); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_VMALLOC_HAS_PGPROT_T_ARG" "" "types" -+ -+ ;; -+ -+ mm_has_mmap_lock) -+ # -+ # Determine if the 'mm_struct' structure has a 'mmap_lock' field. -+ # -+ # Kernel commit da1c55f1b272 ("mmap locking API: rename mmap_sem -+ # to mmap_lock") replaced the field 'mmap_sem' by 'mmap_lock' -+ # in v5.8-rc1 (2020-06-08). -+ CODE=" -+ #include -+ -+ int conftest_mm_has_mmap_lock(void) { -+ return offsetof(struct mm_struct, mmap_lock); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types" -+ -+ ;; -+ - pci_dev_has_skip_bus_pm) - # - # Determine if skip_bus_pm flag is present in struct pci_dev. -diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild -index 63e369f..656db7b 100644 ---- a/kernel/nvidia/nvidia.Kbuild -+++ b/kernel/nvidia/nvidia.Kbuild -@@ -192,7 +192,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += iterate_dir - NV_CONFTEST_TYPE_COMPILE_TESTS += kstrtoull - NV_CONFTEST_TYPE_COMPILE_TESTS += backlight_properties_type - NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops -+NV_CONFTEST_TYPE_COMPILE_TESTS += vmalloc_has_pgprot_t_arg - NV_CONFTEST_TYPE_COMPILE_TESTS += timeval -+NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock - NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work - NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink - NV_CONFTEST_TYPE_COMPILE_TESTS += pci_dev_has_skip_bus_pm --- -2.25.1 diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.9.patch b/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.9.patch deleted file mode 100644 index d01eba7a..00000000 --- a/sys-kernel/nvidia-drivers-legacy-dkms/files/kernel-5.9.patch +++ /dev/null @@ -1,364 +0,0 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index ab06dbc..dd335b5 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -159,7 +159,7 @@ static inline uid_t __kuid_val(kuid_t uid) - } - #endif - --#if defined(NVCPU_X86_64) && !defined(HAVE_COMPAT_IOCTL) -+#if defined(NVCPU_X86_64) && !defined(NV_FILE_OPERATIONS_HAS_COMPAT_IOCTL) - #include /* sys_ioctl() */ - #include /* register_ioctl32_conversion() */ - #endif -diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h -index d2d7657..a5325fe 100644 ---- a/kernel/common/inc/nv-mm.h -+++ b/kernel/common/inc/nv-mm.h -@@ -144,9 +144,13 @@ typedef int vm_fault_t; - flags |= FOLL_FORCE; - - #if defined(NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG) -- -+ #if defined (NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG) - return get_user_pages_remote(tsk, mm, start, nr_pages, flags, - pages, vmas, NULL); -+ #else -+ return get_user_pages_remote(mm, start, nr_pages, flags, -+ pages, vmas, NULL); -+ #endif - - #else - -@@ -159,7 +163,7 @@ typedef int vm_fault_t; - #endif - #else - #if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS) -- #define NV_GET_USER_PAGES_REMOTE NV_GET_USER_PAGES -+ #define NV_GET_USER_PAGES_REMOTE get_user_pages - #else - #include - #include -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index e900963..ef82dee 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -3043,6 +3043,7 @@ compile_test() { - - if [ -f conftest$$.o ]; then - echo "#undef NV_GET_USER_PAGES_REMOTE_PRESENT" | append_conftest "functions" -+ echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - rm -f conftest$$.o -@@ -3070,14 +3071,20 @@ compile_test() { - rm -f conftest$$.c - - if [ -f conftest$$.o ]; then -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#define NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - rm -f conftest$$.o - return - fi - -+ echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" -+ -+ # - # conftest #3: check if get_user_pages_remote() has locked argument -- -+ # Return if these arguments are present. Fall through to conftest #4 -+ # if these args are absent. -+ # - echo "$CONFTEST_PREAMBLE - #include - long get_user_pages_remote(struct task_struct *tsk, -@@ -3095,13 +3102,40 @@ compile_test() { - rm -f conftest$$.c - - if [ -f conftest$$.o ]; then -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" -+ rm -f conftest$$.o -+ return -+ fi -+ -+ # -+ # conftest #4: check if get_user_pages_remote() does not take -+ # tsk argument. -+ # -+ echo "$CONFTEST_PREAMBLE -+ #include -+ long get_user_pages_remote(struct mm_struct *mm, -+ unsigned long start, -+ unsigned long nr_pages, -+ unsigned int gup_flags, -+ struct page **pages, -+ struct vm_area_struct **vmas, -+ int *locked) { -+ return 0; -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#define NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - rm -f conftest$$.o - else -+ -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - fi -- echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" -- - ;; - - usleep_range) -@@ -4131,6 +4165,115 @@ compile_test() { - compile_check_conftest "$CODE" "NV_PCI_DEV_HAS_SKIP_BUS_PM" "" "types" - ;; - -+ drm_gem_object_put_unlocked) -+ # -+ # Determine if the function drm_gem_object_put_unlocked() is present. -+ # -+ # In v5.9-rc1, commit 2f4dd13d4bb8 ("drm/gem: add -+ # drm_gem_object_put helper") removes drm_gem_object_put_unlocked() -+ # function and replace its definition by transient macro. Commit -+ # ab15d56e27be ("drm: remove transient -+ # drm_gem_object_put_unlocked()") finally removes -+ # drm_gem_object_put_unlocked() macro. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ #if defined(NV_DRM_DRM_GEM_H_PRESENT) -+ #include -+ #endif -+ void conftest_drm_gem_object_put_unlocked(void) { -+ drm_gem_object_put_unlocked(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_GEM_OBJECT_PUT_UNLOCK_PRESENT" "" "functions" -+ ;; -+ -+ drm_display_mode_has_vrefresh) -+ # -+ # Determine if the 'drm_display_mode' structure has a 'vrefresh' -+ # field. -+ # -+ # Removed by commit 0425662fdf05 ("drm: Nuke mode->vrefresh") in -+ # v5.9-rc1. -+ # -+ CODE=" -+ #include -+ -+ int conftest_drm_display_mode_has_vrefresh(void) { -+ return offsetof(struct drm_display_mode, vrefresh); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_DISPLAY_MODE_HAS_VREFRESH" "types" -+ -+ ;; -+ -+ drm_driver_master_set_has_int_return_type) -+ # -+ # Determine if drm_driver::master_set() returns integer value -+ # -+ # Changed to void by commit 907f53200f98 ("drm: vmwgfx: remove -+ # drm_driver::master_set() return type") in v5.9-rc1. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ #if defined(NV_DRM_DRM_DRV_H_PRESENT) -+ #include -+ #endif -+ -+ int conftest_drm_driver_master_set_has_int_return_type(struct drm_driver *drv, -+ struct drm_device *dev, struct drm_file *file_priv, bool from_open) { -+ -+ return drv->master_set(dev, file_priv, from_open); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_DRIVER_SET_MASTER_HAS_INT_RETURN_TYPE" "" "types" -+ ;; -+ -+ drm_driver_has_gem_free_object) -+ # -+ # Determine if the 'drm_driver' structure has a 'gem_free_object' -+ # function pointer. -+ # -+ # drm_driver::gem_free_object is removed by commit 1a9458aeb8eb -+ # ("drm: remove drm_driver::gem_free_object") in v5.9-rc1. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ #if defined(NV_DRM_DRM_DRV_H_PRESENT) -+ #include -+ #endif -+ -+ int conftest_drm_driver_has_gem_free_object(void) { -+ return offsetof(struct drm_driver, gem_free_object); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_DRIVER_HAS_GEM_FREE_OBJECT" "" "types" -+ ;; -+ -+ vga_tryget) -+ # -+ # Determine if vga_tryget() is present -+ # -+ # vga_tryget() was removed by commit f369bc3f9096 ("vgaarb: mark -+ # vga_tryget static") in v5.9-rc1 (2020-08-01). -+ # -+ CODE=" -+ #include -+ void conftest_vga_tryget(void) { -+ vga_tryget(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_VGA_TRYGET_PRESENT" "" "functions" -+ ;; - esac - } - -diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c -index 17e377d..85d9798 100644 ---- a/kernel/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel/nvidia-drm/nvidia-drm-drv.c -@@ -466,8 +466,8 @@ static void nv_drm_unload(struct drm_device *dev) - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) - --static int nv_drm_master_set(struct drm_device *dev, -- struct drm_file *file_priv, bool from_open) -+static int __nv_drm_master_set(struct drm_device *dev, -+ struct drm_file *file_priv, bool from_open) - { - struct nv_drm_device *nv_dev = to_nv_device(dev); - -@@ -478,6 +478,22 @@ static int nv_drm_master_set(struct drm_device *dev, - return 0; - } - -+#include -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0) -+static int nv_drm_master_set(struct drm_device *dev, -+ struct drm_file *file_priv, bool from_open) -+{ -+ return __nv_drm_master_set(dev, file_priv, from_open); -+} -+#else -+static void nv_drm_master_set(struct drm_device *dev, -+ struct drm_file *file_priv, bool from_open) -+{ -+ WARN_ON(__nv_drm_master_set(dev, file_priv, from_open) != 0); -+} -+#endif -+ -+ - #if defined(NV_DRM_MASTER_DROP_HAS_FROM_RELEASE_ARG) - static - void nv_drm_master_drop(struct drm_device *dev, -@@ -677,7 +693,9 @@ static struct drm_driver nv_drm_driver = { - #endif - DRIVER_GEM | DRIVER_RENDER, - -+#if defined(NV_DRM_DRIVER_HAS_GEM_FREE_OBJECT) - .gem_free_object = nv_drm_gem_free, -+#endif - - .ioctls = nv_drm_ioctls, - .num_ioctls = ARRAY_SIZE(nv_drm_ioctls), -diff --git a/kernel/nvidia-drm/nvidia-drm-gem.h b/kernel/nvidia-drm/nvidia-drm-gem.h -index 5691a7a..18c50ca 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem.h -+++ b/kernel/nvidia-drm/nvidia-drm-gem.h -@@ -87,7 +87,13 @@ static inline void - nv_drm_gem_object_unreference_unlocked(struct nv_drm_gem_object *nv_gem) - { - #if defined(NV_DRM_GEM_OBJECT_GET_PRESENT) -+ -+#if defined(NV_DRM_GEM_OBJECT_PUT_UNLOCK_PRESENT) - drm_gem_object_put_unlocked(&nv_gem->base); -+#else -+ drm_gem_object_put(&nv_gem->base); -+#endif -+ - #else - drm_gem_object_unreference_unlocked(&nv_gem->base); - #endif -diff --git a/kernel/nvidia-drm/nvidia-drm-utils.c b/kernel/nvidia-drm/nvidia-drm-utils.c -index 8cb2d5e..e30b2b6 100644 ---- a/kernel/nvidia-drm/nvidia-drm-utils.c -+++ b/kernel/nvidia-drm/nvidia-drm-utils.c -@@ -103,7 +103,9 @@ void - nvkms_display_mode_to_drm_mode(const struct NvKmsKapiDisplayMode *displayMode, - struct drm_display_mode *mode) - { -+#if defined(NV_DRM_DISPLAY_MODE_HAS_VREFRESH) - mode->vrefresh = (displayMode->timings.refreshRate + 500) / 1000; /* In Hz */ -+#endif - - mode->clock = (displayMode->timings.pixelClockHz + 500) / 1000; /* In Hz */ - -@@ -189,7 +191,11 @@ bool drm_format_to_nvkms_format(u32 format, - void drm_mode_to_nvkms_display_mode(const struct drm_display_mode *src, - struct NvKmsKapiDisplayMode *dst) - { -+#if defined(NV_DRM_DISPLAY_MODE_HAS_VREFRESH) - dst->timings.refreshRate = src->vrefresh * 1000; -+#else -+ dst->timings.refreshRate = drm_mode_vrefresh(src) * 1000; -+#endif - - dst->timings.pixelClockHz = src->clock * 1000; /* In Hz */ - -diff --git a/kernel/nvidia-uvm/uvm8_tools.c b/kernel/nvidia-uvm/uvm8_tools.c -index 86dbb77..63d0b64 100644 ---- a/kernel/nvidia-uvm/uvm8_tools.c -+++ b/kernel/nvidia-uvm/uvm8_tools.c -@@ -190,7 +190,6 @@ static uvm_tools_event_tracker_t *tools_event_tracker(struct file *filp) - { - long event_tracker = atomic_long_read((atomic_long_t *)&filp->private_data); - -- smp_read_barrier_depends(); - return (uvm_tools_event_tracker_t *)event_tracker; - } - -diff --git a/kernel/nvidia-uvm/uvm8_va_range.h b/kernel/nvidia-uvm/uvm8_va_range.h -index 8cae357..6166cc8 100644 ---- a/kernel/nvidia-uvm/uvm8_va_range.h -+++ b/kernel/nvidia-uvm/uvm8_va_range.h -@@ -717,7 +717,6 @@ static uvm_va_block_t *uvm_va_range_block(uvm_va_range_t *va_range, size_t index - // make sure that any initialization of this block by the creating thread is - // visible to later accesses in this thread, which requires a data - // dependency barrier. -- smp_read_barrier_depends(); - return block; - } - -diff --git a/kernel/nvidia/nv.c b/kernel/nvidia/nv.c -index 15983f6..cfb2375 100644 ---- a/kernel/nvidia/nv.c -+++ b/kernel/nvidia/nv.c -@@ -3872,7 +3872,9 @@ nvidia_probe - - #if defined(CONFIG_VGA_ARB) && !defined(NVCPU_PPC64LE) - #if defined(VGA_DEFAULT_DEVICE) -+#if defined(NV_VGA_TRYGET_PRESENT) - vga_tryget(VGA_DEFAULT_DEVICE, VGA_RSRC_LEGACY_MASK); -+#endif - #endif - vga_set_legacy_decoding(dev, VGA_RSRC_NONE); - #endif diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/files/nvidia-drivers-legacy-dkms-390.138-conf.patch b/sys-kernel/nvidia-drivers-legacy-dkms/files/nvidia-drivers-legacy-dkms-390.138-conf.patch deleted file mode 100644 index 8bd7c1ce..00000000 --- a/sys-kernel/nvidia-drivers-legacy-dkms/files/nvidia-drivers-legacy-dkms-390.138-conf.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf ---- a/kernel/dkms.conf 2018-03-22 05:39:53.000000000 +0000 -+++ b/kernel/dkms.conf 2018-04-09 16:18:23.177125417 +0100 -@@ -1,12 +1,20 @@ --PACKAGE_NAME="nvidia" --PACKAGE_VERSION="__VERSION_STRING" -+PACKAGE_NAME="nvidia-drivers-legacy-dkms" -+PACKAGE_VERSION="390.138" - AUTOINSTALL="yes" - - # By default, DKMS will add KERNELRELEASE to the make command line; however, - # this will cause the kernel module build to infer that it was invoked via - # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting - # the 'make' command name to suppress this behavior. --MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" -+MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" - - # The list of kernel modules will be generated by nvidia-installer at runtime. --__DKMS_MODULES -+BUILT_MODULE_NAME[0]="nvidia" -+DEST_MODULE_LOCATION[0]="/extra/dkms" -+BUILT_MODULE_NAME[1]="nvidia-uvm" -+DEST_MODULE_LOCATION[1]="/extra/dkms" -+BUILT_MODULE_NAME[2]="nvidia-modeset" -+DEST_MODULE_LOCATION[2]="/extra/dkms" -+BUILT_MODULE_NAME[3]="nvidia-drm" -+DEST_MODULE_LOCATION[3]="/extra/dkms" -+ diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.138.ebuild b/sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.138.ebuild deleted file mode 100644 index a7b858e4..00000000 --- a/sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.138.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -inherit eutils - -NV_URI="http://us.download.nvidia.com/XFree86/" -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" - -DESCRIPTION="NVIDIA driver sources for linux" -HOMEPAGE="http://www.nvidia.com/" -SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" - -LICENSE="GPL-2 NVIDIA-r2" -SLOT="0" -KEYWORDS="amd64" -IUSE="" - -DEPEND="sys-kernel/dkms" -RDEPEND="${DEPEND} - !!sys-kernel/nvidia-drivers-dkms" - -PATCHES=( - "${FILESDIR}"/kernel-5.8.patch - "${FILESDIR}"/kernel-5.9.patch - "${FILESDIR}"/kernel-5.10.patch - "${FILESDIR}"/"${P}"-conf.patch -) - -S="${WORKDIR}/${AMD64_NV_PACKAGE}" - -src_unpack() { - sh ${DISTDIR}/${AMD64_NV_PACKAGE}.run --extract-only -} - -src_install() { - dodir usr/src/${P} - insinto usr/src/${P} - doins -r "${S}"/kernel/* -} - -pkg_postinst() { - dkms add ${PN}/${PV} -} - -pkg_prerm() { - dkms remove ${PN}/${PV} --all -} diff --git a/sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.141.ebuild b/sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.141.ebuild new file mode 100644 index 00000000..e95877a1 --- /dev/null +++ b/sys-kernel/nvidia-drivers-legacy-dkms/nvidia-drivers-legacy-dkms-390.141.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils + +NV_URI="http://us.download.nvidia.com/XFree86/" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" + +DESCRIPTION="NVIDIA driver sources for linux" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" + +LICENSE="GPL-2 NVIDIA-r2" +SLOT="0" +KEYWORDS="amd64" +IUSE="" + +DEPEND="sys-kernel/dkms" +RDEPEND="${DEPEND} + !!sys-kernel/nvidia-drivers-dkms" + +PATCHES=( + "${FILESDIR}"/dkms.patch +) + +S="${WORKDIR}/${AMD64_NV_PACKAGE}" + +src_unpack() { + sh ${DISTDIR}/${AMD64_NV_PACKAGE}.run --extract-only +} + +src_install() { + dodir usr/src/${P} + insinto usr/src/${P} + doins -r "${S}"/kernel/* +} + +pkg_postinst() { + dkms add ${PN}/${PV} +} + +pkg_prerm() { + dkms remove ${PN}/${PV} --all +} diff --git a/x11-drivers/nvidia-drivers-legacy/Manifest b/x11-drivers/nvidia-drivers-legacy/Manifest index b3070520..df7b4407 100644 --- a/x11-drivers/nvidia-drivers-legacy/Manifest +++ b/x11-drivers/nvidia-drivers-legacy/Manifest @@ -1 +1 @@ -DIST NVIDIA-Linux-x86_64-390.138.run 83780873 BLAKE2B 5e6a9d77dd2b9de17d923198105a9227ffe2adbc1ed7c9dd5ef3cc810358f71ae47ce9615cbe04f36090f052082a2066772505fd763cbfdbce272f0fb7c25dc7 SHA512 2984fb8f5de598fd3031ebd928942ceb09fd26ae9e61b40b2d348e3174e172a932a1b2a5c2e5534f299b883ade323932be4fdcd26d6f7235a17f6f5a04fa792c +DIST NVIDIA-Linux-x86_64-390.141.run 85330901 BLAKE2B 7759d8cf6c9a75607b9a3ecd53cdd6f6a93f2f372d740a5a87d4d3f41a22f3bd953cc7dd6a0dc0e23a829ec86df8d65b9de499a76cfd4266a13b0aa3288aceb5 SHA512 5448d70e6e64a6403e61a004d83c69a442dd8ed0d61da3a31d3e3b7943c06c559a66b0f8d135982868ecbf209a965f60dae1a633367630b4d9287f725bbaa53c diff --git a/x11-drivers/nvidia-drivers-legacy/files/dkms.patch b/x11-drivers/nvidia-drivers-legacy/files/dkms.patch new file mode 100644 index 00000000..c91579ff --- /dev/null +++ b/x11-drivers/nvidia-drivers-legacy/files/dkms.patch @@ -0,0 +1,28 @@ +diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf +--- a/kernel/dkms.conf 2018-03-22 05:39:53.000000000 +0000 ++++ b/kernel/dkms.conf 2018-04-09 16:18:23.177125417 +0100 +@@ -1,12 +1,20 @@ +-PACKAGE_NAME="nvidia" +-PACKAGE_VERSION="__VERSION_STRING" ++PACKAGE_NAME="nvidia-drivers-legacy-dkms" ++PACKAGE_VERSION="390.141" + AUTOINSTALL="yes" + + # By default, DKMS will add KERNELRELEASE to the make command line; however, + # this will cause the kernel module build to infer that it was invoked via + # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting + # the 'make' command name to suppress this behavior. +-MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" ++MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" + + # The list of kernel modules will be generated by nvidia-installer at runtime. +-__DKMS_MODULES ++BUILT_MODULE_NAME[0]="nvidia" ++DEST_MODULE_LOCATION[0]="/extra/dkms" ++BUILT_MODULE_NAME[1]="nvidia-uvm" ++DEST_MODULE_LOCATION[1]="/extra/dkms" ++BUILT_MODULE_NAME[2]="nvidia-modeset" ++DEST_MODULE_LOCATION[2]="/extra/dkms" ++BUILT_MODULE_NAME[3]="nvidia-drm" ++DEST_MODULE_LOCATION[3]="/extra/dkms" ++ diff --git a/x11-drivers/nvidia-drivers-legacy/files/kernel-5.10.patch b/x11-drivers/nvidia-drivers-legacy/files/kernel-5.10.patch deleted file mode 100644 index 7591802a..00000000 --- a/x11-drivers/nvidia-drivers-legacy/files/kernel-5.10.patch +++ /dev/null @@ -1,145 +0,0 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index dd335b5..7eae890 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -178,6 +178,10 @@ - #include - #endif - -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+#include -+#endif -+ - #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64) - #include - #endif - -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index 9612796..1c1eb30 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -134,6 +134,7 @@ test_headers() { - FILES="$FILES linux/fence.h" - FILES="$FILES linux/ktime.h" - FILES="$FILES linux/dma-resv.h" -+ FILES="$FILES linux/dma-map-ops.h" - - # Arch specific headers which need testing - FILES_ARCH="asm/book3s/64/hash-64k.h" -@@ -2046,6 +2046,7 @@ - # - CODE=" - #include -+ #include - void conftest_phys_to_dma(void) { - phys_to_dma(); - }" -@@ -2064,6 +2068,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_ops(void) { - (void)dma_ops; - }" -@@ -2078,6 +2085,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_ops(void) { - (void)swiotlb_dma_ops; - }" -@@ -2088,22 +2098,28 @@ compile_test() { - dma_map_ops) - # - # Determine if the 'struct dma_map_ops' type is present. -- # -+ # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_map_ops(void) { - struct dma_map_ops ops; - }" - - compile_check_conftest "$CODE" "NV_DMA_MAP_OPS_PRESENT" "" "types" - ;; -- -+ - get_dma_ops) - # - # Determine if the get_dma_ops() function is present. - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_get_dma_ops(void) { - get_dma_ops(); - }" -@@ -2117,6 +2133,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_noncoherent_swiotlb_dma_ops(void) { - (void)noncoherent_swiotlb_dma_ops; - }" -@@ -2133,6 +2152,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_map_resource(void) { - dma_map_resource(); - }" -@@ -3961,6 +3983,9 @@ compile_test() { - # - CODE=" - #include -+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT) -+ #include -+#endif - void conftest_dma_is_direct(void) { - dma_is_direct(); - }" -diff --git a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -index 76dedba..92a5192 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -+++ b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c -@@ -20,6 +20,7 @@ - * DEALINGS IN THE SOFTWARE. - */ - -+#include - #include "nvidia-drm-conftest.h" - - #if defined(NV_DRM_AVAILABLE) -@@ -47,8 +48,13 @@ static struct sg_table *__nv_drm_gem_user_memory_prime_get_sg_table( - { - struct nv_drm_gem_user_memory *nv_user_memory = to_nv_user_memory(nv_gem); - -- return drm_prime_pages_to_sg(nv_user_memory->pages, -- nv_user_memory->pages_count); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) -+ return drm_prime_pages_to_sg(nv_gem->nv_dev->dev, nv_user_memory->pages, -+ nv_user_memory->pages_count); -+#else -+ return drm_prime_pages_to_sg(nv_user_memory->pages, -+ nv_user_memory->pages_count); -+#endif - } - - static void *__nv_drm_gem_user_memory_prime_vmap( diff --git a/x11-drivers/nvidia-drivers-legacy/files/kernel-5.8.patch b/x11-drivers/nvidia-drivers-legacy/files/kernel-5.8.patch deleted file mode 100644 index 66d3ef8d..00000000 --- a/x11-drivers/nvidia-drivers-legacy/files/kernel-5.8.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index ac5bb95..3d2f0b7 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -531,7 +531,11 @@ extern int nv_pat_mode; - - static inline void *nv_vmalloc(unsigned long size) - { -+#if defined(NV_VMALLOC_HAS_PGPROT_T_ARG) - void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); -+#else -+ void *ptr = __vmalloc(size, GFP_KERNEL); -+#endif - if (ptr) - NV_MEMDBG_ADD(ptr, size); - return ptr; -diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h -index 1270bf3..d2d7657 100644 ---- a/kernel/common/inc/nv-mm.h -+++ b/kernel/common/inc/nv-mm.h -@@ -29,6 +29,10 @@ - typedef int vm_fault_t; - #endif - -+#if defined(NV_MM_HAS_MMAP_LOCK) -+#define mmap_sem mmap_lock -+#endif -+ - /* get_user_pages - * - * The 8-argument version of get_user_pages was deprecated by commit -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index 7da7505..7793dd6 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -4067,6 +4067,44 @@ compile_test() { - compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions" - ;; - -+ vmalloc_has_pgprot_t_arg) -+ # -+ # Determine if __vmalloc has the 'pgprot' argument. -+ # -+ # The third argument to __vmalloc, page protection -+ # 'pgprot_t prot', was removed by commit 88dca4ca5a93 -+ # (mm: remove the pgprot argument to __vmalloc) -+ # in v5.8-rc1 (2020-06-01). -+ CODE=" -+ #include -+ -+ void conftest_vmalloc_has_pgprot_t_arg(void) { -+ pgprot_t prot; -+ (void)__vmalloc(0, 0, prot); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_VMALLOC_HAS_PGPROT_T_ARG" "" "types" -+ -+ ;; -+ -+ mm_has_mmap_lock) -+ # -+ # Determine if the 'mm_struct' structure has a 'mmap_lock' field. -+ # -+ # Kernel commit da1c55f1b272 ("mmap locking API: rename mmap_sem -+ # to mmap_lock") replaced the field 'mmap_sem' by 'mmap_lock' -+ # in v5.8-rc1 (2020-06-08). -+ CODE=" -+ #include -+ -+ int conftest_mm_has_mmap_lock(void) { -+ return offsetof(struct mm_struct, mmap_lock); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types" -+ -+ ;; -+ - pci_dev_has_skip_bus_pm) - # - # Determine if skip_bus_pm flag is present in struct pci_dev. -diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild -index 63e369f..656db7b 100644 ---- a/kernel/nvidia/nvidia.Kbuild -+++ b/kernel/nvidia/nvidia.Kbuild -@@ -192,7 +192,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += iterate_dir - NV_CONFTEST_TYPE_COMPILE_TESTS += kstrtoull - NV_CONFTEST_TYPE_COMPILE_TESTS += backlight_properties_type - NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops -+NV_CONFTEST_TYPE_COMPILE_TESTS += vmalloc_has_pgprot_t_arg - NV_CONFTEST_TYPE_COMPILE_TESTS += timeval -+NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock - NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work - NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink - NV_CONFTEST_TYPE_COMPILE_TESTS += pci_dev_has_skip_bus_pm --- -2.25.1 diff --git a/x11-drivers/nvidia-drivers-legacy/files/kernel-5.9.patch b/x11-drivers/nvidia-drivers-legacy/files/kernel-5.9.patch deleted file mode 100644 index d01eba7a..00000000 --- a/x11-drivers/nvidia-drivers-legacy/files/kernel-5.9.patch +++ /dev/null @@ -1,364 +0,0 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index ab06dbc..dd335b5 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -159,7 +159,7 @@ static inline uid_t __kuid_val(kuid_t uid) - } - #endif - --#if defined(NVCPU_X86_64) && !defined(HAVE_COMPAT_IOCTL) -+#if defined(NVCPU_X86_64) && !defined(NV_FILE_OPERATIONS_HAS_COMPAT_IOCTL) - #include /* sys_ioctl() */ - #include /* register_ioctl32_conversion() */ - #endif -diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h -index d2d7657..a5325fe 100644 ---- a/kernel/common/inc/nv-mm.h -+++ b/kernel/common/inc/nv-mm.h -@@ -144,9 +144,13 @@ typedef int vm_fault_t; - flags |= FOLL_FORCE; - - #if defined(NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG) -- -+ #if defined (NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG) - return get_user_pages_remote(tsk, mm, start, nr_pages, flags, - pages, vmas, NULL); -+ #else -+ return get_user_pages_remote(mm, start, nr_pages, flags, -+ pages, vmas, NULL); -+ #endif - - #else - -@@ -159,7 +163,7 @@ typedef int vm_fault_t; - #endif - #else - #if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS) -- #define NV_GET_USER_PAGES_REMOTE NV_GET_USER_PAGES -+ #define NV_GET_USER_PAGES_REMOTE get_user_pages - #else - #include - #include -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index e900963..ef82dee 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -3043,6 +3043,7 @@ compile_test() { - - if [ -f conftest$$.o ]; then - echo "#undef NV_GET_USER_PAGES_REMOTE_PRESENT" | append_conftest "functions" -+ echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - rm -f conftest$$.o -@@ -3070,14 +3071,20 @@ compile_test() { - rm -f conftest$$.c - - if [ -f conftest$$.o ]; then -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#define NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - rm -f conftest$$.o - return - fi - -+ echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" -+ -+ # - # conftest #3: check if get_user_pages_remote() has locked argument -- -+ # Return if these arguments are present. Fall through to conftest #4 -+ # if these args are absent. -+ # - echo "$CONFTEST_PREAMBLE - #include - long get_user_pages_remote(struct task_struct *tsk, -@@ -3095,13 +3102,40 @@ compile_test() { - rm -f conftest$$.c - - if [ -f conftest$$.o ]; then -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" -+ rm -f conftest$$.o -+ return -+ fi -+ -+ # -+ # conftest #4: check if get_user_pages_remote() does not take -+ # tsk argument. -+ # -+ echo "$CONFTEST_PREAMBLE -+ #include -+ long get_user_pages_remote(struct mm_struct *mm, -+ unsigned long start, -+ unsigned long nr_pages, -+ unsigned int gup_flags, -+ struct page **pages, -+ struct vm_area_struct **vmas, -+ int *locked) { -+ return 0; -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#define NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - rm -f conftest$$.o - else -+ -+ echo "#define NV_GET_USER_PAGES_REMOTE_HAS_TSK_ARG" | append_conftest "functions" - echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_LOCKED_ARG" | append_conftest "functions" - fi -- echo "#undef NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS" | append_conftest "functions" -- - ;; - - usleep_range) -@@ -4131,6 +4165,115 @@ compile_test() { - compile_check_conftest "$CODE" "NV_PCI_DEV_HAS_SKIP_BUS_PM" "" "types" - ;; - -+ drm_gem_object_put_unlocked) -+ # -+ # Determine if the function drm_gem_object_put_unlocked() is present. -+ # -+ # In v5.9-rc1, commit 2f4dd13d4bb8 ("drm/gem: add -+ # drm_gem_object_put helper") removes drm_gem_object_put_unlocked() -+ # function and replace its definition by transient macro. Commit -+ # ab15d56e27be ("drm: remove transient -+ # drm_gem_object_put_unlocked()") finally removes -+ # drm_gem_object_put_unlocked() macro. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ #if defined(NV_DRM_DRM_GEM_H_PRESENT) -+ #include -+ #endif -+ void conftest_drm_gem_object_put_unlocked(void) { -+ drm_gem_object_put_unlocked(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_GEM_OBJECT_PUT_UNLOCK_PRESENT" "" "functions" -+ ;; -+ -+ drm_display_mode_has_vrefresh) -+ # -+ # Determine if the 'drm_display_mode' structure has a 'vrefresh' -+ # field. -+ # -+ # Removed by commit 0425662fdf05 ("drm: Nuke mode->vrefresh") in -+ # v5.9-rc1. -+ # -+ CODE=" -+ #include -+ -+ int conftest_drm_display_mode_has_vrefresh(void) { -+ return offsetof(struct drm_display_mode, vrefresh); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_DISPLAY_MODE_HAS_VREFRESH" "types" -+ -+ ;; -+ -+ drm_driver_master_set_has_int_return_type) -+ # -+ # Determine if drm_driver::master_set() returns integer value -+ # -+ # Changed to void by commit 907f53200f98 ("drm: vmwgfx: remove -+ # drm_driver::master_set() return type") in v5.9-rc1. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ #if defined(NV_DRM_DRM_DRV_H_PRESENT) -+ #include -+ #endif -+ -+ int conftest_drm_driver_master_set_has_int_return_type(struct drm_driver *drv, -+ struct drm_device *dev, struct drm_file *file_priv, bool from_open) { -+ -+ return drv->master_set(dev, file_priv, from_open); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_DRIVER_SET_MASTER_HAS_INT_RETURN_TYPE" "" "types" -+ ;; -+ -+ drm_driver_has_gem_free_object) -+ # -+ # Determine if the 'drm_driver' structure has a 'gem_free_object' -+ # function pointer. -+ # -+ # drm_driver::gem_free_object is removed by commit 1a9458aeb8eb -+ # ("drm: remove drm_driver::gem_free_object") in v5.9-rc1. -+ # -+ CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) -+ #include -+ #endif -+ -+ #if defined(NV_DRM_DRM_DRV_H_PRESENT) -+ #include -+ #endif -+ -+ int conftest_drm_driver_has_gem_free_object(void) { -+ return offsetof(struct drm_driver, gem_free_object); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_DRM_DRIVER_HAS_GEM_FREE_OBJECT" "" "types" -+ ;; -+ -+ vga_tryget) -+ # -+ # Determine if vga_tryget() is present -+ # -+ # vga_tryget() was removed by commit f369bc3f9096 ("vgaarb: mark -+ # vga_tryget static") in v5.9-rc1 (2020-08-01). -+ # -+ CODE=" -+ #include -+ void conftest_vga_tryget(void) { -+ vga_tryget(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_VGA_TRYGET_PRESENT" "" "functions" -+ ;; - esac - } - -diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c -index 17e377d..85d9798 100644 ---- a/kernel/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel/nvidia-drm/nvidia-drm-drv.c -@@ -466,8 +466,8 @@ static void nv_drm_unload(struct drm_device *dev) - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) - --static int nv_drm_master_set(struct drm_device *dev, -- struct drm_file *file_priv, bool from_open) -+static int __nv_drm_master_set(struct drm_device *dev, -+ struct drm_file *file_priv, bool from_open) - { - struct nv_drm_device *nv_dev = to_nv_device(dev); - -@@ -478,6 +478,22 @@ static int nv_drm_master_set(struct drm_device *dev, - return 0; - } - -+#include -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0) -+static int nv_drm_master_set(struct drm_device *dev, -+ struct drm_file *file_priv, bool from_open) -+{ -+ return __nv_drm_master_set(dev, file_priv, from_open); -+} -+#else -+static void nv_drm_master_set(struct drm_device *dev, -+ struct drm_file *file_priv, bool from_open) -+{ -+ WARN_ON(__nv_drm_master_set(dev, file_priv, from_open) != 0); -+} -+#endif -+ -+ - #if defined(NV_DRM_MASTER_DROP_HAS_FROM_RELEASE_ARG) - static - void nv_drm_master_drop(struct drm_device *dev, -@@ -677,7 +693,9 @@ static struct drm_driver nv_drm_driver = { - #endif - DRIVER_GEM | DRIVER_RENDER, - -+#if defined(NV_DRM_DRIVER_HAS_GEM_FREE_OBJECT) - .gem_free_object = nv_drm_gem_free, -+#endif - - .ioctls = nv_drm_ioctls, - .num_ioctls = ARRAY_SIZE(nv_drm_ioctls), -diff --git a/kernel/nvidia-drm/nvidia-drm-gem.h b/kernel/nvidia-drm/nvidia-drm-gem.h -index 5691a7a..18c50ca 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem.h -+++ b/kernel/nvidia-drm/nvidia-drm-gem.h -@@ -87,7 +87,13 @@ static inline void - nv_drm_gem_object_unreference_unlocked(struct nv_drm_gem_object *nv_gem) - { - #if defined(NV_DRM_GEM_OBJECT_GET_PRESENT) -+ -+#if defined(NV_DRM_GEM_OBJECT_PUT_UNLOCK_PRESENT) - drm_gem_object_put_unlocked(&nv_gem->base); -+#else -+ drm_gem_object_put(&nv_gem->base); -+#endif -+ - #else - drm_gem_object_unreference_unlocked(&nv_gem->base); - #endif -diff --git a/kernel/nvidia-drm/nvidia-drm-utils.c b/kernel/nvidia-drm/nvidia-drm-utils.c -index 8cb2d5e..e30b2b6 100644 ---- a/kernel/nvidia-drm/nvidia-drm-utils.c -+++ b/kernel/nvidia-drm/nvidia-drm-utils.c -@@ -103,7 +103,9 @@ void - nvkms_display_mode_to_drm_mode(const struct NvKmsKapiDisplayMode *displayMode, - struct drm_display_mode *mode) - { -+#if defined(NV_DRM_DISPLAY_MODE_HAS_VREFRESH) - mode->vrefresh = (displayMode->timings.refreshRate + 500) / 1000; /* In Hz */ -+#endif - - mode->clock = (displayMode->timings.pixelClockHz + 500) / 1000; /* In Hz */ - -@@ -189,7 +191,11 @@ bool drm_format_to_nvkms_format(u32 format, - void drm_mode_to_nvkms_display_mode(const struct drm_display_mode *src, - struct NvKmsKapiDisplayMode *dst) - { -+#if defined(NV_DRM_DISPLAY_MODE_HAS_VREFRESH) - dst->timings.refreshRate = src->vrefresh * 1000; -+#else -+ dst->timings.refreshRate = drm_mode_vrefresh(src) * 1000; -+#endif - - dst->timings.pixelClockHz = src->clock * 1000; /* In Hz */ - -diff --git a/kernel/nvidia-uvm/uvm8_tools.c b/kernel/nvidia-uvm/uvm8_tools.c -index 86dbb77..63d0b64 100644 ---- a/kernel/nvidia-uvm/uvm8_tools.c -+++ b/kernel/nvidia-uvm/uvm8_tools.c -@@ -190,7 +190,6 @@ static uvm_tools_event_tracker_t *tools_event_tracker(struct file *filp) - { - long event_tracker = atomic_long_read((atomic_long_t *)&filp->private_data); - -- smp_read_barrier_depends(); - return (uvm_tools_event_tracker_t *)event_tracker; - } - -diff --git a/kernel/nvidia-uvm/uvm8_va_range.h b/kernel/nvidia-uvm/uvm8_va_range.h -index 8cae357..6166cc8 100644 ---- a/kernel/nvidia-uvm/uvm8_va_range.h -+++ b/kernel/nvidia-uvm/uvm8_va_range.h -@@ -717,7 +717,6 @@ static uvm_va_block_t *uvm_va_range_block(uvm_va_range_t *va_range, size_t index - // make sure that any initialization of this block by the creating thread is - // visible to later accesses in this thread, which requires a data - // dependency barrier. -- smp_read_barrier_depends(); - return block; - } - -diff --git a/kernel/nvidia/nv.c b/kernel/nvidia/nv.c -index 15983f6..cfb2375 100644 ---- a/kernel/nvidia/nv.c -+++ b/kernel/nvidia/nv.c -@@ -3872,7 +3872,9 @@ nvidia_probe - - #if defined(CONFIG_VGA_ARB) && !defined(NVCPU_PPC64LE) - #if defined(VGA_DEFAULT_DEVICE) -+#if defined(NV_VGA_TRYGET_PRESENT) - vga_tryget(VGA_DEFAULT_DEVICE, VGA_RSRC_LEGACY_MASK); -+#endif - #endif - vga_set_legacy_decoding(dev, VGA_RSRC_NONE); - #endif diff --git a/x11-drivers/nvidia-drivers-legacy/files/nvidia-drivers-legacy-390.138-conf.patch b/x11-drivers/nvidia-drivers-legacy/files/nvidia-drivers-legacy-390.138-conf.patch deleted file mode 100644 index 8bd7c1ce..00000000 --- a/x11-drivers/nvidia-drivers-legacy/files/nvidia-drivers-legacy-390.138-conf.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf ---- a/kernel/dkms.conf 2018-03-22 05:39:53.000000000 +0000 -+++ b/kernel/dkms.conf 2018-04-09 16:18:23.177125417 +0100 -@@ -1,12 +1,20 @@ --PACKAGE_NAME="nvidia" --PACKAGE_VERSION="__VERSION_STRING" -+PACKAGE_NAME="nvidia-drivers-legacy-dkms" -+PACKAGE_VERSION="390.138" - AUTOINSTALL="yes" - - # By default, DKMS will add KERNELRELEASE to the make command line; however, - # this will cause the kernel module build to infer that it was invoked via - # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting - # the 'make' command name to suppress this behavior. --MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" -+MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" - - # The list of kernel modules will be generated by nvidia-installer at runtime. --__DKMS_MODULES -+BUILT_MODULE_NAME[0]="nvidia" -+DEST_MODULE_LOCATION[0]="/extra/dkms" -+BUILT_MODULE_NAME[1]="nvidia-uvm" -+DEST_MODULE_LOCATION[1]="/extra/dkms" -+BUILT_MODULE_NAME[2]="nvidia-modeset" -+DEST_MODULE_LOCATION[2]="/extra/dkms" -+BUILT_MODULE_NAME[3]="nvidia-drm" -+DEST_MODULE_LOCATION[3]="/extra/dkms" -+ diff --git a/x11-drivers/nvidia-drivers-legacy/files/nvidia-drm-outputclass.conf b/x11-drivers/nvidia-drivers-legacy/files/nvidia-drm-outputclass.conf index 9c36f59b..a94d18ca 100644 --- a/x11-drivers/nvidia-drivers-legacy/files/nvidia-drm-outputclass.conf +++ b/x11-drivers/nvidia-drivers-legacy/files/nvidia-drm-outputclass.conf @@ -3,6 +3,6 @@ Section "OutputClass" MatchDriver "nvidia-drm" Driver "nvidia" Option "AllowEmptyInitialConfiguration" - ModulePath "/usr/lib/nvidia/xorg" - ModulePath "/usr/lib/xorg/modules" + ModulePath "/usr/lib64/nvidia/xorg" + ModulePath "/usr/lib64/xorg/modules" EndSection diff --git a/x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.138-r1.ebuild b/x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.138-r1.ebuild deleted file mode 100644 index c62d8c8b..00000000 --- a/x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.138-r1.ebuild +++ /dev/null @@ -1,318 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit eutils flag-o-matic multilib-minimal portability toolchain-funcs unpacker - -NV_URI="http://http.download.nvidia.com/XFree86/" -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" - -DESCRIPTION="NVIDIA Accelerated Graphics Driver" -HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx" -SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" - -LICENSE="GPL-2 NVIDIA-r2" -SLOT="0" -KEYWORDS="-* ~amd64" -RESTRICT="bindist mirror" -EMULTILIB_PKG="true" - -IUSE="acpi compat +dkms +libglvnd multilib +tools wayland +X" - -COMMON=" - X? ( - libglvnd? ( - media-libs/libglvnd[${MULTILIB_USEDEP}] - !app-eselect/eselect-opengl - ) - app-misc/pax-utils - )" -DEPEND="${COMMON}" -PDEPEND=" - tools? ( ~x11-misc/nvidia-settings-legacy-${PV}:${SLOT} )" -RDEPEND=" - ${COMMON} - !!x11-drivers/nvidia-drivers - acpi? ( sys-power/acpid ) - dkms? ( ~sys-kernel/${PN}-dkms-${PV}:${SLOT} ) - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] ) - X? ( - =x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}] - ) -" - -QA_PREBUILT="opt/* usr/lib*" - -PATCHES=( - "${FILESDIR}"/kernel-5.8.patch - "${FILESDIR}"/kernel-5.9.patch - "${FILESDIR}"/kernel-5.10.patch - "${FILESDIR}"/"${P}"-conf.patch -) - -S=${WORKDIR}/ - -pkg_setup() { - export DISTCC_DISABLE=1 - export CCACHE_DISABLE=1 - - NV_DOC="${S}" - NV_OBJ="${S}" - NV_SRC="${S}/kernel" - NV_MAN="${S}" - NV_X11="${S}" - NV_SOVER=${PV} -} - -src_prepare() { - default - local man_file - for man_file in "${NV_MAN}"/*1.gz; do - gunzip $man_file || die - done - - if ! [ -f nvidia_icd.json ]; then - cp nvidia_icd.json.template nvidia_icd.json || die - sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die - fi -} - -# Install nvidia library: -# the first parameter is the library to install -# the second parameter is the provided soversion -# the third parameter is the target directory if it is not /usr/lib -donvidia() { - # Full path to library - nv_LIB="${1}" - - # SOVER to use - nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})" - - # Where to install - nv_DEST="${2}" - - # Get just the library name - nv_LIBNAME=$(basename "${nv_LIB}") - - if [[ "${nv_DEST}" ]]; then - exeinto ${nv_DEST} - action="doexe" - else - nv_DEST="/usr/$(get_libdir)" - action="dolib.so" - fi - - # Install the library - ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}" - - # If the library has a SONAME and SONAME does not match the library name, - # then we need to create a symlink - if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} - fi - - dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} -} - -src_install() { - # Xorg DDX && GLX, GLVND, Vulkan ICD - if use X; then - insinto /usr/$(get_libdir)/xorg/modules/drivers - doins ${NV_X11}/nvidia_drv.so - - donvidia ${NV_X11}/libglx.so.${NV_SOVER} \ - /usr/$(get_libdir)/nvidia/xorg - - if has_version '>=x11-base/xorg-server-1.16'; then - insinto /usr/share/X11/xorg.conf.d - newins "${FILESDIR}"/nvidia-drm-outputclass.conf 50-nvidia-drm-outputclass.conf - fi - - insinto /usr/share/glvnd/egl_vendor.d - doins ${NV_X11}/10_nvidia.json - - insinto /etc/vulkan/icd.d - doins ${NV_X11}/nvidia_icd.json - fi - - # Wayland - if use wayland; then - insinto /usr/share/egl/egl_external_platform.d - doins ${NV_X11}/10_nvidia_wayland.json - fi - - insinto /etc/modprobe.d - doins "${FILESDIR}"/nouveau.conf - - # NVIDIA kernel <-> userspace driver config lib - donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} - - # NVIDIA framebuffer capture library - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} - - # NVIDIA video encode/decode <-> CUDA - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER} - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER} - - # OpenCL ICD for NVIDIA - insinto /etc/OpenCL/vendors - doins ${NV_OBJ}/nvidia.icd - - # Helper Apps - exeinto /opt/bin/ - - if use X; then - doexe ${NV_OBJ}/nvidia-xconfig - fi - - doexe ${NV_OBJ}/nvidia-cuda-mps-control - doexe ${NV_OBJ}/nvidia-cuda-mps-server - doexe ${NV_OBJ}/nvidia-debugdump - doexe ${NV_OBJ}/nvidia-persistenced - doexe ${NV_OBJ}/nvidia-smi - - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092) - doexe ${NV_OBJ}/nvidia-modprobe - fowners root:video /opt/bin/nvidia-modprobe - fperms 4710 /opt/bin/nvidia-modprobe - dosym /{opt,usr}/bin/nvidia-modprobe - - # init - newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi - newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced - newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced - - # manpages - if use X ; then - doman "${NV_MAN}"/nvidia-xconfig.1 - fi - - doman "${NV_MAN}"/nvidia-smi.1 - doman "${NV_MAN}"/nvidia-cuda-mps-control.1 - doman "${NV_MAN}"/nvidia-modprobe.1 - doman "${NV_MAN}"/nvidia-persistenced.1 - - if has_multilib_profile && use multilib; then - local OABI=${ABI} - for ABI in $(get_install_abis); do - src_install-libs - done - ABI=${OABI} - unset OABI - else - src_install-libs - fi - - is_final_abi || die "failed to iterate through all ABIs" -} - -src_install-libs() { - local inslibdir=$(get_libdir) - if use libglvnd; then - local GL_ROOT="/usr/$(get_libdir)" - else - local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" - fi - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" - local nv_libdir="${NV_OBJ}" - - if has_multilib_profile && [[ ${ABI} == "x86" ]]; then - nv_libdir="${NV_OBJ}"/32 - fi - - if use X; then - NV_GLX_LIBRARIES=( - "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" - "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" - "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" - "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" - "libOpenCL.so.1.0.0 ${CL_ROOT}" - "libcuda.so.${NV_SOVER}" - "libnvcuvid.so.${NV_SOVER}" - "libnvidia-compiler.so.${NV_SOVER}" - "libnvidia-eglcore.so.${NV_SOVER}" - "libnvidia-encode.so.${NV_SOVER}" - "libnvidia-fatbinaryloader.so.${NV_SOVER}" - "libnvidia-fbc.so.${NV_SOVER}" - "libnvidia-glcore.so.${NV_SOVER}" - "libnvidia-glsi.so.${NV_SOVER}" - "libnvidia-ifr.so.${NV_SOVER}" - "libnvidia-opencl.so.${NV_SOVER}" - "libnvidia-ptxjitcompiler.so.${NV_SOVER}" - "libvdpau_nvidia.so.${NV_SOVER}" - "libnvidia-ml.so.${NV_SOVER}" - "tls/libnvidia-tls.so.${NV_SOVER}" - ) - - if ! use libglvnd; then - NV_GLX_LIBRARIES+=( - "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}" - "libGL.so.1.7.0 ${GL_ROOT}" - "libGLESv1_CM.so.1.2.0 ${GL_ROOT}" - "libGLESv2.so.2.1.0 ${GL_ROOT}" - "libGLX.so.0 ${GL_ROOT}" - "libGLdispatch.so.0 ${GL_ROOT}" - "libOpenGL.so.0 ${GL_ROOT}" - ) - fi - - if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]]; - then - NV_GLX_LIBRARIES+=( - "libnvidia-egl-wayland.so.1.0.2" - ) - fi - - if has_multilib_profile && [[ ${ABI} == "amd64" ]]; - then - NV_GLX_LIBRARIES+=( - "libnvidia-wfb.so.${NV_SOVER}" - ) - fi - - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do - donvidia "${nv_libdir}"/${NV_LIB} - done - fi -} - -_dracut_initramfs_regen() { - if [ -x $(which dracut) ]; then - dracut -N -f --no-hostonly-cmdline - fi -} - -pkg_preinst() { - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then - rm -rf "${ROOT}"/usr/lib/opengl/nvidia/* - fi - - if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then - rm -f "${ROOT}"/etc/env.d/09nvidia - fi -} - -pkg_postinst() { - if ! use X; then - elog "You have selected to not install the X.org driver. Along with" - elog "this the OpenGL libraries and VDPAU libraries were not" - elog "installed. Additionally, once the driver is loaded your card" - elog "and fan will run at max speed which may not be desirable." - elog "Use the 'nvidia-smi' init script to have your card and fan" - elog "speed scale appropriately." - elog - fi - if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then - _dracut_initramfs_regen - fi -} - -pkg_postrm() { - if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then - _dracut_initramfs_regen - fi -} diff --git a/x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.141.ebuild b/x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.141.ebuild new file mode 100644 index 00000000..22df8001 --- /dev/null +++ b/x11-drivers/nvidia-drivers-legacy/nvidia-drivers-legacy-390.141.ebuild @@ -0,0 +1,315 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils flag-o-matic multilib-minimal portability toolchain-funcs unpacker + +NV_URI="http://http.download.nvidia.com/XFree86/" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx" +SRC_URI="amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )" + +LICENSE="GPL-2 NVIDIA-r2" +SLOT="0" +KEYWORDS="-* ~amd64" +RESTRICT="bindist mirror" +EMULTILIB_PKG="true" + +IUSE="acpi compat +dkms +libglvnd multilib +tools wayland +X" + +COMMON=" + X? ( + libglvnd? ( + media-libs/libglvnd[${MULTILIB_USEDEP}] + !app-eselect/eselect-opengl + ) + app-misc/pax-utils + )" +DEPEND="${COMMON}" +PDEPEND=" + tools? ( ~x11-misc/nvidia-settings-legacy-${PV}:${SLOT} )" +RDEPEND=" + ${COMMON} + !!x11-drivers/nvidia-drivers + acpi? ( sys-power/acpid ) + dkms? ( ~sys-kernel/${PN}-dkms-${PV}:${SLOT} ) + wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] ) + X? ( + =x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + ) +" + +QA_PREBUILT="opt/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/dkms.patch +) + +S=${WORKDIR}/ + +pkg_setup() { + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + NV_DOC="${S}" + NV_OBJ="${S}" + NV_SRC="${S}/kernel" + NV_MAN="${S}" + NV_X11="${S}" + NV_SOVER=${PV} +} + +src_prepare() { + default + local man_file + for man_file in "${NV_MAN}"/*1.gz; do + gunzip $man_file || die + done + + if ! [ -f nvidia_icd.json ]; then + cp nvidia_icd.json.template nvidia_icd.json || die + sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die + fi +} + +# Install nvidia library: +# the first parameter is the library to install +# the second parameter is the provided soversion +# the third parameter is the target directory if it is not /usr/lib +donvidia() { + # Full path to library + nv_LIB="${1}" + + # SOVER to use + nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})" + + # Where to install + nv_DEST="${2}" + + # Get just the library name + nv_LIBNAME=$(basename "${nv_LIB}") + + if [[ "${nv_DEST}" ]]; then + exeinto ${nv_DEST} + action="doexe" + else + nv_DEST="/usr/$(get_libdir)" + action="dolib.so" + fi + + # Install the library + ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}" + + # If the library has a SONAME and SONAME does not match the library name, + # then we need to create a symlink + if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} + fi + + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} +} + +src_install() { + # Xorg DDX && GLX, GLVND, Vulkan ICD + if use X; then + insinto /usr/$(get_libdir)/xorg/modules/drivers + doins ${NV_X11}/nvidia_drv.so + + donvidia ${NV_X11}/libglx.so.${NV_SOVER} \ + /usr/$(get_libdir)/nvidia/xorg + + if has_version '>=x11-base/xorg-server-1.16'; then + insinto /usr/share/X11/xorg.conf.d + newins "${FILESDIR}"/nvidia-drm-outputclass.conf 50-nvidia-drm-outputclass.conf + fi + + insinto /usr/share/glvnd/egl_vendor.d + doins ${NV_X11}/10_nvidia.json + + insinto /etc/vulkan/icd.d + doins ${NV_X11}/nvidia_icd.json + fi + + # Wayland + if use wayland; then + insinto /usr/share/egl/egl_external_platform.d + doins ${NV_X11}/10_nvidia_wayland.json + fi + + insinto /etc/modprobe.d + doins "${FILESDIR}"/nouveau.conf + + # NVIDIA kernel <-> userspace driver config lib + donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} + + # NVIDIA framebuffer capture library + donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} + + # NVIDIA video encode/decode <-> CUDA + donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER} + donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER} + + # OpenCL ICD for NVIDIA + insinto /etc/OpenCL/vendors + doins ${NV_OBJ}/nvidia.icd + + # Helper Apps + exeinto /opt/bin/ + + if use X; then + doexe ${NV_OBJ}/nvidia-xconfig + fi + + doexe ${NV_OBJ}/nvidia-cuda-mps-control + doexe ${NV_OBJ}/nvidia-cuda-mps-server + doexe ${NV_OBJ}/nvidia-debugdump + doexe ${NV_OBJ}/nvidia-persistenced + doexe ${NV_OBJ}/nvidia-smi + + # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092) + #doexe ${NV_OBJ}/nvidia-modprobe + #fowners root:video /opt/bin/nvidia-modprobe + #fperms 4710 /opt/bin/nvidia-modprobe + #dosym /{opt,usr}/bin/nvidia-modprobe + + # init + newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi + newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced + newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced + + # manpages + if use X ; then + doman "${NV_MAN}"/nvidia-xconfig.1 + fi + + doman "${NV_MAN}"/nvidia-smi.1 + doman "${NV_MAN}"/nvidia-cuda-mps-control.1 + doman "${NV_MAN}"/nvidia-modprobe.1 + doman "${NV_MAN}"/nvidia-persistenced.1 + + if has_multilib_profile && use multilib; then + local OABI=${ABI} + for ABI in $(get_install_abis); do + src_install-libs + done + ABI=${OABI} + unset OABI + else + src_install-libs + fi + + is_final_abi || die "failed to iterate through all ABIs" +} + +src_install-libs() { + local inslibdir=$(get_libdir) + if use libglvnd; then + local GL_ROOT="/usr/$(get_libdir)" + else + local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" + fi + local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" + local nv_libdir="${NV_OBJ}" + + if has_multilib_profile && [[ ${ABI} == "x86" ]]; then + nv_libdir="${NV_OBJ}"/32 + fi + + if use X; then + NV_GLX_LIBRARIES=( + "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" + "libOpenCL.so.1.0.0 ${CL_ROOT}" + "libcuda.so.${NV_SOVER}" + "libnvcuvid.so.${NV_SOVER}" + "libnvidia-compiler.so.${NV_SOVER}" + "libnvidia-eglcore.so.${NV_SOVER}" + "libnvidia-encode.so.${NV_SOVER}" + "libnvidia-fatbinaryloader.so.${NV_SOVER}" + "libnvidia-fbc.so.${NV_SOVER}" + "libnvidia-glcore.so.${NV_SOVER}" + "libnvidia-glsi.so.${NV_SOVER}" + "libnvidia-ifr.so.${NV_SOVER}" + "libnvidia-opencl.so.${NV_SOVER}" + "libnvidia-ptxjitcompiler.so.${NV_SOVER}" + "libvdpau_nvidia.so.${NV_SOVER}" + "libnvidia-ml.so.${NV_SOVER}" + "tls/libnvidia-tls.so.${NV_SOVER}" + ) + + if ! use libglvnd; then + NV_GLX_LIBRARIES+=( + "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}" + "libGL.so.1.7.0 ${GL_ROOT}" + "libGLESv1_CM.so.1.2.0 ${GL_ROOT}" + "libGLESv2.so.2.1.0 ${GL_ROOT}" + "libGLX.so.0 ${GL_ROOT}" + "libGLdispatch.so.0 ${GL_ROOT}" + "libOpenGL.so.0 ${GL_ROOT}" + ) + fi + + if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]]; + then + NV_GLX_LIBRARIES+=( + "libnvidia-egl-wayland.so.1.0.2" + ) + fi + + if has_multilib_profile && [[ ${ABI} == "amd64" ]]; + then + NV_GLX_LIBRARIES+=( + "libnvidia-wfb.so.${NV_SOVER}" + ) + fi + + for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do + donvidia "${nv_libdir}"/${NV_LIB} + done + fi +} + +_dracut_initramfs_regen() { + if [ -x $(which dracut) ]; then + dracut -N -f --no-hostonly-cmdline + fi +} + +pkg_preinst() { + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then + rm -rf "${ROOT}"/usr/lib/opengl/nvidia/* + fi + + if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then + rm -f "${ROOT}"/etc/env.d/09nvidia + fi +} + +pkg_postinst() { + if ! use X; then + elog "You have selected to not install the X.org driver. Along with" + elog "this the OpenGL libraries and VDPAU libraries were not" + elog "installed. Additionally, once the driver is loaded your card" + elog "and fan will run at max speed which may not be desirable." + elog "Use the 'nvidia-smi' init script to have your card and fan" + elog "speed scale appropriately." + elog + fi + if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then + _dracut_initramfs_regen + fi +} + +pkg_postrm() { + if [ $(stat -c %d:%i /) == $(stat -c %d:%i /proc/1/root/.) ]; then + _dracut_initramfs_regen + fi +} diff --git a/x11-misc/nvidia-settings-legacy/Manifest b/x11-misc/nvidia-settings-legacy/Manifest index 782046dc..00523de1 100644 --- a/x11-misc/nvidia-settings-legacy/Manifest +++ b/x11-misc/nvidia-settings-legacy/Manifest @@ -1 +1 @@ -DIST nvidia-settings-legacy-390.138.tar.gz 1297269 BLAKE2B 6b48f095cd1ea874b65e8e2df0dc6469e1b19336498df76f537ff2b6fbe441363909131e2abbd8bb7c061ad8b52562c0afc28592093cc2b2f578aae383e25fbf SHA512 c27c8dbb858f06982e251bd3bf49650d05ca8811d61eb342b43bf00bc595b8d789b38b7ebd76b9ab5786ec5bee84b1cb44ee3f3fb24c40dee1b1b9d535993eb6 +DIST nvidia-settings-legacy-390.141.tar.gz 1297261 BLAKE2B 452870df1ba598692f5da47444eb2daf4db40c79cac98c10b1c994c0ff39fc7936909b9d7788cbfe784999e68a2bdbbc12e85d63c3bc02ac872e6b3c46834697 SHA512 dbf7c389bbdc94291a1b974adfa33414148b1ab752aa7d948a27e91ee1bceb3b8435aceb6b7ef3cb806333572db11b5524667045ef7686b119d7955d2699cb04 diff --git a/x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.138.ebuild b/x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.138.ebuild deleted file mode 100644 index 69d2fd71..00000000 --- a/x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.138.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils multilib toolchain-funcs - -DESCRIPTION="NVIDIA Linux X11 Settings Utility" -HOMEPAGE="http://www.nvidia.com/" -SRC_URI="https://github.com/NVIDIA/nvidia-settings/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="-* amd64" -IUSE="+gtk3" - -QA_PREBUILT= - -COMMON_DEPEND=" - gtk3? ( x11-libs/gtk+:3 ) - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXxf86vm - x11-libs/gdk-pixbuf-xlib - media-libs/mesa - x11-libs/pango[X] - x11-libs/libXv - x11-libs/libXrandr - dev-libs/glib:2 - dev-libs/jansson - x11-libs/cairo - >=x11-libs/libvdpau-1.0" - -RDEPEND="${COMMON_DEPEND} - !!x11-misc/nvidia-settings - ~x11-drivers/nvidia-drivers-legacy-${PV}:${SLOT}" -DEPEND="${RDEPEND} - virtual/pkgconfig - x11-base/xorg-proto" - -S=${WORKDIR}/nvidia-settings-${PV} - -src_prepare() { - default - eapply "${FILESDIR}"/"${PN}"-linker.patch - eapply "${FILESDIR}"/"${PN}"-fno-common.patch -} - -src_compile() { - emake -C src/ \ - AR="$(tc-getAR)" \ - CC="$(tc-getCC)" \ - DO_STRIP= \ - LD="$(tc-getCC)" \ - LIBDIR="$(get_libdir)" \ - NVLD="$(tc-getLD)" \ - NV_VERBOSE=1 \ - RANLIB="$(tc-getRANLIB)" \ - build-xnvctrl - - emake -C src/ \ - CC="$(tc-getCC)" \ - DO_STRIP= \ - GTK3_AVAILABLE=$(usex gtk3 1 0) \ - LD="$(tc-getCC)" \ - LIBDIR="$(get_libdir)" \ - NVLD="$(tc-getLD)" \ - NVML_ENABLED=0 \ - NV_USE_BUNDLED_LIBJANSSON=0 \ - NV_VERBOSE=1 -} - -src_install() { - emake -C src/ \ - DESTDIR="${D}" \ - GTK3_AVAILABLE=$(usex gtk3 1 0) \ - LIBDIR="${D}/usr/$(get_libdir)" \ - NV_USE_BUNDLED_LIBJANSSON=0 \ - NV_VERBOSE=1 \ - PREFIX=/usr \ - DO_STRIP= \ - install - - insinto /usr/$(get_libdir) - doins src/libXNVCtrl/libXNVCtrl.a - - insinto /usr/include/NVCtrl - doins src/libXNVCtrl/*.h - - doicon doc/nvidia-settings.png - domenu ${FILESDIR}/${PN}.desktop - - dodoc doc/*.txt -} diff --git a/x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.141.ebuild b/x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.141.ebuild new file mode 100644 index 00000000..d9320b84 --- /dev/null +++ b/x11-misc/nvidia-settings-legacy/nvidia-settings-legacy-390.141.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="https://github.com/NVIDIA/nvidia-settings/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* amd64" +IUSE="" + +QA_PREBUILT= + +COMMON_DEPEND=" + x11-libs/gtk+:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/gdk-pixbuf-xlib + media-libs/mesa + x11-libs/pango[X] + x11-libs/libXv + x11-libs/libXrandr + dev-libs/glib:2 + dev-libs/jansson + x11-libs/cairo + >=x11-libs/libvdpau-1.0" + +RDEPEND="${COMMON_DEPEND} + !!x11-misc/nvidia-settings + ~x11-drivers/nvidia-drivers-legacy-${PV}:${SLOT}" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-base/xorg-proto" + +S=${WORKDIR}/nvidia-settings-${PV} + +src_prepare() { + default + eapply "${FILESDIR}"/"${PN}"-linker.patch + eapply "${FILESDIR}"/"${PN}"-fno-common.patch +} + +src_compile() { + emake -C src/ \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + DO_STRIP= \ + LD="$(tc-getCC)" \ + LIBDIR="$(get_libdir)" \ + NVLD="$(tc-getLD)" \ + NV_VERBOSE=1 \ + RANLIB="$(tc-getRANLIB)" \ + build-xnvctrl + + emake -C src/ \ + CC="$(tc-getCC)" \ + DO_STRIP= \ + GTK3_AVAILABLE=1 \ + LD="$(tc-getCC)" \ + LIBDIR="$(get_libdir)" \ + NVLD="$(tc-getLD)" \ + NVML_ENABLED=0 \ + NV_USE_BUNDLED_LIBJANSSON=0 \ + NV_VERBOSE=1 +} + +src_install() { + emake -C src/ \ + DESTDIR="${D}" \ + GTK3_AVAILABLE=1 \ + LIBDIR="${D}/usr/$(get_libdir)" \ + NV_USE_BUNDLED_LIBJANSSON=0 \ + NV_VERBOSE=1 \ + PREFIX=/usr \ + DO_STRIP= \ + install + + insinto /usr/$(get_libdir) + doins src/libXNVCtrl/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/*.h + + doicon doc/nvidia-settings.png + domenu ${FILESDIR}/${PN}.desktop + + dodoc doc/*.txt + + rm -rvf ${D}usr/$(get_libdir)/libnvidia-gtk2.so.${PV} +} diff --git a/x11-misc/nvidia-settings/Manifest b/x11-misc/nvidia-settings/Manifest index 8a332005..99b51e8f 100644 --- a/x11-misc/nvidia-settings/Manifest +++ b/x11-misc/nvidia-settings/Manifest @@ -1,2 +1 @@ -DIST nvidia-settings-440.82.tar.gz 1314506 BLAKE2B 5f7393f2caaa0ca74e81d95e9d4b6b4346c30abd096c327f0aec41e83a6bb574a79305ad6081a42437ef3085d373f0b9006e6da3ff93ebf833ef314b03176005 SHA512 2974a82b63a55c9129e171663ef57e2b2fcf47750e0b725eefef5e176a25ad08f47dd5cfd1875bd0002d89b3b1fb24bd9bbc034c5feeefc6256052bf7d04e997 DIST nvidia-settings-455.45.01.tar.gz 1229448 BLAKE2B 6e8f98a2a9358a2975b8331f2c1351afdbfe9f33407d48020e3e010fc633e4f3c6a76f2fbfa91e69d77ea5823b941b481d4854e226ba41d7cc84a3a591d652b8 SHA512 c29575cc7133c2c6d49b2435fc1d57285b744341adb96c7a7a060362ac2077e99b31fde28702ac0d1c6ad18178967c21340f968d13e74642b3ccb1fb47757ed5 diff --git a/x11-themes/redcore-artwork-core/Manifest b/x11-themes/redcore-artwork-core/Manifest deleted file mode 100644 index c9e48c98..00000000 --- a/x11-themes/redcore-artwork-core/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST redcore-artwork-core.tar.xz 18833008 BLAKE2B 83bca493d3f360cfdffe1f0fd559bd91589f86dd2be707a974ae7edfde49837c78e7968d5d1f08aa40786df4f9944ae4dd85f9dd5a42f50a4979b4300e3725f7 SHA512 f7c2aa98606d22c2a7153bb9f6769834414a75f9e134ad597658532d3e0ec9e53c6659cb2bf46fee577b3e0a9cc79f616f0102ce83f3fc9108078a5bd944e0e6 -- cgit v1.2.3