-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NVIDIA GPU is not supported since 4.8 #810
Comments
What GPU is that? |
Nvidia Quadro M2000M (in Dell M7510) There are users that use Manjoro Linux reporting similar issues [1] [1] https://forum.manjaro.org/t/bumblebee-not-working-under-4-8-kernel/10676/8 |
That seems to be the same I described here: Note that this affects everybody who is part of the following group (see my original linked post):
The most ugly thing of this story is that the kernel in any case uses EDIT: This also means it's not really a bumblebee issue, but a problem with kernel 4.8 and nvidia, which just happens to show up on laptops for which nvidia is not the primary card. Apparently I was the first to report this in their forums, but good to know I am not alone with this issue. |
As far as I read the first commit revered in the forum post: |
Definitely that. That's since this also affects machines even without bumblebee. |
So its a "bug" that needs to be fixed in nvidia/nouveau. |
AFAIK they do not even claim to support kernel 4.8 yet, so if we're lucky, it could already be in the next driver release.
I'm not sure, but the bumblebee maintainers will know ;). For an immediate "fix", the trick to add |
Ah I didn't noticed that you're not a maintainer (: Should the dirty fix change something for the other devices in the "typical" |
It could lead to slightly higher power consumption since unused PCI bridges can not enter the deepest sleep state anymore. At least I can promise you things won't be worse over kernel 4.7 ;). |
Very true, the boot option reverts to the pre-4.8 behavior. Have you (via udev rules or some other "laptop mode tools") enabled runtime PM? You can check that by reading Btw, some laptops require the new 4.8 method or else may experience memory corruption (see the commit message of https://git.kernel.org/linus/692a17dcc2922a91c6bcf11b3321503a3377b1b1). |
Yes, runtime PM is active on that machine: I'm using laptop-mode-tools.
Thanks a lot for the link! |
This doesn't seem to affect me with kernel 4.8.3 on Solus, but I don't use Bumblebee (I just pass everything to the NV GPU with xrandr):
I have a GTX 960M in a Acer Aspire V Nitro VN7-792G laptop. |
do you use nvidia prime? When yes you wont get the issue as your egpu isn't disabled before using it. |
Even if you use nvidia, you might still run into issues if you enable runtime PM for all devices using a udev rule or using "laptop mode tools" before the nvidia driver is loaded (and have kernel 4.8+ without the |
Using the pm-rework branch which enables using runtime pm is bbswitch Could someone with an older laptop that doesn't use runtime pm and someone |
That branch is unfinished, last time I was working on it there was still an Oops somewhere. If you have no NVIDIA HDMI audio device, then it might be safe to use though (revert Bumblebee-Project/bbswitch@e0c6859 just to be sure). |
Using the pm-rework branch which enables using runtime pm is bbswitch Could someone with an older laptop that doesn't use runtime pm and someone |
Have you (via udev rules or some other "laptop mode tools") enabled runtime PM? You can check that by reading |/sys/bus/pci/devices/0000:01:00:0/power/control|. If it says "auto", then it is enabled. If it is "on", then I would expect it to have the same behavior as adding the boot option.
Yes, runtime PM is active on that machine: I'm using laptop-mode-tools.
In addition, I have enabled PCIe-ASPM for all ports in the UEFI (it's one with unlocked features) and I'm also using "pcie_aspm=force".
Only after all this, I could achieve maximum battery runtime almost comparable to Windows on that laptop (sadly ASPM for the NIC and card reader is not working, even in Windows, so the machine saves significantly more if I turn off the full corresponding PCI port).
|
Fedora 24 just updated to the 4.8.4 kernel. I'm using the bumblebee fedora repo, updated as normal and everything seems to be fine. What exactly is NOT supposed to be working with the 4.8 kernel? |
To trigger the issue, you have to have:
|
I'm having the same problem on my laptop with a GTX 970M. After updating the kernel from 4.7.9 to kernel 4.8.4 on Fedora 24, bumblebee's proprietary driver wouldn't install. I didn't think anything of it, as the same thing happened when I upgraded from 4.6 to 4.7, but it was then fixed about a week later with an updated bumblebee-nvidia package. Today, about a week after Fedora 24 moved to the 4.8 kernel, a new bumblebee-nvidia package was released. I expected it to fix my problem, but the nvidia module still won't install. Running it with the --debug flag, it output this:
|
I expect your issue will vanish if you add (as discussed previously) A better fix could be done by nvidia, or a different workaround could be implemented in bumblebee (but since the issue can also be reproduced without bumblebee, I rather think the correct fix should enter the nvidia binary blob). |
Ok, I added the kernel parameter to /etc/default/grub and ran "grub2-mkconfig -o /boot/grub2/grub.cfg" rebooted, and tried again, but I'm still getting the same error. Is there a way to verify whether the command line edit took effect? Edit: Nevermind, I must have messed something up. I manually added the pcie_port_pm=off to the GRUB command line during boot and now it works fine. Thanks for the help. |
Yes look at /proc/cmdline
Another work around would be to use a newer bbswitch that supports pm
runtime suspend.
|
Thanks. It's showing that for whatever reason grub2-mkconfig isn't actually editing my commandline, but that it works when I manually add it during boot. That said, even though that will allow me to load the nvidia module, and running bumblebee-nvidia --check shows that everything is working, I can't actually open anything using optirun or primusrun. When I do I get the following error (with or without pcie_port_pm=off in the commandline):
|
Regardless of whether I add the pcie bit to the kernel command line, running Also, when I add the pcie line, and try to primusrun or optirun, the Nvidia GPU will turn on (even though I receive the error and the glxgears won't open) and won't shut back off again. I can see when the Nvidia GPU is on or off from a LED on my laptop. Without the extra pcie line, the Nvidia GPU shuts back off after I receive the error (as it should). Edit: Thaodan mentioned using a newer bbswitch. Does such a thing exist somewhere that I can try, or was that a theoretical comment that a future version may fix the issue? |
dmesg gives the following output:
|
@seekermoc The There is a bbswitch branch ( |
I'm using the branch without the commit mentioned and it works fine without the I have the gpu enable on exit on in bumblebeed and stop and start it after |
Bump, same issue here Dell Precision 7510, Quadro M2000M, BIOS 1.8.3 (Oct 2016), Fedora 24, kernel 4.8.6-201. The driver doesn't even install properly since the kernel module doesn't load.
|
Ok. Yeah. So you know your custum version is getting loaded. I guess you can try systemctl restart bumblebeed.service to see if it made anything better. |
That at least turns the dGPU back off (and enables me to manually switch it on and off again), but I still can't use primus/optirun. |
Latest kernel (4.8.7-1 on Manjaro) fixed this issue on my case. |
I can confirm that for me, the problem persists with 4.8.7 on Gentoo Linux. |
Nvidia just released a new set of drives (375.20). Can anyone report back if it solved the issue? |
I think no cause the issue is part how Optimus is handled. For the
bumblebee way using the gpu bbswitch needs to extended (see pm rewrite for
a good start).
|
Agreed - but I still think nvidia needs to fix something, too, since even if bumblebee is disabled and bbswitch is blacklisted, if the nvidia card is not actively used on boot and thus the kernel disables the PCI-port, the nvidia driver itself will not reactivate the port if modprobing it (as I have described in the nvidia forums). Depending on the timing during boot (activating nvidia-persistenced of course might help...), I believe this also prevents prime etc. I haven't tested 375.20 yet, though. |
I have just tested with nvidia 375.20 and the issue is certainly fixed for me. I'm not sure if the fix is with kernel 4.8.8 or with the nvidia drivers but if anybody would like me to test anything I'd be happy to oblige. |
I can confirm that this issue is fixed with me as well with the 375.20 drivers. I switched from the "managed" to "unmanaged" Fedora repo and downloaded the 375.20 drivers. They installed perfectly on kernel 4.8.8 with the default bbswitch version from the repo (not the pm_rework version). Everything works normally now, including optirun and primusrun. Edit: I was mistaken, I did still have pcie_port_pm=off in my cmdline. I tried removing it, and primus/optirun stopped working, so you do still need the workaround, but at least bumblebee works again. |
For fun, I tried using the pm_rework version of bbswitch to see if it would work without the pcie_port_pm=off workaround, but it did not work. For me, bottom line is that drivers 375.20, default repo bbswitch, and pcie_port_pm=off now works in full. Due to this, I think this may have been two separate problems that occurred concurrently. First, kernel 4.8 requires the pcie pm workaround. Second, for primus/optirun to work it requires the 375.20 drivers (possibly because 375.20 adds support for xorg 1.19, and Fedora updated us to xorg 1.19 around the same time as kernel 4.8). |
@seekermoc Thanks a lot for the info. I will try to update the managed version tomorrow. Sorry for the delay. Sometimes I miss these nvidia updates. I'm still on fedora 23. |
@gsgatlin thank you for your work! do you think you'll have the repo updated for fedora 25 when it comes out in a few days? |
@gsgatlin No problem, thanks for all your help. |
@kmare Yes. I will update everything (centos 6,7.fedora 23,24,25,26) at the same time. I still need to test fedora 25 though. |
Just to confirm the general picture: With 375.20, I can still reproduce the original problem (unless I add |
While it's not explicitly listed in the changelog, could the new driver update 375.26 have fixed the problem mentioned here? Has anyone tried it? |
Just to confirm than this also happen on the latest stable nvidia 375.26 on kernel 4.9. Once I start the pc I can use the dedicated card without any problem. The way to reproduce this bug on my laptop is just to close the lid (send it to sleep) and start using the pc again. Now bumblebee cant use the nvidia card. |
Hi all, I'm still having this problem with 4.9 and 375.26 on openSUSE Tumbleweed. If I'm forcing the kernel to switch back the PM method the laptop starts up into rl3 and freezes before I can login. The Laptop is a DELL Inspiron 15 Series 7000 (7559) with a GTX960M. Thanks |
On kernel 4.9 and using Edit: realized this was due to another issue and not bumblebee; tb needs to be set to legacy mode to work properly in linux |
I'm using a laptop with an Nvidia 940M optimus... was using Bumblebee to switch but after upgrading the kernel to 4.8 and later 4.9 I experienced crashes .... poor start up and shutdown times... all of which stopped when I revert back to using the intel card only with Nouveau.. I am on openSUSE Tumbleweed. Someone suggested I use the proprietary driver only 375.26 with PRIME but it did not really solve anything. Plasma desktop wouldn't start at all |
I still get this error:
When I run sudo bumblebee-nvidia --debug on Fedora 25. Kernel: Hardware: |
@rupek1995 Do you have the kernel-devel package installed and is it the same version as your running kernel? (uname -r) |
For some reason lately Fedora has been installing with kernel-debug-devel instead of kernel-devel and when you try to install kernel-devel it will say it's already installed. You need to remove the debug one first, then install the normal debug.On Feb 28, 2017 7:24 AM, gsgatlin <[email protected]> wrote:@rupek1995 Do you have the kernel-devel package installed and is it the same version as your running kernel? (uname -r)
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.
|
EDIT: After rebooting for the second time system froze for about 30 seconds, and after I logged in there were SELinux errors about systemd, bbswitch, nvidia.ko and gnomeshell. Will removing SELinux fix this? There was a kernel update after my post, I updated it, managed to successfully download the kernel-devel for my kernel, deleted kernel-debug-devel just in case. Nvidia driver unpacks... but now installation prints out an error like this: `> -> Kernel module compilation complete.
|
pcie_port_pm=off works for me: Dell 3542, Fedora 25, kernel 4.9, GeForce 840M |
@xen0f0n Thanks for the tip! I already managed to get it to work by changing the SELinux to permissive mode. If anyone has this problem and pcie_port_pm=off doesn't work for you, you can try SELinux method:
|
Hi, instead of disabling runtime PCI power management, would it be OK to selectively enable PCI runtime power management through udev? The following works fine fo far: First, get the device ids using
was sufficient.
Using powertop, I could verify that other PCI devices appear to be power managed. And laptop battery usage is almost as good as PM was fully enabled. If there is an easier way to do this, without going through the bus ids etc, life would be easier. But now I can use the laptop for coding and gaming, without rebooting in between, and with power management enabled.. |
Actually I can tell you that this works for me. Run
|
|
After updating to linux 4.8 the nvidia driver says your gpu isn't supported when trying to access with primus:
uname:
uname -a Linux hellion 4.8.2-pf #1 SMP PREEMPT Tue Oct 18 10:19:55 CEST 2016 x86_64 GNU/Linux
The text was updated successfully, but these errors were encountered: