Fix the LinuxGUI program crash issue in wayland environment. (#3406)
Some checks failed
Ventoy CI / build (push) Has been cancelled
Mirror GitHub to Gitee / Sync-GitHub-to-Gitee (push) Has been cancelled

This commit is contained in:
longpanda
2025-12-19 14:48:53 +08:00
parent f7e4a7a6ec
commit 3597f15814

View File

@@ -1221,6 +1221,7 @@ int real_main(int argc, char **argv)
int ret; int ret;
int euid; int euid;
char *exe = NULL; char *exe = NULL;
const char *env = NULL;
char path[PATH_MAX]; char path[PATH_MAX];
char curpath[PATH_MAX]; char curpath[PATH_MAX];
@@ -1270,6 +1271,18 @@ int real_main(int argc, char **argv)
return 1; return 1;
} }
if (strstr(path, "gtk"))
{
env = getenv("XDG_SESSION_TYPE");
vlog("=== XDG_SESSION_TYPE is <%s> ===\n", env ? env : "NULL");
if (env && strncasecmp(env, "wayland", 7) == 0)
{
vlog("Force GDK_BACKEND from %s to x11 for better compatibility\n", env);
setenv("GDK_BACKEND", "x11", 1);
}
}
if (euid == 0) if (euid == 0)
{ {
vlog("We have root privileges, just exec %s\n", path); vlog("We have root privileges, just exec %s\n", path);