[nvidia] Fail to launch gnome-shell (Wayland) on Ubuntu with EGLDevice backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mutter (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Marco Trevisan (Treviño) |
Bug Description
[ Description ]
Wayland sessions don't work with the Nvidia driver in 18.04, even after enabling them via the kernel command line 'nvidia-
[ Fix ]
See below for the changes from upstream that fix this, which we're uploading to disco-proposed now.
[ QA ]
Under the GNOME Micro Release Exception, you can believe this is fixed.
https:/
It might be a good idea to test an nvidia machine, but it doesn't need explicit verification.
[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-
commit 1bf2eb95b502ed0
Author: Miguel A. Vico <email address hidden>
Date: Thu Jun 7 16:29:44 2018 -0700
renderer/native: Choose first EGL config for non-GBM backends
Commit 712ec30cd9be1f1
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:/
commit 8ee14a7cb7e8f07
Author: Jonas Ådahl <email address hidden>
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:/
apt-cache policy mutter
mutter:
Installed: 3.28.3-
Candidate: 3.28.3-
Version table:
*** 3.28.3-
500 http://
100 /var/lib/
3.28.1-1ubuntu1 500
500 http://
Changed in mutter (Ubuntu): | |
status: | New → Incomplete |
status: | Incomplete → New |
tags: | added: nvidia |
summary: |
- Fail to launch gnome-wayland-shell on Ubuntu-18.04 with EGLDevice - backend + [nvidia] Fail to launch gnome-wayland-shell on Ubuntu-18.04 with + EGLDevice backend |
summary: |
- [nvidia] Fail to launch gnome-wayland-shell on Ubuntu-18.04 with - EGLDevice backend + Wayland sessions don't work with the Nvidia driver yet (even with + nvidia-drm.modeset=1) |
Changed in mutter (Ubuntu): | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
tags: | added: rls-bb-incomin |
tags: |
added: rls-bb-incoming removed: rls-bb-incomin |
description: | updated |
Changed in mutter (Ubuntu Bionic): | |
status: | New → In Progress |
assignee: | nobody → Daniel van Vugt (vanvugt) |
description: | updated |
tags: |
added: verification-done verification-done-bionic removed: verification-needed verification-needed-bionic |
tags: | removed: rls-bb-notfixing |
The bigger problem (than any missing commits) is that Ubuntu builds of mutter don't support EGLStreams:
mutter-3.30.1
prefix: /usr/local
source code location: .
compiler: gcc
Startup notification: yes
libcanberra: yes
libwacom: yes
gudev yes
Introspection: yes
Session management: yes
Wayland: yes
Wayland EGLStream: no <----------
Native (KMS) backend: yes
EGLDevice: yes
Remote desktop: no
I think the missing build-dep isn't even in main. I can only find it in https:/ /github. com/NVIDIA/ egl-wayland but would love to be proven wrong.
This is a problem on Ubuntu even when building upstream mutter with the "missing" commits. The required file wayland- eglstream- protocols. pc and friends is still missing from the Ubuntu distro.