elementary / elementary/flatpak-platform
WebKitGTK Crash
- Dominant language
- Meson
- Stars
- 57
- Forks
- 11
- Avg merge
- 4h 2m
- Merged PRs (30d)
- 4
Description
### 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:
```text
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
```shell
## 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_
Contributor guide
Assessment
This issue has not been assessed yet.