6. Enable Xwayland with NVIDIA 550.54.14 / 545.29.06 / 535.161.07 / 525.147.05 / 470.239.06 proprietary drivers on Debian / Ubuntu / Linux Mint

This is guide, howto enable NVIDIA accelerated 3D rendering and Xwayland on Ubuntu 22.04 with NVIDIA 550.xx (550.40.07) / 545.xx (545.29.06) / 535.xx (535.154.05) / 525.xx (525.147.05) / 470.xx (470.223.02) proprietary drivers on GNOME 42/41/40. Tested with latest NVIDIA drivers, I assume here that you have installed NVIDIA drivers using this guide. This might work normally with any other installation methods too, but it’s not tested. Note: Do this using fully updated system and latest kernel, also NVIDIA 550.54.14 / 545.29.06 / 535.161.07 / 525.147.05 / 470.239.06 drivers installed. Check also NVIDIA’s own guide for this OpenGL and Vulkan on Xwayland.

Check video version of guide. NVIDIA + Wayland enabled on Linux Mint 21.3:

Check video version of guide. NVIDIA + Wayland enabled on Debian Bookworm 12:

Check video version of guide. NVIDIA + Wayland enabled on Ubuntu 23.10:

Check video version of guide. NVIDIA + Wayland enabled on Ubuntu 21.10:

Before you start you will at least following packages installed:

  • Xwayland >= 21.1.1.901
  • libxcb >= 1.13
  • egl-wayland >= 1.1.7

Check your packages using following command:

dpkg -l xwayland libxcb1 libnvidia-egl-wayland1

6.1 Change root user

su -
## OR ##
sudo -i

6.2 Edit /etc/default/grub

Append ‘nvidia-drm.modeset=1’ to end of ‘GRUB_CMDLINE_LINUX=”…”‘.

## Example row with Ubuntu 23.10 / 22.04 BTRFS ##
GRUB_CMDLINE_LINUX="rhgb quiet rd.driver.blacklist=nouveau nvidia-drm.modeset=1"

6.3 Update grub2 conf

Ubuntu 23.10 / 22.04 and Linux Mint 21.3

## Update grub config ##
update-grub2

6.4 Update /usr/lib/udev/rules.d/61-gdm.rules

NOTE: Ubuntu 23.10 / 22.04 and Linux Mint 21.3 users can skip this step, because Xorg is only preferred and Wayland is still available from GDM menu.

Comment line which starts with DRIVER==”nvidia”:

# disable Wayland on Hi1710 chipsets
ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/libexec/gdm-runtime-config set daemon WaylandEnable false"
# disable Wayland when using the proprietary nvidia driver
#DRIVER=="nvidia", RUN+="/usr/libexec/gdm-runtime-config set daemon WaylandEnable false"
# disable Wayland if modesetting is disabled
IMPORT{cmdline}="nomodeset", RUN+="/usr/libexec/gdm-runtime-config set daemon WaylandEnable false"

6.5 Generate initramfs

## Backup old initramfs nvidia-nomodeset image ##
mv /boot/initrd.img-$(uname -r) /boot/initrd.img-$(uname -r)-nvidia-nomodeset.img
## Generate new initramfs image ##
dracut -q /boot/initrd.img-$(uname -r) $(uname -r)

6.6 Enable kms-modifiers through gsettings (as normal user)

NOTE: Linux Mint 21.3 users can skip this step.

gsettings set org.gnome.mutter experimental-features [\"kms-modifiers\"]

6.7 Reboot

reboot

When you system boot you should be able to select GNOME Wayland session, login using it and open terminal and type:

echo $XDG_SESSION_TYPE

Output should be Wayland.