Skip to content

Commit 33264df

Browse files
Nicolettaclaude
authored andcommitted
fix: WAYLAND_DISPLAY entfernen in main() – Mesa wählt X11-EGL statt Wayland-EGL
WebKitWebProcess initialisiert EGL bedingungslos beim Start, bevor WEBKIT_DISABLE_DMABUF_RENDERER oder andere Flags geprüft werden. Mesa wählt den EGL-Pfad anhand von Env-Vars: - WAYLAND_DISPLAY gesetzt → Wayland-EGL → EGL_BAD_PARAMETER auf AMD+Mesa26 - WAYLAND_DISPLAY fehlt → X11-EGL via DISPLAY=:0 → funktioniert Beide Vars müssen vor gtk_init() (= vor app_lib::run()) gesetzt sein. KDE Plasma hat immer XWayland → DISPLAY=:0 ist gesetzt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 28df469 commit 33264df

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

src-tauri/src/main.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@
22
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
33

44
fn main() {
5-
// Linux: GDK_BACKEND=x11 MUSS vor GTK-Initialisierung gesetzt werden.
6-
// Tauri initialisiert GTK in run() → danach ignoriert GDK die Env-Var.
7-
// Hintergrund: Mesa 26.0.1 + AMD GPU → eglGetDisplay(EGL_DEFAULT_DISPLAY)
8-
// schlägt auf Wayland fehl (EGL_BAD_PARAMETER). X11-Backend nutzt GLX statt
9-
// EGL → kein eglGetDisplay-Aufruf → kein Crash. KDE Plasma hat immer XWayland.
5+
// Linux: Mesa 26.0.1 + AMD GPU → eglGetDisplay(EGL_DEFAULT_DISPLAY) = EGL_BAD_PARAMETER
6+
// WebKitWebProcess initialisiert EGL bedingungslos beim Start – BEVOR irgendwelche
7+
// WebKit-Flags (WEBKIT_DISABLE_DMABUF_RENDERER etc.) geprüft werden.
8+
//
9+
// Mesa wählt den EGL-Pfad anhand von Env-Vars:
10+
// WAYLAND_DISPLAY gesetzt → Wayland-EGL ← buggy auf AMD + Mesa 26
11+
// WAYLAND_DISPLAY fehlt → X11-EGL via DISPLAY=:0 ← funktioniert
12+
//
13+
// Beide müssen VOR gtk_init() gesetzt sein (= vor app_lib::run()).
14+
// KDE Plasma hat immer XWayland → DISPLAY=:0 ist gesetzt.
1015
#[cfg(target_os = "linux")]
11-
std::env::set_var("GDK_BACKEND", "x11");
16+
{
17+
std::env::set_var("GDK_BACKEND", "x11");
18+
std::env::remove_var("WAYLAND_DISPLAY");
19+
}
1220

1321
app_lib::run();
1422
}

0 commit comments

Comments
 (0)