Fix Setup Wizard stuck on "Loading..." on Wayland

When running under XWayland (Wayland sessions with GDK_BACKEND=x11),
WebKit2GTK's compositing mode can fail silently, causing the Setup
Wizard WebView to freeze or render blank. This leaves users stuck on
the "Loading......" screen indefinitely.

Changes:
- Set WEBKIT_DISABLE_COMPOSITING_MODE=1 to force software rendering,
  matching the fix used by BambuStudio
- Enable the 20-second timeout fallback in load.js so the wizard
  proceeds even if the C++ -> JavaScript signal fails
This commit is contained in:
SoftFever
2026-02-03 14:47:08 +08:00
parent b9d4b782c2
commit 56f1f05f12
2 changed files with 7 additions and 1 deletions

View File

@@ -7,7 +7,8 @@ function OnInit()
TargetPage=GetQueryString("target");
//setTimeout("JumpToTarget()",20*1000);
// Fallback timeout in case the C++ -> JS signal fails (e.g., WebKit issues)
setTimeout("JumpToTarget()",20*1000);
}
function HandleStudio( pVal )

View File

@@ -1186,6 +1186,11 @@ int CLI::run(int argc, char **argv)
// instruct the window manager to fall back to X server mode.
::setenv("GDK_BACKEND", "x11", /* replace */ true);
// WebKit2GTK's compositing mode can fail under XWayland, causing WebViews
// (like the Setup Wizard) to render blank or freeze. Disabling compositing
// mode forces software rendering, which works reliably on all backends.
::setenv("WEBKIT_DISABLE_COMPOSITING_MODE", "1", /* replace */ false);
// Also on Linux, we need to tell Xlib that we will be using threads,
// lest we crash when we fire up GStreamer.
XInitThreads();