xwayland: use -listenfd if available
Xwayland's -listen option was deprecated in [1] in favor of -listenfd. [1]: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/593
This commit is contained in:
parent
eec2e1d3b1
commit
e6f6e1ad0a
|
@ -1,11 +1,14 @@
|
||||||
|
have_listenfd = false
|
||||||
if xwayland.found()
|
if xwayland.found()
|
||||||
xwayland_path = xwayland.get_pkgconfig_variable('xwayland')
|
xwayland_path = xwayland.get_pkgconfig_variable('xwayland')
|
||||||
|
have_listenfd = xwayland.get_pkgconfig_variable('have_listenfd') == 'true'
|
||||||
else
|
else
|
||||||
xwayland_path = xwayland_prog.full_path()
|
xwayland_path = xwayland_prog.full_path()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
xwayland_config_data = configuration_data()
|
xwayland_config_data = configuration_data()
|
||||||
xwayland_config_data.set_quoted('XWAYLAND_PATH', xwayland_path)
|
xwayland_config_data.set_quoted('XWAYLAND_PATH', xwayland_path)
|
||||||
|
xwayland_config_data.set10('HAVE_XWAYLAND_LISTENFD', have_listenfd)
|
||||||
configure_file(
|
configure_file(
|
||||||
output: 'config.h',
|
output: 'config.h',
|
||||||
configuration: xwayland_config_data,
|
configuration: xwayland_config_data,
|
||||||
|
|
|
@ -64,8 +64,13 @@ noreturn static void exec_xwayland(struct wlr_xwayland_server *server) {
|
||||||
char *argv[] = {
|
char *argv[] = {
|
||||||
"Xwayland", NULL /* display, e.g. :1 */,
|
"Xwayland", NULL /* display, e.g. :1 */,
|
||||||
"-rootless", "-terminate", "-core",
|
"-rootless", "-terminate", "-core",
|
||||||
|
#if HAVE_XWAYLAND_LISTENFD
|
||||||
|
"-listenfd", NULL /* x_fd[0] */,
|
||||||
|
"-listenfd", NULL /* x_fd[1] */,
|
||||||
|
#else
|
||||||
"-listen", NULL /* x_fd[0] */,
|
"-listen", NULL /* x_fd[0] */,
|
||||||
"-listen", NULL /* x_fd[1] */,
|
"-listen", NULL /* x_fd[1] */,
|
||||||
|
#endif
|
||||||
"-wm", NULL /* wm_fd[1] */,
|
"-wm", NULL /* wm_fd[1] */,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
@ -91,7 +96,7 @@ noreturn static void exec_xwayland(struct wlr_xwayland_server *server) {
|
||||||
snprintf(wayland_socket_str, sizeof(wayland_socket_str), "%d", server->wl_fd[1]);
|
snprintf(wayland_socket_str, sizeof(wayland_socket_str), "%d", server->wl_fd[1]);
|
||||||
setenv("WAYLAND_SOCKET", wayland_socket_str, true);
|
setenv("WAYLAND_SOCKET", wayland_socket_str, true);
|
||||||
|
|
||||||
wlr_log(WLR_INFO, "WAYLAND_SOCKET=%d Xwayland :%d -rootless -terminate -core -listen %d -listen %d -wm %d",
|
wlr_log(WLR_INFO, "WAYLAND_SOCKET=%d Xwayland :%d -rootless -terminate -core -listenfd %d -listenfd %d -wm %d",
|
||||||
server->wl_fd[1], server->display, server->x_fd[0],
|
server->wl_fd[1], server->display, server->x_fd[0],
|
||||||
server->x_fd[1], server->wm_fd[1]);
|
server->x_fd[1], server->wm_fd[1]);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue