Gnome-Wayland Desktop Shell Support

To enable experimental Gnome-Wayland desktop shell support:

  1. Install gdm3, mutter, and their dependencies:
    sudo apt update
    sudo apt install -y gdm3 mutter adwaita-icon-theme-full
    sudo apt install -y --reinstall libdrm2 ubuntu-session
  2. Repair the broken drm-nvdc soft link and rename the Ubuntu session file:
    sudo ln -sf /usr/lib/libdrm.so.2 /usr/lib/aarch64-
    linux-gnu/libdrm.so.2
    sudo mv /usr/share/wayland-sessions/ubuntu-wayland.desktop 
    /usr/share/wayland-sessions/ubuntu.desktop
  3. Add the gdm daemon to the video group:
    sudo usermod -a -G video gdm
  4. Configure gdm to use Wayland by setting the following flag in the [daemon] section of /etc/gdm3/custom.conf:
    [daemon]
    WaylandEnable=true
  5. Load the tegra-udrm kernel module:
    sudo modprobe tegra-udrm modeset=1
  6. Start gdm:
    sudo systemctl start gdm3.service
  7. Log in and verify the Wayland backend is running:
    ps -e | grep wayland
  8. Configure the tegra-udrm kernel module to load on boot:
    sudo bash -c 'echo "options tegra-udrm modeset=1" > /lib/modprobe.d/tegra-udrm.conf'
    sudo bash -c 'echo "tegra-udrm" >> /etc/modules-load.d/modules.conf'
  9. Reboot and repeat step 7 to verify the Wayland backend auto-started successfully.