Skip to content

WebKitGTK Crash #228

@svandragt

Description

@svandragt

What Happened?

A GTK4/WebKitGTK Flatpak app crashes its WebKit web process on io.elementary.Platform//8, but the same app logic works on org.gnome.Platform.

In my app, the user-visible symptom was:

  • preview pane stays blank
  • no WebKit context menu appears

The key runtime log on the failing platform was:

Could not create default EGL display: EGL_BAD_PARAMETER. Aborting...

Affected Setup

  • App type: GTK4 + WebKitGTK 6.0 Flatpak app
  • Failing runtime: io.elementary.Platform//8
  • Working runtimes tested:
    • org.gnome.Platform//47

Initial Symptom

Inside the Flatpak build on elementary runtime:

  • WebKit.WebView area stayed blank
  • right-click context menu did not appear
  • native non-Flatpak app did not show the issue

Isolation Results

The following app-level factors were ruled out:

  • rendered app HTML/CSS/JS payload
  • JavaScript bridge registration
  • evaluate_javascript() timing
  • app window layout and pane structure
  • startup order / initial render flow

The following WebKit settings/workarounds were tested:

  • hardware_acceleration_policy = NEVER
  • enable_webgl = false
  • enable_webaudio = false
  • WEBKIT_DISABLE_DMABUF_RENDERER=1
  • WEBKIT_DISABLE_COMPOSITING_MODE=1
  • LIBGL_ALWAYS_SOFTWARE=1
  • GALLIUM_DRIVER=llvmpipe
  • GSK_RENDERER=cairo
  • GDK_DISABLE=egl

These were not sufficient to make the app work on io.elementary.Platform//8.

Strongest Evidence

The same minimized code path was then built against org.gnome.Platform//47.

On GNOME runtime:

  • WebKit.WebView stayed alive
  • context menu worked
  • no EGL_BAD_PARAMETER abort

This indicates the problem is not Folio logic, but the runtime stack exposed by io.elementary.Platform//8, most likely in WebKitGTK/EGL integration on that platform.

Actual Result

The WebKit web process aborts during EGL/display initialization, leaving the view blank.

Practical Impact

This blocks Flatpak apps using WebKitGTK from functioning correctly on the elementary runtime even when the same applications work on other current GNOME runtimes.

Steps to Reproduce

The issue reproduced in the main app and in a reduced test matrix:

  1. Normal app Flatpak on io.elementary.Platform//8
  2. Reduced test case with:
    • plain Gtk.ApplicationWindow
    • single WebKit.WebView
    • minimal static HTML
    • no custom bridge logic
  3. Even more reduced app activation path bypassing the normal app window

The failure still occurred on the elementary runtime.

Example Working Result On GNOME Runtime

The same reduced app on GNOME runtime produced a live WebKit view and working context menu instead of crashing.

Expected Result

On io.elementary.Platform//8, a GTK4 + WebKitGTK Flatpak app with a simple WebKit.WebView should render content or at minimum keep the web process alive when loading trivial HTML.

OS Version

8.x (Circe)

OS Architecture

amd64 (on most hardwares)

Session Type

Secure Session (Wayland, This is the default), Classic Session (X11)

Software Version

Latest release (I have run all updates)

Log Output

## Example Failing Log


[WebPane] constructed, hardware_acceleration=NEVER webgl=false webaudio=false
[WebPane] DISPLAY=:0 WAYLAND_DISPLAY=(null)
Could not create default EGL display: EGL_BAD_PARAMETER. Aborting...

Hardware Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions