···11+Add: Interface to the server to better control the debug gui.
+19-1
src/xrt/ipc/server/ipc_server_interface.h
···11// Copyright 2020-2023, Collabora, Ltd.
22+// Copyright 2024-2025, NVIDIA CORPORATION.
23// SPDX-License-Identifier: BSL-1.0
34/*!
45 * @file
···1213#include "xrt/xrt_compiler.h"
1314#include "xrt/xrt_config_os.h"
14151616+#ifndef XRT_OS_ANDROID
1717+#include "util/u_debug_gui.h"
1818+#endif
1919+2020+1521#ifdef __cplusplus
1622extern "C" {
1723#endif
···2026#ifndef XRT_OS_ANDROID
21272228/*!
2929+ * Information passed into the IPC server main function, used for customization
3030+ * of the IPC server.
3131+ *
3232+ * @ingroup ipc_server
3333+ */
3434+struct ipc_server_main_info
3535+{
3636+ //! Information passed onto the debug gui.
3737+ struct u_debug_gui_create_info udgci;
3838+};
3939+4040+/*!
2341 * Main entrypoint to the compositor process.
2442 *
2543 * @ingroup ipc_server
2644 */
2745int
2828-ipc_server_main(int argc, char **argv);
4646+ipc_server_main(int argc, char **argv, const struct ipc_server_main_info *ismi);
29473048#endif
3149
+2-7
src/xrt/ipc/server/ipc_server_process.c
···1004100410051005#ifndef XRT_OS_ANDROID
10061006int
10071007-ipc_server_main(int argc, char **argv)
10071007+ipc_server_main(int argc, char **argv, const struct ipc_server_main_info *ismi)
10081008{
10091009 // Get log level first.
10101010 enum u_logging_level log_level = debug_get_log_option_ipc_log();
···10191019 timeBeginPeriod(1);
10201020#endif
1021102110221022- struct u_debug_gui_info udgci = {
10231023- .window_title = "Monado! ✨⚡🔥",
10241024- .open = U_DEBUG_GUI_OPEN_AUTO,
10251025- };
10261026-10271022 /*
10281023 * Need to create early before any vars are added. Not created in
10291024 * init_all since that function is shared with Android and the debug
10301025 * GUI isn't supported on Android.
10311026 */
10321032- u_debug_gui_create(&udgci, &s->debug_gui);
10271027+ u_debug_gui_create(&ismi->udgci, &s->debug_gui);
103310281034102910351030 int ret = init_all(s, log_level);