As a result of some changes to the graphics stack on 18.04 the Mir team are dropping the Mesa patch that used to support Mir's EGL implementation.

As UBports is the only project I know affected by this change I'm explaining here, rather than on the Mir forums.

This affects Unity8 Desktop on Ubuntu 18.04. (It doesn't affect 16.04 desktop or phone.)

Background

We discovered this afternoon that the Mir-EGL patch mesa doesn't work with libglvnd which has been recently included in Ubuntu. This breaks:

EGL clients using libmirclient (not Wayland clients); and,

"nested" Mir (which is actually an EGL client of the "host" Mir).

The Mir have decided to drop the "Mir EGL" patch from bionic rather than writing and maintaining code that isn't strategic (it isn't needed for Wayland support). This patch has never been upstreamed and Mir works without this patch on Fedora and Debian SID.

Impact

Short term it means means more work for UBports to get Unity8 working on the 18.04LTS desktop. But it is the same situation faced getting Unity8 to work on other distros so the long term impact is minimal.

this change should not affect the Unity8 shell itself, only applications using libmirclient (most importantly those using qtubuntuclient). These applications should be able to work using Wayland, (e.g. Qt applications can use qtwayland).

There's no replacement for "nested" Mir in place yet (this is how unity-system-compositor is used on the phone, but is not essential for desktop). However, @mariogrip has done some work on a Wayland "Mir platform" that would allow one Mir server to "Nest" on another.

I had planned to have more solid Wayland support in Mir before dropping support for this legacy feature (but it was going to happen anyway). I expect the next release of Mir to address this shortfall before 18.04 is released.