GNOME on Wayland with the Proprietary NVIDIA Driver
After installing NVIDIA’s proprietary driver and rebooting, my GNOME session started in X11 even though I expected Wayland. The pointer, touchpad gestures, and application appearance made the session type noticeable.
This is a Debian troubleshooting note, not a universal fix. Debian documents that GDM may fall back to X11 with the proprietary NVIDIA driver because of stability concerns. On Debian 12, a GDM udev rule can also disable Wayland. Forcing Wayland may cause login or graphics problems, so check your distribution, GDM version, and installed rules before changing anything. See the Debian Wayland and GDM documentation.
Check NVIDIA DRM modesetting
Read the current setting:
cat /sys/module/nvidia_drm/parameters/modeset
If it prints Y, continue to the next section only if GDM is still specifically blocking Wayland. If it prints N, add nvidia_drm.modeset=1 to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub, then update GRUB and reboot:
sudo update-grub
After reboot, check the value again. Do not continue unless it is Y.
Optional: override the GDM rule
Debian’s documentation warns that overriding this rule is at your own risk. Only do this if you have confirmed that the GDM rule is the reason Wayland is unavailable and accept the stability trade-off. First make sure the destination does not already exist. Then create the local override:
sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
This local symlink masks the system GDM rule under /usr/lib/udev/rules.d/. Reboot and check the session type:
echo "$XDG_SESSION_TYPE"
It should print wayland if the session started on Wayland. If you need to undo the change, remove only the symlink you created and reboot:
sudo rm /etc/udev/rules.d/61-gdm.rules
If you cannot log in, switch to a TTY and revert the override. Keep the system rule intact.