Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

x11-drivers/nvidia-drivers-390.138 fails with 5.8 kernel

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
27 posts
  • 1
  • 2
  • Next
Author
Message
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

x11-drivers/nvidia-drivers-390.138 fails with 5.8 kernel

  • Quote

Post by ExecutorElassus » Fri Aug 07, 2020 8:53 am

Code: Select all

In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia/nv-frontend.c:13:
/var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/common/inc/nv-linux.h: In function ‘nv_vmalloc’:
/var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/common/inc/nv-linux.h:534:17: error: too many arguments to function ‘__v
malloc’
  534 |     void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
      |                 ^~~~~~~~~
In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/common/inc/nv-linux.h:94,
                 from /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia/nv-frontend.c:13:
./include/linux/vmalloc.h:111:14: note: declared here
  111 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask);
      |              ^~~~~~~~~
In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia/nv-dma.c:15:
/var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/common/inc/nv-linux.h: In function ‘nv_vmalloc’:
/var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/common/inc/nv-linux.h:534:17: error: too many arguments to function ‘__v
malloc’
  534 |     void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
      |                 ^~~~~~~~~
In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/common/inc/nv-linux.h:94,
                 from /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia/nv-dma.c:15:
./include/linux/vmalloc.h:111:14: note: declared here
  111 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask);
There is a patch here, but it doesn't work on nvidia-drivers-390.138. Can anybody help me modify it?

Cheers,

EE
Top
Hu
Administrator
Administrator
Posts: 24401
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Fri Aug 07, 2020 11:48 pm

This is most likely because of mm: remove the pgprot argument to __vmalloc. According to that commit message, you should remove , PAGE_KERNEL, as it is now implied.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Sat Aug 08, 2020 5:59 am

the patch failed with this error:

Code: Select all

patching file kernel/common/inc/nv-linux.h
Hunk #1 succeeded at 531 (offset 22 lines).
patching file kernel/common/inc/nv-mm.h
patching file kernel/conftest.sh
Hunk #1 succeeded at 2624 (offset 508 lines).
patching file kernel/nvidia/nvidia.Kbuild
Hunk #1 FAILED at 145.
Hunk #2 FAILED at 172.
2 out of 2 hunks FAILED -- saving rejects to file kernel/nvidia/nvidia.Kbuild.rej   
nvidia.Kbuild.rej reads:

Code: Select all

--- kernel/nvidia/nvidia.Kbuild
+++ kernel/nvidia/nvidia.Kbuild
@@ -145,6 +145,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += vmf_insert_pfn
 NV_CONFTEST_FUNCTION_COMPILE_TESTS += jiffies_to_timespec
 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_raw_ts64
 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_real_ts64
+NV_CONFTEST_FUNCTION_COMPILE_TESTS += vmalloc_argument_count
 
 NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_gpl_of_node_to_nid
 NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_present_swiotlb_map_sg_attrs
@@ -172,6 +173,7 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work
 NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink
 NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops
 NV_CONFTEST_TYPE_COMPILE_TESTS += timeval
+NV_CONFTEST_TYPE_COMPILE_TESTS += mm_struct_has_mmap_lock
 
 NV_CONFTEST_GENERIC_COMPILE_TESTS += dom0_kernel_present
 NV_CONFTEST_GENERIC_COMPILE_TESTS += nvidia_vgpu_hyperv_available
So how do I modify that to work?

Cheers,

EE
Top
Hu
Administrator
Administrator
Posts: 24401
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sat Aug 08, 2020 4:57 pm

I do not use the proprietary nVidia drivers, and do not know why they are even attempting that test. Unfortunately, the page you linked does not contain the patch text, so I cannot review it to see why they are attempting this. I would suggest instead making the appropriate changes to vmalloc independent of their patch, or switching to a maintained driver that works without custom patching.
Top
omidxo
n00b
n00b
User avatar
Posts: 71
Joined: Wed Feb 23, 2005 12:19 pm

work for 190.138

  • Quote

Post by omidxo » Sun Aug 09, 2020 3:39 am

Code: Select all

diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
index 70d336d..c31ec94 100644
--- a/kernel/common/inc/nv-linux.h
+++ b/kernel/common/inc/nv-linux.h
@@ -531,7 +531,13 @@ extern NvBool nvos_is_chipset_io_coherent(void);
 
 static inline void *nv_vmalloc(unsigned long size)
 {
+#if NV_VMALLOC_ARGUMENT_COUNT_ARGUMENT_COUNT == 3
     void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
+#elif NV_VMALLOC_ARGUMENT_COUNT_ARGUMENT_COUNT == 2
+    void *ptr = __vmalloc(size, GFP_KERNEL);
+#else
+#error "NV_VMALLOC_ARGUMENT_COUNT_ARGUMENT_COUNT value unrecognized!"
+#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 4d75de0..0174626 100644
--- a/kernel/common/inc/nv-mm.h
+++ b/kernel/common/inc/nv-mm.h
@@ -25,6 +25,10 @@
 
 #include "conftest.h"
 
+#if defined(NV_MM_STRUCT_HAS_MMAP_LOCK)
+#define mmap_sem mmap_lock
+#endif
+
 #if !defined(NV_VM_FAULT_T_IS_PRESENT)
 typedef int vm_fault_t;
 #endif
diff --git a/kernel/conftest.sh b/kernel/conftest.sh
index af29636..1dfbca5 100755
--- a/kernel/conftest.sh
+++ b/kernel/conftest.sh
@@ -2624,6 +2624,49 @@ compile_test() {
             compile_check_conftest "$CODE" "NV_VZALLOC_PRESENT" "" "functions"
         ;;
 
+        vmalloc_argument_count)
+            #
+            # Determine how many arguments __vmalloc takes.
+            #
+            # Changed by commit fc3af83c4fca ("mm: remove the pgprot argument
+            # to __vmalloc")
+            #
+            echo "$CONFTEST_PREAMBLE
+            #include <linux/mm.h>
+            #include <linux/vmalloc.h>
+            void conftest_vmalloc_argument_count(void) {
+                __vmalloc(0, GFP_KERNEL, PAGE_KERNEL);
+            }" > conftest$$.c
+
+            $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1
+            rm -f conftest$$.c
+
+            if [ -f conftest$$.o ]; then
+                echo "#define NV_VMALLOC_ARGUMENT_COUNT_ARGUMENT_COUNT 3" | append_conftest "functions"
+            else
+                echo "#define NV_VMALLOC_ARGUMENT_COUNT_ARGUMENT_COUNT 2" | append_conftest "functions"
+            fi
+
+            rm -f conftest$$.o
+        ;;
+
+        mm_struct_has_mmap_lock)
+            #
+            # Determine if the mm_struct structure has 'mmap_lock'.
+            #
+            # Changed by commit ea7b54944ef9 ("mmap locking API: rename mmap_sem
+            # to mmap_lock")
+            #
+            CODE="
+            #include <linux/mm.h>
+
+            int conftest_mm_struct_has_mmap_lock(void) {
+                return offsetof(struct mm_struct, mmap_lock);
+            }"
+
+            compile_check_conftest "$CODE" "NV_MM_STRUCT_HAS_MMAP_LOCK" "" "types"
+        ;;
+
         drm_driver_has_set_busid)
             #
             # Determine if the drm_driver structure has a 'set_busid' callback
diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild
index ddc548d..863775d 100644
--- a/kernel/nvidia/nvidia.Kbuild
+++ b/kernel/nvidia/nvidia.Kbuild
@@ -157,6 +157,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += vmf_insert_pfn
 NV_CONFTEST_FUNCTION_COMPILE_TESTS += jiffies_to_timespec
 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_raw_ts64
 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_real_ts64
+NV_CONFTEST_FUNCTION_COMPILE_TESTS += vmalloc_argument_count
 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_nocache
 
 NV_CONFTEST_SYMBOL_COMPILE_TESTS += is_export_symbol_gpl_of_node_to_nid
@@ -195,6 +196,7 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops
 NV_CONFTEST_TYPE_COMPILE_TESTS += timeval
 NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work
 NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink
+NV_CONFTEST_TYPE_COMPILE_TESTS += mm_struct_has_mmap_lock
 NV_CONFTEST_TYPE_COMPILE_TESTS += pci_dev_has_skip_bus_pm
 
 NV_CONFTEST_GENERIC_COMPILE_TESTS += dom0_kernel_present
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Sun Aug 09, 2020 5:42 am

omidxo, thank you for the patch. Now compilation fails on the following error:

Code: Select all

FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads'
How do I work around that? Do I need to add a flag somewhere to allow kernel tainting or whatever?

Hu, telling me to use an open-source driver won't work. I have an nvidia card and play games. The open-source one won't work for me.

Cheers,

EE
Top
omidxo
n00b
n00b
User avatar
Posts: 71
Joined: Wed Feb 23, 2005 12:19 pm

  • Quote

Post by omidxo » Sun Aug 09, 2020 7:00 am

ExecutorElassus wrote:How do I work around that? Do I need to add a flag somewhere to allow kernel tainting or whatever?
uvm use flag can be removed unless you need this module

Code: Select all

USE=-uvm emerge nvidia-drivers -1
Top
Ionen
Developer
Developer
User avatar
Posts: 3013
Joined: Thu Dec 06, 2018 2:23 pm

  • Quote

Post by Ionen » Sun Aug 09, 2020 7:08 am

^ and note that you do not need uvm+cuda/opencl for gaming. This is something that has uses when not using the gpu for gaming, and typically not used except by more specialized applications (and even then is optional, if unsure if you need it then you probably don't).

Removing USE=uvm will also spare you from a dependency on virtual/opencl-3 which requires ruby by default. Nevermind if you do need it :)
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Sun Aug 09, 2020 8:31 am

Hi omidxo,

I tried 'USE="-uvm" emerge nvidia-drivers', and it still failed with the following error:

Code: Select all

  {   echo /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia.ko;   echo /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia-uvm.ko;   echo /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia-modeset.ko;   echo /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/nvidia-drm.ko; :; } | awk '!x[$0]++' - > /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/modules.order
make -f ./scripts/Makefile.modpost
  sed 's/ko$/o/' /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/modules.order | scripts/mod/modpost     -o /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/Module.symvers -e -i Module.symvers   -T -
FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads'
make[2]: *** [scripts/Makefile.modpost:111: /var/tmp/portage/x11-drivers/nvidia-drivers-390.138/work/kernel/Module.symvers] Error 1
make[1]: *** [Makefile:1669: modules] Error 2
make[1]: Leaving directory '/usr/src/linux-5.8.0-gentoo-r1'
make: *** [Makefile:81: modules] Error 2
Why is it still trying to compile the uvm module?

Cheers,

EH
Top
Ionen
Developer
Developer
User avatar
Posts: 3013
Joined: Thu Dec 06, 2018 2:23 pm

  • Quote

Post by Ionen » Sun Aug 09, 2020 9:15 am

Oh right, it only prevents installing the module / deps, I think nvidia's build system doesn't let make building it optional easily and (normally) didn't cause problems so it was left alone. Haven't messed with 390.138 nor kernel 5.8.0 yet so I don't think I can help (my personal suggestion would just be to stick to LTS kernel, aka 5.4.x stable in gentoo, especially since nvidia is slower on updating 390.xx and it doesn't keep up with changes as fast)
Top
omidxo
n00b
n00b
User avatar
Posts: 71
Joined: Wed Feb 23, 2005 12:19 pm

  • Quote

Post by omidxo » Sun Aug 09, 2020 10:28 am

ExecutorElassus wrote:FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads'
[/code]

Why is it still trying to compile the uvm module?
It seems not related to uvm use set.
Looks like LICENSE about. The previous posts are for your reference: viewtopic-p-7964326.html
or:
Take a look in /etc/portage/make.conf, Confirm the following line:

Code: Select all

ACCEPT_LICENSE="* -@EULA"
If it still can’t be solved, I'm sorry.
Top
Ionen
Developer
Developer
User avatar
Posts: 3013
Joined: Thu Dec 06, 2018 2:23 pm

  • Quote

Post by Ionen » Sun Aug 09, 2020 1:18 pm

Looks like bug #736513 was opened.

Given how this usually goes I imagine nothing will be done and it'll wait until nvidia fix it themselves (the ebuild already tells users to not use 5.8 for 390.138 unlike 450.57, so for the ebuild this is not really a bug), but some workarounds may get posted.
Edit: but again, I strongly suggest that if going to use LTS legacy nvidia drivers, then should stick to LTS kernels to go with it unless really need a new feature from latest kernels which is typically unlikely on old hardware.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Sun Aug 09, 2020 4:11 pm

fair enough. It's just my card is stupidly old on an otherwise only moderately old machine.

Oh well. Next GPU will be AMD.

Cheers,

EE
Top
Hu
Administrator
Administrator
Posts: 24401
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sun Aug 09, 2020 4:45 pm

ExecutorElassus wrote:How do I work around that? Do I need to add a flag somewhere to allow kernel tainting or whatever?
You need to patch the driver not to use GPL-only symbols, since the driver is not licensed under the GPL. This is a standard kernel mechanism to tag that the driver is playing in internals that it has no business touching.
ExecutorElassus wrote:Hu, telling me to use an open-source driver won't work. I have an nvidia card and play games. The open-source one won't work for me.
I very carefully did not tell you to use the open-source driver. I said:
Hu wrote:I would suggest instead making the appropriate changes to vmalloc independent of their patch, or switching to a maintained driver that works without custom patching.
There are several ways to satisfy that suggestion:
  • Stop using the vmalloc patch and write your own. It should be straightforward since all you need to do is remove a literal argument in the places where it is used.
  • Use a proprietary nVidia driver that nVidia actually maintains properly for the kernel series you are using, so that it works as released by its author, without extra patches later.
  • Use a kernel series for which the proprietary nVidia driver you want to use is properly maintained. (First option: change nVidia driver version. Second option: change kernel version.)
  • Switch to the open driver.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Sun Aug 09, 2020 4:59 pm

Hi Hu,

thank you for the clarification. My mistake. Since the 5.8 kernel is really new, I suppose I can handle waiting a bit until there's a driver that works for it. As already pointed out, there's a bug submitted, so hopefully there'll be a patch soon.

Cheers,

EE
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Tue Aug 25, 2020 8:56 am

Hu,

there is now this patch from Ubuntu. Would that be possible to use here?

Cheers,

EE
Top
Hu
Administrator
Administrator
Posts: 24401
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Tue Aug 25, 2020 4:15 pm

The change looks plausible, but a statement in the commit log makes me think it's probably a bad idea:

Code: Select all

This still requires a partial
revert of commit cfa6705d89b6562f79c40c249f8d94073c4276e4
(radix-tree: Use local_lock for protection), which made
radix_tree_preloads GPL-only.
If the symbol is GPL-only, it cannot be used by a proprietary module, such as the nVidia driver. I defer to the upstream developers on whether it should be GPL-only, and since they are the ones that added that marker, I assume it was for good reason.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Wed Sep 02, 2020 9:48 am

I don't dispute that part. Honestly, as soon as I'm making money again, my first purchase is going to be a Radeon card, so I can stop messing with this. But in the meantime, nvidia-drivers-390.138 is up to -r4, and still doesn't work with the 5.8 kernels. I hope it gets resolved soon.

(now there's just the other problem with libglvnd also not working with the legacy drivers, which is blocking xorg-server, but that, too, I expect would be resolved by upgrading the card).

Anyway, I'll keep watching and hope for updates.

Cheers,

EE
Top
Josef.95
Advocate
Advocate
Posts: 4857
Joined: Mon Sep 03, 2007 9:46 am
Location: Germany

  • Quote

Post by Josef.95 » Wed Sep 02, 2020 12:57 pm

ExecutorElassus wrote:But in the meantime, nvidia-drivers-390.138 is up to -r4, and still doesn't work with the 5.8 kernels. I hope it gets resolved soon.
The current 390.138 legacy version will never work with the brand new linux-5.8 kernel. Wait for a new compatible nvidia release, or using a compatible stable <=kernel-5.4 should work.

Code: Select all

ebuild `equery w nvidia-drivers-390.132-r4` prepare
....
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     5.8.5-gentoo_lucy
 * Gentoo supports kernels which are supported by NVIDIA
 * which are limited to the following kernels:
 * <sys-kernel/gentoo-sources-5.5
 * <sys-kernel/vanilla-sources-5.5
 * 
 * You are free to utilize eapply_user to provide whatever
 * support you feel is appropriate, but will not receive
 * support as a result of those changes.
 * 
 * Do not file a bug report about this.
 * 
 * Checking for suitable kernel configuration options...                                                                                                                                                   [ ok ]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     5.8.5-gentoo_lucy
 * Gentoo supports kernels which are supported by NVIDIA
 * which are limited to the following kernels:
 * <sys-kernel/gentoo-sources-5.5
 * <sys-kernel/vanilla-sources-5.5
 * 
 * You are free to utilize eapply_user to provide whatever
 * support you feel is appropriate, but will not receive
 * support as a result of those changes.
 * 
 * Do not file a bug report about this.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Wed Sep 02, 2020 1:41 pm

Hi Josef,

well, in almost every case previously, there was a patch out within a couple days (albeit from the user community, not nvidia) that could get the driver blob working with new kernels. This time it's taken a couple weeks, and there's still no patch.

Until then, I'm on a 5.7* kernel.

Thanks for the help,

EE
Top
Ionen
Developer
Developer
User avatar
Posts: 3013
Joined: Thu Dec 06, 2018 2:23 pm

  • Quote

Post by Ionen » Wed Sep 02, 2020 2:57 pm

Rather than relying on barely tested community patches or staying on a end-of-life kernel (aka 5.7), why not just stick to a long-term-support kernel? (aka stable kernel in gentoo, currently 5.4.x.. which is still supported and receiving updates)

nvidia updates 390 rarely and support will end in 2 years, it'll just get harder and harder to use bleeding kernels.
Top
omidxo
n00b
n00b
User avatar
Posts: 71
Joined: Wed Feb 23, 2005 12:19 pm

  • Quote

Post by omidxo » Fri Sep 04, 2020 12:48 pm

I have never encountered a "GPL-only" prompt(GeForce 610, nvidia-drivers-390.138-r4).
It must be somewhere in the kernel configuration.
Maybe "preempt_disable()/preempt_enable()" about I think. If not, Maybe somewhere else.

Code: Select all

~ $ cat /usr/src/linux-5.8.6-gentoo/.config |grep PREEMPT
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_RCU=y
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DEBUG_PREEMPT=y
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Fri Sep 04, 2020 5:55 pm

here's my equivalent:

Code: Select all

# cat .config | grep PREEMPT
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
Should it be set? What does that setting do?
Top
omidxo
n00b
n00b
User avatar
Posts: 71
Joined: Wed Feb 23, 2005 12:19 pm

  • Quote

Post by omidxo » Sat Sep 05, 2020 6:27 am

I just replaced mine with your settings, the issue reproduces.

Code: Select all

FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads'
The basis for guessing comes from here: http://lkml.iu.edu/hypermail/linux/kern ... 01056.html
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1525
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Wed Oct 07, 2020 12:40 pm

So, I finally gave up (it's been nearly three months, and nvidia still hasn't patched the driver) and just modified the kernel config to use your settings. And it seems to have worked.

I got an error at the final stage of install that it was unable to install the opengl module, but glxgears seems to work regardless, and I can now use the legacy driver with a 5.8 kernel.

Thanks for the help!

Cheers,

EE
Top
Post Reply

27 posts
  • 1
  • 2
  • Next

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic