Repository navigation
fix(linux): keep main and GPU processes on X11 when launched under Wa… - #133
vodinhht20 wants to merge 1 commit into
Conversation
…yland In Electron 44+, Chromium chooses the Ozone platform in C++ before the main script runs. When WAYLAND_DISPLAY is set and --ozone-platform=x11 is not on argv, the main process starts on Wayland while the GPU process receives the X11 switch from app.commandLine.appendSwitch and crashes on Wayland surface IDs, leaving the settings window and overlays unrendered on Ubuntu desktops. Pass --ozone-platform=x11 and --force-device-scale-factor=1 in the Linux desktop entry executableArgs, and re-exec once with those flags when a direct Linux launch under WAYLAND_DISPLAY omitted them. Also allow opting into XWayland testing in hook-helper with LOLPING_ALLOW_XWAYLAND=1.
|
Code review — Request changes before merge The proposed Ozone startup fix makes sense, but I found two issues that should be addressed before merging. P1 — AppImage relaunch path (
|
…yland
In Electron 44+, Chromium chooses the Ozone platform in C++ before the main script runs. When WAYLAND_DISPLAY is set and --ozone-platform=x11 is not on argv, the main process starts on Wayland while the GPU process receives the X11 switch from app.commandLine.appendSwitch and crashes on Wayland surface IDs, leaving the settings window and overlays unrendered on Ubuntu desktops.
Pass --ozone-platform=x11 and --force-device-scale-factor=1 in the Linux desktop entry executableArgs, and re-exec once with those flags when a direct Linux launch under WAYLAND_DISPLAY omitted them. Also allow opting into XWayland testing in hook-helper with LOLPING_ALLOW_XWAYLAND=1.
Fixes #
What and why
How I tested it
Ran by hand on:
Checklist
npm run typecheck,npm run test:helperandnpm testpasssrc/shared/i18n.ts, both READMEs)docs/design.mdis updated if the behaviour it describes changedAGENTS.mdin context and I read the whole diff. Tool: