How to properly revert from nvidia to nouveau in fedora 37

Hello, good afternoon.
I had installed nvidia proprietary drivers, all works correcly, but for my use day by day its not usefull. The notebook become a little bit hotter. Its all installed correctly, Im using powertop, and also I can control the cpu frequency without any problems.

Nouveau is better for my use case, and I tryed to revert for it uninstalling nvidia proprietary drivers, but I got mesa intel hd only.

How to revert correctly for nouveau, without reinstalling fedora?

If you installed the nvidia drivers from rpmfusion then they can be cleanly removed by dnf
sudo dnf remove '*nvidia*' --exclude nvidia-gpu-firmware
You then would also need to make one additional edit for the final cleanup.
sudo nano /etc/default/grub and remove

rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 initcall_blacklist=simpledrm_platform_driver_init

from the line beginning with GRUB_CMDLINE_LINUX=

Then run sudo grub2-mkconfig -o /boot/grub2/grub.cfg to make the changes effective in grub before rebooting.

If you did not install the drivers from rpmfusion the removal would be different.

1 Like

I installed from rpmfusion. Looked that lines, but instead of remove them in grub2.cfg I changed for …blacklist=nvidia. Will try what you are saying.

Needs dracut again?

Dont worked. Also did a dracut but Im only with intel hd. When nouveau is available there are nvi/intel…

00839a4a236ffa0eff1b706e45f83d9398d1f96e.png

Nouveau does not need any entries in the kernel command line. You really should delete that portion as noted. Invalid entries may cause other problems that could be difficult to track down.

You can tell if nouveau is loaded and functional with lsmod | grep nouveau

1 Like

I removed all of them but not worked. Also did dracut --force to generate another initram image. I got the image below only reinstalling fedora.

db4e0e631a885811f3800fff188720ea2b368666.png

Got it again reinstalling fedora. It will be nice to have an tutorial on how to revert to nouveau, as we had a lot for installing nvidia proprietary driver. In some cases nouveau is the best option (for example for office work and programming things thats dont need gpu bound processment).

$ lsmod | grep nouveau
nouveau              2715648  0
drm_ttm_helper         16384  1 nouveau
drm_display_helper    208896  2 i915,nouveau
mxm_wmi                16384  1 nouveau
ttm                    94208  3 drm_ttm_helper,i915,nouveau
video                  65536  4 dell_wmi,dell_laptop,i915,nouveau
wmi                    45056  8 video,intel_wmi_thunderbolt,dell_wmi,wmi_bmof,dell_smbios,dell_wmi_descriptor,mxm_wmi,nouveau

Dracut generates the initramfs image and has nothing to do with firmware. To what firmware are you referring?

Your post above shows nouveau loaded properly. Glad you fixed it, but a reinstall should not have been needed, and never has been for any system I have worked with.

1 Like

Sorry. I mean initram image.

By any means we did the nouveau was reverted. I could only get working again reinstalling fedora 37.

When you install Nvidia proprietary drivers, a file is added in /etc/yum.repos.d/ allowing updates of the driver. Remove it and optionally run ‘dnf clean all’. You can switch between Intel and Nouveau drivers install/uninstall with dnf : xorg-x11-drv-nouveau/intel. Red Hat/CentOS/Fedora have an issue about proprietary software leading to blacklist, grub and other things. Information at Fedora Docs : https://docs.fedoraproject.org/en-US/docs/. RPM Fusion uses specific method but downloading from Nvidia site can work if you’re not kicked out by your device.

1 Like

Hello, good morning. Had reinstalled xorg-x11-drv-nouveau after removed nvidia also but it did not worked. I had not removed the repos from nvidia. Maybe this was another detail about nouveau dont get reconfigured.

The repos in /etc/yum.repos.d are immaterial if you are not actively trying to install a package (either directly or as a dependency) from that specific repo.

I had forgotten to mention that there is one file created by the installation of the nvidia drivers from rpmfusion that would need removed before the nouveau drivers would load properly. /etc/modprobe.d/nvidia-installer-disable-nouveau.conf which contains

$ cat /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0

It seems likely that file prevented the nouveau driver from loading even after removing the nvidia driver.

I went through the suggested steps and it did not seem to work for me either. In my case, there was no /etc/modprobe.d/nvidia-installer-disable-nouveau.conf file either. The solution for me was running

sudo grub2-mkconfig -o "$(readlink -e /etc/grub2.conf)"

Because just editing the grub cmdline did not change it.

Welcome to the forum.

Exactly what steps did you follow? This does not seem very informative.

Once the nvidia drivers are installed from the rpmfusion repo it is very easy to remove them with
sudo dnf remove \*nvidia\* --exclude nvidia-gpu-firmware
Once that is done a simple reboot should properly load the nouveau drivers for that nvidia gpu.

Also note, that once you have done this it seems the nouveau driver is unable to use the hardware acceleration available on the nvidia gpu to any graphics intensive apps using that gpu are likely to result in significant cpu load and a resultant slowdown in overall performance of the system.

Once that is done a simple reboot should properly load the nouveau drivers for that nvidia gpu.

No, and you suggested (correctly) to remove the kernel parameters that are blacklisting noveau here: How to properly revert from nvidia to nouveau in fedora 37 - #2 by computersavvy but it only worked after grub2-mkconfig (which makes sense imo).

Ah, yes. The service to fallback to nouveau is also removed when the nvidia packages are removed so it would seem that the alterations in /etc/default/grub are required combined with the grub2-mkconfig step. It seems I overlooked that detail.

I edited that post to include the needed command.

1 Like