diff --git a/resources/web/guide/0/load.js b/resources/web/guide/0/load.js index 424c9ebdb3..d8c0880258 100644 --- a/resources/web/guide/0/load.js +++ b/resources/web/guide/0/load.js @@ -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 ) diff --git a/src/OrcaSlicer.cpp b/src/OrcaSlicer.cpp index 713589201a..a3ab6450d8 100644 --- a/src/OrcaSlicer.cpp +++ b/src/OrcaSlicer.cpp @@ -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();