If you installed Nvidia drivers through Negativo17 or RPMfusion, the Nvidia card would always be on by default. As the dedicated GPU consumes a lot of power, it is a significant problem to those using laptops.
grub-nvidia-entry.sh
makes Grub load Nouveau instead of Nvidia drivers on normal basis and creates a new entry which loads Nvidia drivers.nnswitch.sh
lets you switch between Nouveau and Nvidia drivers within seconds.
nnswitch.sh
: Switch to Nouveau or Nvidia proprietary dirvers. You'll be brought to the login screen right after the switch. The whole process should be around 5 seconds.
Why is this method preferred over Bumblebee?
- UEFI
- Nvidia proprietary drivers from Negativo17 or RPMfusion
- Fedora 26 ~ 29
- To make the script do everything automatically, run
make enable && make
. - To completely remove everything, run
make uninstall
.
make
ormake run
: Runsgrub-nvidia-entry.sh
. Changes take effect on the next boot.- Current session:
make
/make run
- Next boot: changes should take effect
- Current session:
make force
: Same as runningmake
, but without checking Linux kernel's version and the presence of Nvidia modules.make enable
: Registersgrub-nvidia-entry.service
andgdm-nvidia-wayland-switch.service
and enables them.grub-nvidia-entry.sh
will update all configurations on the next boot. However, you'll have to reboot again to see the changes.- Current session:
make enable
/ Kernel update - Next boot:
grub-nvidia-entry.sh
executes - Second boot: changes should take effect
- Current session:
make disable
: Disablesgrub-nvidia-entry.service
andgdm-nvidia-wayland-switch.service
.make install
: Registersgrub-nvidia-entry.service
andgdm-nvidia-wayland-switch.service
.make uninstall
: Deregisters and uninstalls all components.make sign
: Signs Nvidia modules for Secure Boot withSignNvidia.sh
. Note that this is NOT included inmake enable
and should be re-run MANUALLY on every kernel update.
iGPU: glxgears -info | grep GL_VENDOR
dGPU(Nouveau): DRI_PRIME=1 glxgears -info | grep GL_VENDOR
glxgears -info | grep GL_VENDOR
Full installation overwrites /usr/lib/systemd/system/switcheroo-control.service
, /etc/grub.d/40_custom
, /usr/lib/udev/rules.d/61-gdm.rules
, and /etc/gdm/custom.conf
.
- There's an upstream bug that prevents Gnome from detecting dedicated GPU when Secure Boot is on.
DRI_PRIME=1
works fine though. A workaround is to disable Secure Boot for now. - Upstream made a change to disable GDM's ability to launch Wayland backend if Nvidia proprietary drivers are used. However, GDM seems to be not regaining the ability even after the drivers are unloaded[need confirmation]. A workaround is applied in the commit, 382ddeb.
- RPM package
- Better documentation for user to check what went wrong.
- Gnome extension
I've switched to another laptop with AMD graphics card.