Fact is stranger than fiction. I failed to consider that maybe EGLStreams was working in mutter 3.28 and it got broken later on. Actually there were TWO separate regressions (separate to this bug) this year. So here are corrections to comment #8 after a more detailed analysis:
mutter 3.28.3 in 18.04: * EGLDevice configured, compiled, but not working (this bug) * EGLStreams not configurable, always built, but also not working (this bug) mutter 3.28.4 (prerelease): * EGLDevice compiled and working * EGLStreams not configurable, always built, and working** mutter 3.30.2 in 18.10 & 19.04: * EGLDevice compiled and working * EGLStreams' new build deps are missing so not configured, but compiled in anyway by accident because the new build deps were weak, and it's working** mutter 3.32 (prerelease) from upstream git: * EGLDevice compiled and working * EGLStreams' new build deps are missing so not configured, and not compiled any more thanks to a recent "fix" 417c00b8fa. We can get the missing build deps either with libnvidia-egl-wayland-dev (soon-to-be in 19.04), or do some kind of revert of 417c00b8fa (because the new build deps are pretty weak and probably shouldn't have been implemented that way in mutter 3.30+). ** EGLStreams working means Wayland clients get full Nvidia acceleration but I thought it was broken for a while because that also includes 100% CPU use by [kworker/u16:3+events_unbound]. Possible driver bug? -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to mutter in Ubuntu. https://bugs.launchpad.net/bugs/1805444 Title: [nvidia] Fail to launch gnome-shell (Wayland) on Ubuntu with EGLDevice backend Status in mutter package in Ubuntu: Fix Released Bug description: Wayland sessions don't work with the Nvidia driver in 18.04, even after enabling them via the kernel command line 'nvidia- drm.modeset=1'. [Original description] Fail to launch gnome-wayland-shell on Ubuntu-18.04 with EGLDevice backend due to following missing changes in mutter 3.28.3-2~ubuntu18.04.2 commit 1bf2eb95b502ed0419b0fe8979c022cacaf79e84 Author: Miguel A. Vico <mvicom...@nvidia.com> Date: Thu Jun 7 16:29:44 2018 -0700 renderer/native: Choose first EGL config for non-GBM backends Commit 712ec30cd9be1f180c3789e7e6a042c5f7b5781d added the logic to only choose EGL configs that match the GBM_FORMAT_XRGB8888 pixel format. However, there won't be any EGL config satisfying such criteria for non-GBM backends, such as EGLDevice. This change will let us choose the first EGL config for the EGLDevice backend, while still forcing GBM_FORMAT_XRGB8888 configs for the GBM one. Related to: https://gitlab.gnome.org/GNOME/mutter/issues/2 commit 8ee14a7cb7e8f072d2731d59c7dc735f83a9bb0b Author: Jonas Ã…dahl <jad...@gmail.com> Date: Tue Nov 14 16:08:52 2017 +0800 renderer/native: Also wrap flip closures for EGLStreams When using the EGLStream backend, the MetaRendererNative passed a GClosure to KMS when using EGLStreams, but KMS flip callback event handler in meta-gpu-kms.c expected a closure wrapped in a closure container, meaning it'd instead crash when using EGLStreams. Make the flip handler get what it expects also when using EGLStreams by wrapping the flip closure in the container before handing it over to EGL. https://bugzilla.gnome.org/show_bug.cgi?id=790316 apt-cache policy mutter mutter: Installed: 3.28.3-2~ubuntu18.04.2 Candidate: 3.28.3-2~ubuntu18.04.2 Version table: *** 3.28.3-2~ubuntu18.04.2 500 500 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 Packages 100 /var/lib/dpkg/status 3.28.1-1ubuntu1 500 500 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 Packages To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1805444/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp