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 required modules:
    sudo insmod /lib/modules/$(uname -r)/extra/opensrc-disp/nvidia.ko rm_firmware_active="all"  
    sudo insmod /lib/modules/$(uname -r)/extra/opensrc-disp/nvidia-modeset.ko                   
    sudo insmod /lib/modules/$(uname -r)/extra/opensrc-disp/nvidia-drm.ko 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. Reboot and repeat step 7 to verify the Wayland backend auto-started successfully.