diff --git a/src/main.cpp b/src/main.cpp index 326d01d..51320fd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -101,10 +101,15 @@ int main(int argc, char **argv) XInitThreads(); - initOutput(); - + if ( getenv("DISPLAY") != NULL ) + { + g_bIsNested = true; + } + wlserver_init(argc, argv, g_bIsNested == true ); + initOutput(); + wlserver_run(); } @@ -123,11 +128,6 @@ void startSteamCompMgr(void) void initOutput(void) { - if ( getenv("DISPLAY") != NULL ) - { - g_bIsNested = true; - } - if ( g_bIsNested == true ) { inputsdl_init(); diff --git a/src/wlserver.c b/src/wlserver.c index c7c1a9b..97bc812 100644 --- a/src/wlserver.c +++ b/src/wlserver.c @@ -112,6 +112,8 @@ const struct wlr_surface_role xwayland_surface_role = { static void xwayland_ready(struct wl_listener *listener, void *data) { + setenv("DISPLAY", wlserver.wlr.xwayland->display_name, true); + startSteamCompMgr(); } @@ -406,8 +408,6 @@ int wlserver_init(int argc, char **argv, bool bIsNested) { wlserver.wlr.xwayland = wlr_xwayland_create(wlserver.wl_display, wlserver.wlr.compositor, False); - setenv("DISPLAY", wlserver.wlr.xwayland->display_name, true); - const char *socket = wl_display_add_socket_auto(wlserver.wl_display); if (!socket) {