How does Wayland chooses which driver to use? Is it possible to install Nvidia drivers but to only use intel nouveau?

Hello mates, I have a Pascal card, a GTX 1060 maxQ on a laptop, and I have been using nvidia-xrun for quite some time on Manjaro. I want to move to Fedora KDE spin but I have a few questions about Wayland setup.

Newer Turing and Ampere cards can power off by themselves but not Pascal, therefore Xorg’s prime render off-loading keeps Pascal cards on and bumblebee doesn’t work on my card because it doesn’t work with the newer kernel power management system.

The only way to power off my card is to set powersave on the kernel power management and to remove the card bus which is what nvidia-xrun scripts do and it works very well, temps, energy and lifespan is great, I start the laptop using intel driver, then when I want to use nvidia I change to another console and run the script.

But then there’s Wayland. I guess on nvidia-xrun side it would work the same as long as I install xorg, just start another console and run the script to starts a xorg session with nvidia drivers while the Wayland session is running.

My question is if Wayland would get in the way, how do I get Wayland to run only on intel drivers so that it doesn’t touch nvidia and therefore block xorg from starting a session using nvidia or keep the card powered on?


Any help?

1 Like

I think it’s quite a specific and detailed question and requires someone with a relatively good understanding of Wayland to answer. May be worth asking in some Wayland specific channels?

1 Like

During boot the system looks at the hardware and loads the best driver for that device that is available.

If you have the nvidia driver installed the system will load the nvidia driver and not the nouveau driver. By the way, nouveau is open source driver for nvidia and is in no way related to intel or intel devices.

With the latest nvidia driver (510.60) it seems that wayland works really well with it on fedora 35. I have not tested wayland on fedora 34 with nvidia.


And it’s very unlikely that you’d be able to have both the nouveau and NVIDIA modules loaded at the same time.

1 Like

IIRC, the nVidia packages from rpmfusion blacklist [sic] nouveau from loading in /etc/modprobe.d. You’re correct that both shouldn’t be loaded, because of this, and both won’t ever be loaded for the same card in the same session.

1 Like

I thought there was some specific configuration that had to be done, I kept reading about changing environment variables and Wayland schemes is kind of complex, but I guess it just “picks whatever is available”.

I guess the simple solution is to install and then blacklist nvidia and nouveau drivers, therefore Wayland would load only on the intel driver of the Intel GPU, it wouldn’t touch the dGPU and it would allow the card to be powered off.

And then I when I wanted to use the dGPU I would run nvidia-xrun on another console that should power on the bus controller, rescan the PCIE, turn on the card and load the modules that were previously blacklisted.

I will try a test install on some unused partition to test it out then I’ll report back.

Thanks for the feedback mates

1 Like

Hello again mates, I tested a fresh install from Fedora 36 (KDE Spin) with Wayland and as pointed out in this topic it works just fine, indeed all you have to do is install the RPM Fusion driver and modules, then install the COPR nvidia-xrun (and xrandr), then blacklist the nvidia and nouveau drivers, and that’s it, Wayland continued working just fine using the APU driver and the dGPU powered off as wanted, there’s no need for any modification regarding Wayland, and I could start a Xorg session with nvidia driver enabled just fine.

Interesting note, before installing nvidia-xrun I blacklisted only nouveau to see how Wayland behaved on nvidia and I’m not sure Plasma was running on nvidia driver as I ran glxgears -info and it continued showing that I was still running on the APU, it was irrelevant for my purpose but i’m not sure why it wasn’t working.

1 Like