diff --git a/src/xrt/targets/ctl/main.c b/src/xrt/targets/ctl/main.c index 2af5264a0..6a80e5420 100644 --- a/src/xrt/targets/ctl/main.c +++ b/src/xrt/targets/ctl/main.c @@ -1,4 +1,5 @@ // Copyright 2020-2024, Collabora, Ltd. +// Copyright 2025, NVIDIA CORPORATION // SPDX-License-Identifier: BSL-1.0 /*! * @file @@ -316,6 +317,16 @@ main(int argc, char *argv[]) return -1; } + bool is_system_available = false; + xret = ipc_call_instance_is_system_available(&ipc_c, &is_system_available); + if (xret != XRT_SUCCESS) { + U_LOG_E("ipc_call_instance_is_system_available: %u", xret); + return -1; + } + if (!is_system_available) { + PE("System isn't available, devices won't be available!"); + } + switch (op_mode) { case MODE_GET: exit(get_mode(&ipc_c)); break; case MODE_SET_PRIMARY: exit(set_primary(&ipc_c, s_val)); break; diff --git a/src/xrt/targets/libmonado/monado.c b/src/xrt/targets/libmonado/monado.c index a7ca131bd..5a9335f32 100644 --- a/src/xrt/targets/libmonado/monado.c +++ b/src/xrt/targets/libmonado/monado.c @@ -1,4 +1,5 @@ // Copyright 2019-2024, Collabora, Ltd. +// Copyright 2025, NVIDIA CORPORATION. // SPDX-License-Identifier: BSL-1.0 /*! * @file @@ -147,6 +148,16 @@ mnd_root_create(mnd_root_t **out_root) return MND_ERROR_CONNECTING_FAILED; } + bool is_system_available = false; + xret = ipc_call_instance_is_system_available(&r->ipc_c, &is_system_available); + if (xret != XRT_SUCCESS) { + PE("ipc_call_instance_is_system_available: '%i'!\n", xret); + return -1; + } + if (!is_system_available) { + PE("System isn't available, devices won't be available!"); + } + *out_root = r; return MND_SUCCESS;