Skip to content

Experimenting with Wayland

Felix Andreas edited this page Apr 12, 2021 · 10 revisions

If you are interesting in hacking on Pantheon's Wayland support, you will need to create the session files. These are:

/usr/share/wayland-sessions/pantheon-wayland.desktop with the following contents:

[Desktop Entry]
Name=Pantheon (Wayland)
Comment=This session provides elementary experience
Exec=gnome-session --builtin --session=pantheon-wayland
TryExec=io.elementary.wingpanel
Icon=
DesktopNames=Pantheon
Type=Application

And /usr/share/gnome-session/sessions/pantheon-wayland.session with the following contents:

[GNOME Session]
Name=Pantheon (Wayland)
RequiredComponents=gala-wayland;gala-daemon;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
FallbackSession=pantheon
DesktopName=Pantheon

Once these are created, the greeter should offer the choice between Pantheon and Pantheon (Wayland).

At the time of writing, there are currently two blocking issues in Gala that cause it to hang/crash during startup when running it in Wayland mode. These are:
#970
#971

Commenting out these sections of the Gala code so that those classes are not initialized is enough to get the Wayland session running:

After this, the Wayland session will run, but it's still a long way from being usable due to Plank being completely incompatible with Wayland and Wingpanel not being able to size/position itself correctly. There will be a number of other bugs that haven't been found yet. Here be dragons.

Clone this wiki locally