It looks like the bug is actually in unity8-desktop-session. It installs /usr/share/lightdm/lightdm.conf.d/45-unity8.conf, which sets session-wrapper=lightdm-unity8-session, which means lightdm-unity8-session is run in order to start *any* session. lightdm-unity8-session is a shell script that's also part of unity8-desktop-session, and looking at its contents, it appears to be buggy because it assumes that any session that doesn't use X (such as Wayland) is Unity 8 and should run upstart instead of lightdm-session.
I was able to work around this by creating a file /etc/lightdm/lightdm.conf.d/00-willmo.conf with contents
[Seat:*]
session-wrapper=lightdm-session
This overrides the offending setting in 45-unity8.conf and sets session-wrapper back to the default, avoiding the Unity 8 assumptions in lightdm-unity8-session. After rebooting, Wayland sessions now work for me.
It looks like the bug is actually in unity8- desktop- session. It installs /usr/share/ lightdm/ lightdm. conf.d/ 45-unity8. conf, which sets session- wrapper= lightdm- unity8- session, which means lightdm- unity8- session is run in order to start *any* session. lightdm- unity8- session is a shell script that's also part of unity8- desktop- session, and looking at its contents, it appears to be buggy because it assumes that any session that doesn't use X (such as Wayland) is Unity 8 and should run upstart instead of lightdm-session.
I was able to work around this by creating a file /etc/lightdm/ lightdm. conf.d/ 00-willmo. conf with contents
[Seat:*] wrapper= lightdm- session
session-
This overrides the offending setting in 45-unity8.conf and sets session-wrapper back to the default, avoiding the Unity 8 assumptions in lightdm- unity8- session. After rebooting, Wayland sessions now work for me.