I updated to the new 545 drivers today (via rpmfusion), and wanted to give Wayland another try, since the new drivers apparently fix many issues with it on Nvidia cards (I have a GTX970). However, the login screen only gives me the “GNOME” and “GNOME Classic” options, “GNOME” being X11 - no Wayland option. I remember a Wayland option being available at some point in the past.
I searched for this issue, and for some people this was caused by the line WaylandEnable=false in their /etc/gdm/custom.conf - however, that line is already commented out on my system. Is there something else I could try?
Hmm, looks like a udev rule issue? Logs give the following:
Dec 02 06:58:16 fedora systemd[2446]: org.gnome.Shell@wayland.service - GNOME Shell on Wayland was skipped because of an unmet condition check (ConditionEnvironment=XDG_SESSION_TYPE=wayland>
Dec 02 06:58:16 fedora systemd[2446]: Starting org.gnome.Shell@x11.service - GNOME Shell on X11...
I suspect I may be this situation, or something similar.
If it’s that udev rule, it will have written to /run/gdm/custom.conf
Is that log from your user session? Your problem is with the GDM greeter session. It’s either configured to use X11 or the Wayland greeter is crashing. For the latter, check journalctl -b _UID=42 for a crash following this line:
Running GNOME Shell (using mutter 45.1) as a Wayland display server
Ah, yes, /run/gdm/custom.conf does have WaylandEnable=false. journalctl -b _UID=42 doesn’t mention anything about Wayland, it goes straight to starting X11.
To my knowledge, that file is only created by that udev rule file. My udev debugging skills are limited, but we can step through each rule manually. Please run:
nvidia-resume being disabled also disables Wayland in 61-gdm.rules, so I did systemctl enable nvidia-resume.service, and now Wayland is enabled by default.
Thanks for the debug steps. I had a similar issue, in my case:
ls -l /usr/bin/nvidia-sleep.sh /usr/lib/systemd/system-sleep/nvidia
reported that neither file existed. dnf whatprovides /usr/bin/nvidia-sleep.sh showed that I needed to install the xorg-x11-drv-nvidia-power package. After installing and rebooting. wayland started working again.