X11 is used instead of Wayland / XWayland after installing nvidia (fedora 34)

Hi,

I installed fedora silverblue 34 today (fresh install) and upgraded it to the newest version. After that I installed the nvidia driver and rebooted the system. I read that with the newest nvidia driver and xwayland release it should be possible to use wayland with nvidia (see XWayland 21.1.2 Released With NVIDIA Hardware Acceleration Support - Phoronix). But if I open the settings I see that X11 is used.

I installed it like this:

sudo rpm-ostree upgrade
sudo systemctl reboot
sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia
sudo rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo systemctl reboot
sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia
sudo rpm-ostree kargs --append=rd.driver.blacklist=nouveau --append=modprobe.blacklist=nouveau --append=nvidia-drm.modeset=1
sudo systemctl reboot

The following nvidia and xwayland versions are installed:

> rpm -qa | grep -i xwayland
xorg-x11-server-Xwayland-21.1.2-1.fc34.x86_64

> rpm -qa | grep -i nvidia
xorg-x11-drv-nvidia-kmodsrc-470.57.02-1.fc34.x86_64
xorg-x11-drv-nvidia-libs-470.57.02-1.fc34.x86_64
nvidia-settings-470.57.02-1.fc34.x86_64
xorg-x11-drv-nvidia-470.57.02-1.fc34.x86_64
akmod-nvidia-470.57.02-1.fc34.x86_64

So it seems as if the correct version of the nvidia driver (470) and xwayland (21.1.2) which should support using wayland with nvidia are installed. But the settings show that X11 is used and the login screen shows no option the switch between wayland and x11.

Any ideas what went wrong? Or hasn’t this feature been finished yet.

Best regards
Meinert

I thinik this was discussed before:

Regards., HTH

When you install nvidia drivers on Fedora, the option to choose wayland gets disabled and that hasn’t changed as far as I know. Even with the new drivers. You need to enable the option manually.

On Fedora workstation you would do that by editing /usr/lib/udev/rules.d/61-gdm.rules and commenting out DRIVER="nvidia"... line. It’s just that everything under /usr/ folder is read-only in Silverblue.

I managed to enable wayland for my self when I noticed that there is a udev/rules.d/ folder under /etc and I remenbered that you can override default options that come with packages under /etc folder. So i copied that 61-gdm.rules file to /etc/udev/rules.d/, commented everything out except the
DRIVER=="nvidia", RUN+="/usr/libexec/gdm-runtime-config set daemon WaylandEnable false",
changed false to true at the end of the line and rebooted. Wayland was there in that little gdm menu for me to choose. I didn’t notice any side effects by doing this yet.

I am on wayland for a few days now and it runs good enough for me apart from a few electron apps.

2 Likes

thanks that solved it.

Regards
Merint

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.