marți, 22 aprilie 2014

Manjaro: discrete GPU not switching off because of nvidia_uvm

If you updated to the latest Manjaro update pack you might get the surprise that your nVidia card (in a Optimus configuration) is not turned off automatically even if you have bbswitch and bumblebee installed. This happens because now the nvidia proprietary driver comes with a module named nvidia-uvm which provides support for Unified Memory feature in CUDA. The issue is that nvidia_uvm requires nvidia module to work, so when bumblebee tries to rmmod nvidia it fails because of this dependency.

The guys at Bumblebee already fixed this, but you'll have to use the development version of bumblebee, as there isn't any new stable release available to include this fix. Because, in Manjaro, trying to install bumblebee-git (which includes the patch) leads to some conflicts errors, I tought that it would be better to use the already available version in Manjaro repositories and just include this fix. So I downloaded the PKGBUILD from the official Manjaro git repository, I modified it to use a local source archive instead of the one from Bumblebee Project, and modified the sources to include the fix for this issue.

Here are the modified PKGBUILD and archive: just unarchive it and run makepkg to build the package (be sure to cd in the directory where you unarchived these files). Then run sudo pacman -U /path/to/built/bumblebee-3.2.1-4-$arch-.pkg.tar.xz to install the package in your system.

Good luck!

1 comentarii :

Ayceman spunea...

An simpler alternative is to run "makepkg -i" directly which takes care of the install, so no need to pacman -U i separately.

The Manjaro packagers have taken note of this and official repo updates to the nVidia driver will take this into consideration.