Skip to content

Instantly share code, notes, and snippets.

@squeuei
Last active September 17, 2021 06:37
Show Gist options
  • Save squeuei/cd1663aea9dd099b5437dfe4a96cb06b to your computer and use it in GitHub Desktop.
Save squeuei/cd1663aea9dd099b5437dfe4a96cb06b to your computer and use it in GitHub Desktop.

Stop error about nouveau and start using Intel iGPU only on Fedora (and it also applies to Debian/GNU Linux)

I'm using a Thinkpad T480 with GeForce MX150 dGPU option.

After the installation, Fedora 32 raises an error notification about nouveau on every boot up.

To get rid of this, you have two choices. You can install official proprietary driver for NVIDIA GeForce GPU. The other option is disabling GeForce dGPU at all.

You can blacklist nouveau to do that.

sudo grubby --update-kernel=ALL --args="rd.driver.blacklist=nouveau nouveau.modeset=0"
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
sudo vi /etc/modprobe.d/nouveau-blacklist.conf

The contents of nouveau-blacklist.conf is

blacklist nouveau

My notes on Configuring Fedora 29 for Thinkpad T480 i7 + mx150 : thinkpad

Still, the battery life is terrible so that you have to enable power management of dGPU.

You can generate a command to enable it by sudo powertop --html. You have to execute the command via rc.local because the effect of powertop --auto-tune isn't perpetual.

Look up the generated html to find the right command and write it to /etc/rc.d/rc.local. And then enable rc-local.service.

You should expect 10hr+ battery life with 3 cell + 6 cell configuration (like the default setup on Debian/GNU Linux...).

UPDATE 2021-07-15

Recently I installed Debian 11 bullseye to the same machine. When I checked dmesg, I found that there were errors about nouveau.

To deal with this, I made nouveau-blacklist.conf again. And then, I executed sudo update-initramfs -u.

blacklist nouveau
options nouveau modeset=0

I also found that I have to turn on the Power Management for GeForce GPU. I made /etc/rc.local and the content is like this:

#!/bin/sh
echo 'auto' > '/sys/bus/pci/devices/0000:01:00.0/power/control';
exit 0

Then execute sudo chmod a+x /etc/rc.local and sudo systemctl enable rc-local.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment