Fedora Bumblebee - Installation and solving GDM issues

2 July 2018

NVidia Optimus Laptop

Nouveau an is inspiring project, however, with lack of Nvidia Corp. support, unfortunately their driver doesn’t fully support new graphic cards. This is because NVidia uses non-documented approaches to reclock the video cards after they are powered up.

See, when I bought a laptop with a expensive graphic cards it was my intention to use the dedicated GPU. Unfortunately finding AMD laptops isn’t an easy task, at least in Brazil. I went with an Avell powered by a NVidia 960m, which is a Clevo/Stager barebone.

Installing Bumblebee/BBSwitch allows us to enable/disable the dedicated GPU, allowing to start specific softwares under the discrete video card. However, the experience isn’t like Plug and Play, some troubleshooting is necessary.

Before installing Bumblebee:

After having a flesh installation on Fedora (to boot the LiveCD, I had to set nomodeset in the Troubleshooting section), you MUST do a full system update (with dnf update) and reboot. Rebooting is important, because when we install Bumblebee, we need matching Kernel + Kernel-Headers, to correctly compile the NVidia akmod driver.

Instaling Bumblebee:

https://fedoraproject.org/wiki/Bumblebee

I followed the basic installation based on the docs. The steps are clearly described (PLEASE, LOOK THE DOCS!) and the all the steps worked out of box:

# Please, don't simply run commands from random blog posts,
# these are the installation instructions of the documentation described above:
sudo dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
sudo dnf install nvidia-driver kernel-devel akmod-nvidia dkms acpi
sudo dnf copr enable chenxiaolong/bumblebee
sudo dnf install akmod-bbswitch bumblebee primus
sudo gpasswd -a $USER bumblebee
sudo systemctl enable bumblebeed
sudo systemctl disable nvidia-fallback

GDM - Gnome Display Manager - Black Screen of Death

https://docs.fedoraproject.org/quick-docs/en-US/bumblebee.html https://github.com/Bumblebee-Project/Bumblebee/issues/764

ACPI causes conflicts on Clevo/Stager/American Megatrend BIOS. It is necessary to explicitally set the ACPI OSI in GRUB. Open /etc/grub/default and do the following changes in GRUB_CMDLINE_LINUX:

Remove nomodeset rhgb and then, append acpi_osi=! acpi_osi='Windows 2009' to the start of the line. (for some hardware, Windows 2015 will do the tricky instead of 2009).

My final line became:

GRUB_CMDLINE_LINUX="acpi_osi=! acpi_osi='Windows 2009' rd.driver.blacklist=nouveau rd.lvm.lv=vg1/lv1"
# DO NOT TRY PASTING THIS LINE INTO YOUR GRUB
# !!! This is specific to my system! !!!

Reboot and cross your fingers! :)

Testing Bumblebee/NVidia

Now I can boot succesfully into Fedora with Bumblebee. I tested the Bumblebee by first trying to run glxgears using Intel:

bash-4.4$ glxgears -info | grep VENDOR
GL_VENDOR     = Intel Open Source Technology Center

Then using Nvidia with optirun:

bash-4.4$ optirun glxgears -info | grep VENDOR
GL_VENDOR     = NVIDIA Corporation

And also using primusrun, which could present some advantages over optirun:

bash-4.4$ primusrun glxgears -info | grep VENDOR
GL_VENDOR     = NVIDIA Corporation

Steam Games - Running with Optirun

In order to run Steam games under Optirun/Primusrun (to use the discrete card, of course), you must right-click on a game inside the library, select Properties and look for a button: Set launch options. A small box will appear, where you can customize the game’s launcher command. Then set Steam to use optirun or primusrun based on preference.

optirun %command%

or

primusrun %command%
comments powered by Disqus