You are not logged in.

#1 2014-10-27 19:51:01

gim
Member
Registered: 2013-07-27
Posts: 35

Nvidia GPU refuses to turn OFF using bbswitch and nvidia-dkms

Hello! Since I'm using custom kernel I decided to replace every kernel module package with DKMS variants. But it looks like bbswitch can't turn my Nvidia OFF when using nvidia-dkms.

device 0000:01:00.0 is in use by driver 'nvidia', refusing OFF

Why is that? Is there anything I can do? For now I just installed usual nvidia package for my specific kernel and it works all right, although I don't really want to rebuild it manually every time kernel gets updated.

Offline

#2 2014-10-28 01:13:08

Lynden
Member
Registered: 2011-11-10
Posts: 23

Re: Nvidia GPU refuses to turn OFF using bbswitch and nvidia-dkms

Nvidia module needs to be unloaded before bbswitch can turn it off. Not sure if bbswitch or bumblebee does the unloading.
But the unloading can also fail if the nvidia module has loaded the module "nvidia-uvm".

Using nvidia-dkms shouldn't be an issue, it works fine with the linux-ck kernel I use.

I suggest having a look at the wiki page for bumblebee, the answer is probably there.

Offline

#3 2014-10-28 08:16:12

gim
Member
Registered: 2013-07-27
Posts: 35

Re: Nvidia GPU refuses to turn OFF using bbswitch and nvidia-dkms

I don't see anything related to my issue here in the ArchWiki. Unloading modules manually every time is not a solution to me, Bumblebee should automatically do all the work. I even tried to blacklist nvidia module using kernel parameter, didn't help.

Lynden wrote:

Using nvidia-dkms shouldn't be an issue

It works all right with usual package though, which puts this module into the "extramodules" directory.

I tried to blacklist both nvidia and nvidia-uvm now, it still loads on boot which it probably should not do by the way.

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux-pf root=UUID=7cedd0eb-9acd-45e1-b30b-ded60c4809a8 rw quiet rcutree.rcu_idle_gp_delay=1 modprobe.blacklist=nvidia,nvidia-uvm
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-linux-pf root=UUID=7cedd0eb-9acd-45e1-b30b-ded60c4809a8 rw quiet rcutree.rcu_idle_gp_delay=1 modprobe.blacklist=nvidia,nvidia-uvm
[    8.455370] nvidia: module license 'NVIDIA' taints kernel.
[    8.509742] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 1
[    8.509748] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  343.22  Thu Sep 11 16:27:43 PDT 2014
[    8.511514] nvidia_uvm: Loaded the UVM driver, major device number 249

Last edited by gim (2014-10-28 08:41:23)

Offline

#4 2015-10-13 16:22:04

symen
Member
Registered: 2014-10-13
Posts: 10

Re: Nvidia GPU refuses to turn OFF using bbswitch and nvidia-dkms

I know this thread is one year old, but I had exactly the same problem and I couldn't find anything about it.
I found that Archlinux uses its own script to load every dkms modules when you start the dkms service. You can disable this behavior by setting LOAD=no in /etc/default/dkms.
The problem with this approach is that you then have to load the modules you want manually, and you have to ensure they will be loaded after the dkms service launched (otherwise they won't load after each kernel/module upgrade). Today you could do it pretty easily with a systemd service file, but it is still a pain when you just want dkms to ignore the nvidia module.

Then I found that you can add the '-b' option to modprobe in the archlinux dkms script (/usr/lib/systemd/scripts/dkms), and it will honor your blacklist preferences (which seems like a more intuitive behavior). I still had to blacklist the nvidia_uvm module, otherwise the script would load nvidia as a dependency of nvidia_uvm even if nvidia is blacklisted.

I will probably create an issue on the bugtracker to see if they can add the '-b' option, since I don't see any drawback for using it.

Offline

Board footer

Powered by FluxBB