Fedora Bumblebee - Installation and solving GDM issues
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%