egl-wayland: [BUG] Ver 1.1.8-1 breaks some GTK3/4 apps (Gnome ToDo, Gnome Maps, Cheese) - On Hybrid Graphics configurations

Expected behavior:

Launching Gnome ToDo, Gnome Maps, or Cheese functions and the app is displayed.

Actual behavior:

The apps are never launched

Debug Logs:

[3430410.735] wl_display@1.delete_id(36)
[3430410.749] wl_display@1.delete_id(37)
[3430410.753] wl_display@1.error(nil, 7, "failed to import supplied dmabufs: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a ")
13:01:41.382673                           Gdk:    DEBUG: [destroyed object]: error 7: failed to import supplied dmabufs: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a 

Gdk-Message: 13:01:41.382: Error flushing display: Protocol error

Workaround:

Rolling back to ver 1.1.7-1 resolved the issue entirely.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 11
  • Comments: 25 (1 by maintainers)

Most upvoted comments

As Erik mentioned above, we don’t have any estimates for the driver-side fixes at the moment.

The regression for the non-PRIME use-case should be fixed by https://github.com/NVIDIA/egl-wayland/commit/d4937adc5cd04ac7df98fc5616e40319fb52fdee

As James mentioned, support for the PRIME use-case will require driver-side changes. We’re working on this, but can’t provide an ETA yet.

My setup is

egl-wayland version: 1.1.8-1
CPU: AMD Ryzen 7 5800H with Radeon Graphics (16) @ 3.200GHz 
GPU: NVIDIA GeForce RTX 3070 Mobile / Max-Q
GPU driver: NVIDIA 470.74

I had a similar problem and opened this issue on GNOME-gtk. Using environment variable __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json fixed everything.

@erik-kz I just tried to compile master to test that commit and got that wayland-drm-client-protocol.h was missing. Was this perhaps omitted from the push or is this an additional external lib that needs to be pulled in/updated?

This issue is fixed in version 1.1.10 and later. For earlier versions, yes, I suppose setting __EGL_VENDOR_LIBRARY_FILENAMES is the easiest workaround.

Version 1.1.9-1.1 on ubuntu 22.04 still has this problem. gnome-maps:

[2472783.925] wl_display@1.error(nil, 7, "failed to import supplied dmabufs: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a ")
[2472783.901] wl_display@1.delete_id(56)
Gdk-Message: 09:55:07.113: Error 71 (Protocol error) dispatching to Wayland display.

cheese:

`2641326.949] wl_display@1.delete_id(51)
[2641326.981] wl_buffer@49.release()
[2641327.131] wl_display@1.error(nil, 7, "failed to import supplied dmabufs: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a ")
Gdk-Message: 09:57:55.654: Error reading events from display: Protocol error`

gnome-todo works without error.

Can confirm in Ubuntu22, the solution is adding variable __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json

This issue is also present in Debian Sid as of writing this comment. Had this issue running gnome-console (kgx).

Running it with __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json kgx fixes everything.

Hey @cubanismo Is there any update on the driver side fix?

Gnome totem video player is broken and Cheese as well as gnome extensions cannot be opened on Optimus Wayland any fix of this?