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.
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
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
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! :)
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
bash-4.4$ optirun glxgears -info | grep VENDOR GL_VENDOR = NVIDIA Corporation
And also using
primusrun, which could present some advantages over
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
primusrun based on preference.
comments powered by Disqus