Bug 280210
| Summary: | [GTK] Unable to start: Error 71 (Protocol error) dispatching to Wayland display | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | alex.parrill |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Major | CC: | bugs-noreply, cgarcia, cryze92, madbyte |
| Priority: | P2 | ||
| Version: | Other | ||
| Hardware: | PC | ||
| OS: | Linux | ||
alex.parrill
My webkit2gtk programs and the MiniBrowser example both fail to start on Wayland on my Nvidia desktop. They print the following error and exit:
Gdk-Message: 17:14:30.589: Error 71 (Protocol error) dispatching to Wayland display.
Running the programs with `WEBKIT_DISABLE_DMABUF_RENDERER=1` fix the issue.
Running the program with `WAYLAND_DEBUG=` shows this line at the end:
[4192651.933] {Display Queue} wl_display#1.error(wp_linux_drm_syncobj_surface_v1#55, 4, "explicit sync is used, but no acquire point is set")
Tested with the v2.46.0 package for Arch Linux, and Nvidia proprietary driver version 560.35.03.
Probably related to https://bugs.webkit.org/show_bug.cgi?id=262607 . I'm using webkit2gtk via wry, which tauri also uses, and they have an issue here: https://github.com/tauri-apps/tauri/issues/10702 , so I don't think I'm the only one.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
alex.parrill
Running under X11, either via setting `GDK_BACKEND=x11` or by running an X11 desktop env, also does not work, but has somewhat different symptoms. The webview screen is all white and the application prints the following message:
Failed to create GBM buffer of size 1024x730: Invalid argument
The underlying page controls still work, but aren't visible.
Setting `WEBKIT_DISABLE_DMABUF_RENDERER=1` fixes this issue.
Carlos Garcia Campos
What compositor is this? gnome-shell/mutter? What GTK4 version? From WebKit we just render into the gtk widget without using any wayland specific thing.
alex.parrill
I've tested this with Gnome 47.0.1 and Plasma 6.1.5; it happens under both. GTK4 version 4.16.1.
madbyte
Any news to this issue? Trying to run a Photino.Native project using Webkit2GTK and having the same issue still.
Using `WEBKIT_DISABLE_DMABUF_RENDERER=1` works to launch the application successfully, but performance is very bad when using that option obviously.
Using webkit2gtk4.1, 2.48.5-1 on Fedora 42.
madbyte
(In reply to madbyte from comment #4)
> Any news to this issue? Trying to run a Photino.Native project using
> Webkit2GTK and having the same issue still.
> Using `WEBKIT_DISABLE_DMABUF_RENDERER=1` works to launch the application
> successfully, but performance is very bad when using that option obviously.
>
> Using webkit2gtk4.1, 2.48.5-1 on Fedora 42.
Forgot to mention, having the same error as previously mentioned:
[1021246.065] {Display Queue} wl_display#1.error(wp_linux_drm_syncobj_surface_v1#54, 4, "explicit sync is used, but no acquire point is set")
Disabling Explicit Sync on my monitors in the settings doesn't work either.
madbyte
(In reply to madbyte from comment #5)
> Disabling Explicit Sync on my monitors in the settings doesn't work either.
Update, looks like this is an issue related to Wayland and NVIDIA GPUs. Setting the env var `__NV_DISABLE_EXPLICIT_SYNC=1` let's the application launch & also run smooth without low FPS.
Issue might be somewhere between egl-wayland (https://github.com/NVIDIA/egl-wayland) & the ANGLE library (https://github.com/WebKit/WebKit/tree/main/Source/ThirdParty/ANGLE) used by the WebKit project.
madbyte
Please let me know where else to report this if this bug tracker is no longer maintained.
Here's a log running my application using `WAYLAND_DEBUG=1`:
https://gist.github.com/MadByteDE/95ef1dce4913fdbbc3e0d6ded902e1cf
Notes:
- Tested on both Fedora Workstation 42 (Gnome 48) and Fedora KDE Edition (KDE 6.4.5)
- Using Nvidia driver 580.95.05
- using egl-wayland 1.1.20
madbyte
Shameless copy-pasta from my Github issue report:
**Links**
Crash log (WAYLAND_DEBUG=1): https://gist.github.com/MadByteDE/95ef1dce4913fdbbc3e0d6ded902e1cf
egl-wayland repo issue report: https://github.com/NVIDIA/egl-wayland/issues/179
Photino Framework: https://www.tryphotino.io/
**Description**
While trying to run a in-dev C# / Photino application compiled natively for Linux, it crashes due to issues with explicit sync.
Photino Native requires webkit2gtk4.1 to display the GUI.
Tested the application on KDE 6.4.5 & GNOME 48, both resulting in the same crash.
Here's the error message seen in the log linked above (with my notes where the affecting code might be:
[4137861.243] {Default Queue} -> wl_surface#44.attach(wl_buffer#49, 0, 0)
[4137861.249] {Default Queue} -> wl_surface#44.set_buffer_scale(1)
[4137861.253] {Default Queue} -> wl_surface#44.damage(0, 0, 1070, 550)
---> WPEWaylandCursor.cpp, lines 81 - 85
[4137861.258] {Default Queue} -> xdg_toplevel#47.set_min_size(1070, 550)
[4137861.261] {Default Queue} -> xdg_toplevel#47.set_max_size(2147483647, 2147483647)
[4137861.264] {Default Queue} -> xdg_surface#46.set_window_geometry(0, 0, 1070, 550)
---> ?
[4137861.276] {Default Queue} -> wl_surface#44.frame(new id wl_callback#56)
[4137861.279] {Default Queue} -> wl_surface#44.commit()
---> WPEViewWayland.cpp, lines 596 - 609
[4137865.610] {Display Queue} wl_display#1.error(wp_linux_drm_syncobj_surface_v1#54, 4, "explicit sync is used, but no acquire point is set")
Gdk-Message: 18:48:03.277: Error 71 (Protokollfehler) dispatching to Wayland display.
While searching for this bug in various places I found more reports with related issues:
https://bugs.webkit.org/show_bug.cgi?id=280210
https://bugs.webkit.org/show_bug.cgi?id=293602
The application runs if __NV_DISABLE_EXPLICIT_SYNC=1 is set!
**Analysis**
I've forwarded the issue to the egl-wayland project first, where @amshafer kindly described what might be happening here:
https://github.com/NVIDIA/egl-wayland/issues/179#issuecomment-3428324210
Please also scroll through the other messages in this issue report for some more infos.
Thanks!