--- a/sway/main.c +++ b/sway/main.c @@ -151,7 +151,8 @@ } static bool detect_suid(void) { - if (geteuid() != 0 && getegid() != 0) { + if (geteuid() == 0 && getegid() == 0) { + sway_log(SWAY_INFO, "Running sway as root user"); return false; } @@ -309,11 +310,6 @@ } } - // SUID operation is deprecated, so block it for now. - if (detect_suid()) { - exit(EXIT_FAILURE); - } - // Since wayland requires XDG_RUNTIME_DIR to be set, abort with just the // clear error message (when not running as an IPC client). if (!getenv("XDG_RUNTIME_DIR") && optind == argc) { @@ -363,6 +359,11 @@ return 0; } + // SUID operation is deprecated, so block it for now. + if (detect_suid()) { + exit(EXIT_FAILURE); + } + detect_proprietary(allow_unsupported_gpu); increase_nofile_limit();