I have pushed a new revision r4 of the bumblebee live ebuild to my seden overlay.
The background is an email from Tom “Opafix” Crossley I received yesterday. Tom works on a Gentoo wiki page about the configuration and usage of Bumblebee.
Some of the knowledge added to this wiki page comes from my seden overlay.
He noticed that the patch I added to the seden overlay ebuild no longer works correctly with the current Nvidia proprietary drivers. My UVM support patch unloads the uvm module. But if you do not set bumblebee to use nvidia-uvm as the kernel driver, nvidia-modeset is loaded instead. Therefore stopping bumblebee did not unload nvidia-drm and nvidia-modeset.
To remedy this I have updated the patch to support loading nvidia-modeset if nvidia-uvm is not available. When stopping bumblebee, nvidia-drm and nvidia-modeset are now unloaded, too.
Bumblebee and current mesa
Nicely enough the fix, or workaround, is rather simple. All you have to do is to add
to your environment. I have therefore updated bumblebee.envd with this information and environment setting.
After having done extensive tests on my Dell Precision M4800, I have pushed my updates to the seden overlay. They work just fine for me. Hopefully they work nicely for everyone else, too.
The UVM module
One thing that will surely make it in Toms wiki page is the following setting:
If you need to support offloading, like in CUDA applications, you have to use the nvidia-uvm module.
To ensure that the nvidia-uvm module is loaded, you have to change the KernelDriver setting in the driver-nvidia section of the /etc/bumblebee/bumblebee.conf file to nvidia-uvm.
If you have any questions, don’t hesitate to ask!
Yesterday I received confirmation from Tom that the update works as expected. He wrote about it in his “My Journey Into Gentoo” article.
I am very happy about that. Bumblebee is still very useful, and being able to provide Gentoo Linux users with an easy way to set it up is more than just nice to have.