GNOME apps crash with "Protocol error" in NVIDIA Wayland sessions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GTK+ |
Fix Released
|
Unknown
|
|||
NVIDIA / egl-wayland |
Fix Released
|
Unknown
|
|||
egl-wayland (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Jammy |
Fix Committed
|
High
|
Alessandro Astone |
Bug Description
[ Impact ]
* GTK applications fail to start on a hybrid graphics machine with an NVIDIA discrete GPU.
* The NVIDIA egl-wayland extension 1.1.9 only supports rendering to the NVIDIA GPU if it is the primary GPU. On a hybrid system the primary GPU would be the integrated graphics, while the NVIDIA GPU should only be used for offloading of specific applications. On such a setup, the egl-wayland extension still incorrectly advertised the driver as compatible and attempted to use the NVIDIA GPU for all EGL applications.
* To fix the issue, backport a commit from a newer version of the NVIDIA egl-wayland extension that reports the driver as incompatible when the NVIDIA GPU is not the primary GPU. This effectively ensures that all EGL applications run on integrated graphics by default.
[ Test Plan ]
* Set up a hybrid graphics machine with Jammy 22.04 LTS and the proprietary NVIDIA drivers version 535 or 550.
* Install `libnvidia-
* Log-in to a Wayland desktop session.
* Verify that you can start `gnome-
[ Test Plan - Regression ]
* Set up a Desktop with a single NVIDIA GPU with Jammy 22.04 LTS and the proprietary NVIDIA drivers version 470, 535 or 550.
* Install `libnvidia-
* Log-in to GNOME Wayland (in Ubuntu Desktop this implies changing the log-in session on the log-in screen)
* Verify that `eglinfo | grep -A2 "Wayland platform"` reports "EGL vendor string: NVIDIA"
* Also verify that GNOME applications run smoothly as GPU accelerated.
[ Where problems could occur ]
* The scope of the change is limited to the NVIDIA proprietary drivers.
* A possible regression would be that the driver starts reporting as incompatible on NVIDIA single-GPU systems too. One would notice by all wayland-native applications suddenly being very slow. Note that such systems would not default to Wayland in Jammy.
[ Original Report ]
$ dpkg-query -W gnome-shell-
gnome-shell-
$ gnome-extension
Gdk-Message: 17:54:19.697: Error reading events from display: Protocol error
Caveat: I currently have a mix of packages from jammy-release and jammy-proposed.
affects: | gnome-shell (Ubuntu) → mesa (Ubuntu) |
summary: |
- gnome-extensions-app fails to start (Protocol error) + gnome-extensions-app fails to start [Error reading events from display: + Protocol error] |
no longer affects: | mesa (Ubuntu) |
Changed in gtk+3.0 (Ubuntu): | |
status: | New → Confirmed |
tags: | added: protocol-error |
Changed in egl-wayland: | |
status: | Unknown → New |
Changed in gtk: | |
status: | Unknown → Fix Released |
tags: | added: nvidia-wayland |
tags: | added: nvidia |
no longer affects: | gnome-shell (Ubuntu) |
summary: |
- gnome-extensions-app fails to start [Error reading events from display: - Protocol error] + GNOME apps crash with "Protocol error" in NVIDIA Wayland sessions |
no longer affects: | gtk+3.0 (Ubuntu) |
Changed in egl-wayland (Ubuntu): | |
status: | Confirmed → Fix Released |
tags: | added: fixed-in-1.1.10 fixed-upstream |
Changed in egl-wayland (Ubuntu): | |
importance: | Undecided → High |
tags: | added: rls-jj-incoming |
tags: |
added: fixed-in-egl-wayland-1.1.10 removed: fixed-in-1.1.10 |
Changed in egl-wayland: | |
status: | New → Fix Released |
Changed in egl-wayland (Ubuntu Jammy): | |
assignee: | nobody → Alessandro Astone (aleasto) |
description: | updated |
description: | updated |
I couldn't reproduce this in a more clean jammy installation in a VM, so it may be "just me". Please feel free to close it if you can't easily reproduce.