Skip to content

Trying to make it work for days #234

@GuiRitter

Description

@GuiRitter

Greetings, everyone.

“It takes less than 1 minute to install.” Very funny. I’ve spent a whole weekend plus a couple of minutes everyday since March 27 trying to make this work. I’ve purchased a used HTC Vive and I have an Acer Nitro 5 with AMD Ryzen 7-5800H and nVidia GTX 1650 (N20C1, AN515-45-R4S3). I’ve been using Copilot with Claude Sonnet 4 (most of the time).

On the first night I mostly found out it would be better to stop trying to make it work on my Debian. I’ve found an old 160 GB HD and, since I had a SATA to USB adapter, I used it to install a “portable” NixOS. I chose the latest stable over the LTS (25.11.8107.1073dad219cb-x86_64-linux). Just to install Simula, it seems there were some issues with using the binary caches and I had to compile some stuff. I had to add swap memory to be able to do that.

After several days of back-and-forth with Copilot, the consensus seems to be that, while Monado starts in direct mode, Simula starts in X11 and they have trouble sharing contexts.

The best result I had was with running the following commands to start each, with the following outputs. Monado starts, the Vive turns on and displays a blank white screen. Simula starts, opens a window with a cloudy sky background and a terminal inside, but I only see this on the laptop. On most other tests, either Simula crashes if Monado is up or starts in desktop mode only if Monado is down.

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia DRI_PRIME=1 simula-monado-service

XDG_CACHE_HOME: /home/vr/.cache
XDG_DATA_HOME: /home/vr/.local/share
XDG_CONFIG_HOME: /home/vr/.config
SIMULA_NIX_DIR: /nix/store/cvd4ir7a5sfj4kmqjddldgl9srxd2ipz-simula-0.0.0
SIMULA_LOG_DIR: /home/vr/.cache/Simula
SIMULA_DATA_DIR: /home/vr/.local/share/Simula
SIMULA_CONFIG_DIR: /home/vr/.config/Simula
 INFO [ipc_server_main] Monado(XRT) by Collabora et al 'GIT-NOTFOUND' starting up...
ERROR [svr_estimate_system] Failed to detect Simula One display via edid
Warning: Cannot open device "BRD" with vid/pid 0bb4:2c87 error -3 (LIBUSB_ERROR_ACCESS)
Warning: Cannot open device "BRD" with vid/pid 0bb4:2c87 error -3 (LIBUSB_ERROR_ACCESS)
Info: Loaded drivers: GlobalSceneSolver, HTCVive
Info: Adding tracked object HMD from HTC
Info: Device HMD has watchman FW version 1462663157 and FPGA version 262/0/0; named '                  steamservices'. Hardware id 0x80020100 Board rev: 128 (len 56)
Info: HMD is treated as HMD device
Info: Detected LH gen 1 system.
Warning: Could not find disambiguator state for HMD
...
Warning: Could not find disambiguator state for HMD
ERROR [opengloves_load_config_file] Failed to load config file
 INFO [p_create_system] Creating system:
	Builders:
		qwerty: Qwerty devices builder
		remote: Remote simulation devices builder
		simulated: Simulated devices builder
		rift_s: Oculus Rift S
		rgb_tracking: RGB tracking based devices (PSVR, PSMV, ...)
		simula: SimulaVR headset
		steamvr: SteamVR proprietary wrapper (Vive, Index, Tundra trackers, etc.) devices builder
		lighthouse: Lighthouse-tracked FLOSS (Vive, Index, Tundra trackers, etc.) devices builder
		north_star: North Star headset
		wmr: Windows Mixed Reality
		xreal_air: Xreal Air
		legacy: Legacy probing system
	No builder selected in config (or wasn't compiled in)
	Selected lighthouse because it was certain it could create a head
	Using builder lighthouse: Lighthouse-tracked FLOSS (Vive, Index, Tundra trackers, etc.) devices builder
	Got devices:
		0: HTC Vive (libsurvive)
	In roles:
		head: HTC Vive (libsurvive), view count: 2
		eyes: <none>
		face: <none>
		left: <none>
		right: <none>
		gamepad: <none>
		hand_tracking.left: <none>
		hand_tracking.right: <none>
	Result: XRT_SUCCESS
DEBUG [comp_main_create_system_compositor] Doing init 0x55577a836aa0
 WARN [compositor_check_and_prepare_xdev] Had to fill in meshuv on xdev 'HTC Vive (libsurvive)', this should be done in the driver.
DEBUG [check_vulkan_caps] Checking for NVIDIA vulkan driver.
Warning: Could not find disambiguator state for HMD
...
Warning: Could not find disambiguator state for HMD
DEBUG [check_vulkan_caps] Selecting direct NVIDIA window type!
 INFO [compositor_init_window_pre_vulkan] Selected NVIDIA Direct-Mode backend!
DEBUG [vk_build_instance_extensions] Using optional instance ext VK_EXT_swapchain_colorspace
DEBUG [should_skip_optional_instance_ext] Not skipping optional instance extension VK_EXT_display_surface_counter because VK_KHR_display is enabled
DEBUG [vk_build_instance_extensions] Using optional instance ext VK_EXT_display_surface_counter
Warning: Could not find disambiguator state for HMD
DEBUG [select_physical_device] Choosing Vulkan device index
DEBUG [select_physical_device] Available GPUs
DEBUG [vk_print_device_info] GPU index 0
	name: NVIDIA GeForce GTX 1650
	vendor: 0x10de
	product: 0x1f9d
	deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	apiVersion: 1.4.312
	driverVersion: 0x911dc080
DEBUG [vk_print_device_info] GPU index 1
	name: AMD Radeon Graphics (RADV RENOIR)
	vendor: 0x1002
	product: 0x1638
	deviceType: VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	apiVersion: 1.4.318
	driverVersion: 0x06402006
DEBUG [vk_print_device_info] GPU index 2
	name: llvmpipe (LLVM 21.1.7, 256 bits)
	vendor: 0x10005
	product: 0x0000
	deviceType: VK_PHYSICAL_DEVICE_TYPE_CPU
	apiVersion: 1.4.318
	driverVersion: 0x06402006
DEBUG [vk_print_device_info] Selected GPU: 0
	name: NVIDIA GeForce GTX 1650
	vendor: 0x10de
	product: 0x1f9d
	deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	apiVersion: 1.4.312
	driverVersion: 0x911dc080
DEBUG [build_device_extensions] Using required device ext VK_KHR_swapchain
DEBUG [build_device_extensions] Using required device ext VK_KHR_dedicated_allocation
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_fence
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_memory
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_semaphore
DEBUG [build_device_extensions] Using required device ext VK_KHR_get_memory_requirements2
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_memory_fd
DEBUG [build_device_extensions] NOT using optional device ext VK_GOOGLE_display_timing
DEBUG [build_device_extensions] Using optional device ext VK_EXT_global_priority
DEBUG [build_device_extensions] Using optional device ext VK_KHR_external_semaphore_fd
DEBUG [build_device_extensions] Using optional device ext VK_KHR_external_fence_fd
DEBUG [build_device_extensions] Using optional device ext VK_KHR_format_feature_flags2
DEBUG [build_device_extensions] Using optional device ext VK_KHR_global_priority
DEBUG [build_device_extensions] Using optional device ext VK_KHR_image_format_list
DEBUG [build_device_extensions] Using optional device ext VK_KHR_maintenance1
DEBUG [build_device_extensions] Using optional device ext VK_KHR_maintenance2
DEBUG [build_device_extensions] Using optional device ext VK_KHR_timeline_semaphore
DEBUG [build_device_extensions] Using optional device ext VK_EXT_calibrated_timestamps
DEBUG [build_device_extensions] Using optional device ext VK_EXT_robustness2
DEBUG [should_skip_optional_device_ext] Not skipping optional instance extension VK_EXT_display_control because VK_EXT_display_surface_counter instance ext is enabled
DEBUG [build_device_extensions] Using optional device ext VK_EXT_display_control
DEBUG [build_device_extensions] Using optional device ext VK_KHR_synchronization2
DEBUG [filter_device_features] Features:
	null_descriptor: 0
	shader_image_gather_extended: 1
	shader_storage_image_write_without_format: 1
	timeline_semaphore: 1
	synchronization_2: 1
 INFO [create_device] Created device and GRAPHICS queue with QUEUE_GLOBAL_PRIORITY_REALTIME.
 INFO [vk_print_device_info] Device info:
	name: NVIDIA GeForce GTX 1650
	vendor: 0x10de
	product: 0x1f9d
	deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	apiVersion: 1.4.312
	driverVersion: 0x911dc080
 INFO [vk_print_features_info] Features:
	timestamp_compute_and_graphics: true
	timestamp_period: 1.000000
	timestamp_valid_bits: 64
	timeline_semaphore: true
 INFO [vk_print_external_handles_info] Supported images:
	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
		color import=true export=true
		depth import=true export=true
 INFO [vk_print_external_handles_info] Supported fences:
	VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT: true
	VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT: true
 INFO [vk_print_external_handles_info] Supported semaphores:
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT(binary): true
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT(binary): true
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT(timeline): false
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT(timeline): true
DEBUG [fill_in_results] Selected 0 with uuid: b5 f7 0f b3 5b a7 41 d5 0a 2d 55 24 b1 8e c1 40 
DEBUG [fill_in_results] Suggest 0 with uuid: b5 f7 0f b3 5b a7 41 d5 0a 2d 55 24 b1 8e c1 40 to clients
DEBUG [render_shaders_load] Shaders loaded!
Warning: Could not find disambiguator state for HMD
 INFO [comp_target_swapchain_override_extents] Target 'direct' overrides compositor extents with (2160x1200) was (0x0 false)
DEBUG [compositor_try_window] Target backend direct initialized!
DEBUG [comp_window_direct_nvidia_init_swapchain] Will use display: HTC Corporation HTC-VIVE (HDMI-0)
Warning: Could not find disambiguator state for HMD
DEBUG [get_primary_display_mode] Found 8 modes
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 0: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 1: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 2: 640x480@59.94
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 3: 720x480@59.94
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 4: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 5: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 6: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 7: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Auto choosing Vk direct mode 0: 2160x1200@89.53
DEBUG [get_primary_display_mode] found display mode 2160x1200@89.53
DEBUG [get_primary_display_mode] Updating compositor settings nominal frame interval from 11111111 (90.000001 Hz) to 11169814 (89.527000 Hz)
 INFO [vk_print_display_surface_create_info] VkDisplaySurfaceCreateInfoKHR:
	flags:
	displayMode: 0x55577aa7a520
	planeIndex: 0
	planeStackIndex: 0
	transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	planeIndex: 1.000000
	alphaMode: VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR
	imageExtent: {2160, 1200}
DEBUG [renderer_ensure_images_and_renderings] Creating images and renderings (force_recreate: false).
DEBUG [find_surface_format] VkSurfaceFormatKHR
	picked: [format = VK_FORMAT_A8B8G8R8_SRGB_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
	preferred: [format = VK_FORMAT_B8G8R8A8_SRGB, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
 INFO [vk_print_surface_info] VkSurfaceKHR info:
	caps.minImageCount: 2
	caps.maxImageCount: 8
	caps.currentExtent: 2160x1200
	caps.minImageExtent: 2160x1200
	caps.maxImageExtent: 2160x1200
	caps.maxImageArrayLayers: 1
	caps.supportedTransforms:
		VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	caps.currentTransform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	caps.supportedCompositeAlpha:
		VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
	caps.supportedUsageFlags:
		VK_IMAGE_USAGE_TRANSFER_SRC_BIT
		VK_IMAGE_USAGE_TRANSFER_DST_BIT
		VK_IMAGE_USAGE_SAMPLED_BIT
		VK_IMAGE_USAGE_STORAGE_BIT
		VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
		VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
	present_modes(5):
		VK_PRESENT_MODE_FIFO_KHR
		VK_PRESENT_MODE_IMMEDIATE_KHR
		UNKNOWN MODE
		VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
		VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
	formats(5):
		[format = VK_FORMAT_A8B8G8R8_UNORM_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_A8B8G8R8_SRGB_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_A2B10G10R10_UNORM_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_A1R5G5B5_UNORM_PACK16, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_B8G8R8A8_UNORM, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
 INFO [vk_print_swapchain_create_info] VkSwapchainCreateInfoKHR:
	surface: 0x55577b054be0
	minImageCount: 2
	imageFormat: VK_FORMAT_A8B8G8R8_SRGB_PACK32
	imageColorSpace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
	imageExtent: {2160, 1200}
	imageArrayLayers: 1
	imageUsage:
		VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
	imageSharingMode: VK_SHARING_MODE_EXCLUSIVE
	queueFamilyIndexCount: 0
	preTransform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	compositeAlpha: VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
	presentMode: VK_PRESENT_MODE_FIFO_KHR
	clipped: VK_TRUE
	oldSwapchain: (nil)
DEBUG [check_surface_counter_caps] Supported surface counter flags: 1
DEBUG [create_vblank_event_thread] Started vblank (first pixel out) event thread.
 INFO [comp_target_swapchain_create_images] Started vblank event thread!
DEBUG [run_vblank_event_thread] Surface thread starting
DEBUG [renderer_create_renderings_and_fences] Allocating 2 Command Buffers.
DEBUG [comp_main_create_system_compositor] Done 0x55577a836aa0
DEBUG [is_format_supported] Format 'VK_FORMAT_R16G16B16_UNORM' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_R16G16B16_SFLOAT' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_R8G8B8_SRGB' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_R8G8B8_UNORM' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_B8G8R8_UNORM' cannot be sampled from in optimal layout!
 INFO [comp_vulkan_formats_log] Supported formats:
	VK_FORMAT_R16G16B16A16_UNORM: true
	VK_FORMAT_R16G16B16A16_SFLOAT: true
	VK_FORMAT_R16G16B16_UNORM: false
	VK_FORMAT_R16G16B16_SFLOAT: false
	VK_FORMAT_R8G8B8A8_SRGB: true
	VK_FORMAT_B8G8R8A8_SRGB: true
	VK_FORMAT_R8G8B8_SRGB: false
	VK_FORMAT_R8G8B8A8_UNORM: true
	VK_FORMAT_B8G8R8A8_UNORM: true
	VK_FORMAT_R8G8B8_UNORM: false
	VK_FORMAT_B8G8R8_UNORM: false
	VK_FORMAT_R5G6B5_UNORM_PACK16: true
	VK_FORMAT_R32_SFLOAT: true
	VK_FORMAT_D32_SFLOAT: true
	VK_FORMAT_D16_UNORM: true
	VK_FORMAT_X8_D24_UNORM_PACK32: true
	VK_FORMAT_D24_UNORM_S8_UINT: true
	VK_FORMAT_D32_SFLOAT_S8_UINT: true
	VK_FORMAT_S8_UINT: true
 INFO [u_linux_try_to_set_realtime_priority_on_thread] Raised priority of thread 'Multi Client Module' to policy: 'SCHED_FIFO', priority: '99'
DEBUG [compositor_begin_session] BEGIN_SESSION
 INFO [print_linux_end_user_started_information] 
################################################################################
#                                                                              #
#                        The Monado service has started.                       #
#                                                                              #
################################################################################
Warning: Could not find disambiguator state for HMD
DEBUG [compositor_end_session] END_SESSION
Warning: Could not find disambiguator state for HMD
...
Warning: Could not find disambiguator state for HMD

(i’ve removed a lot of duplicate Warning: Could not find disambiguator state for HMD)

sudo -u vr DRI_PRIME=1 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia CAP_SYS_NICE=ep PATH=/run/current-system/sw/bin:$PATH simula

XDG_CACHE_HOME: /home/vr/.cache
XDG_DATA_HOME: /home/vr/.local/share
XDG_CONFIG_HOME: /home/vr/.config
SIMULA_NIX_DIR: /nix/store/cvd4ir7a5sfj4kmqjddldgl9srxd2ipz-simula-0.0.0
SIMULA_LOG_DIR: /home/vr/.cache/Simula
SIMULA_DATA_DIR: /home/vr/.local/share/Simula
SIMULA_CONFIG_DIR: /home/vr/.config/Simula
Godot Engine v3.4.beta.custom_build - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1650/PCIe/SSE2
OpenGL ES Batching: ON
ERROR: Condition "status < 0" is true. Returned: ERR_CANT_OPEN
   at: init_device (drivers/alsa/audio_driver_alsa.cpp:89)
WARNING: All audio drivers failed, falling back to the dummy driver.
     at: initialize (servers/audio_server.cpp:222)
 
ERROR: Method failed. Returning: nullptr
   at: bind_methodfi (core/class_db.cpp:1210)
Haskell GDNative initialized
Haskell NativeScript initialized
Registering class Simula with base Node
Registering method _ready to class Simula
Registering method _process to class Simula
Registering method on_button_signal to class Simula
Registering class SimulaController with base ARVRController
Registering method _process to class SimulaController
Registering method _physics_process to class SimulaController
Registering class SimulaServer with base Spatial
Registering method _ready to class SimulaServer
Registering method _input to class SimulaServer
Registering method _on_WaylandDisplay_ready to class SimulaServer
Registering method _on_WlrXdgShell_new_surface to class SimulaServer
Registering method _on_wlr_key to class SimulaServer
Registering method _on_wlr_modifiers to class SimulaServer
Registering method _on_WlrXWayland_new_surface to class SimulaServer
Registering method _physics_process to class SimulaServer
Registering method _process to class SimulaServer
Registering method _on_simula_shortcut to class SimulaServer
Registering method handle_wlr_compositor_new_surface to class SimulaServer
Registering method seat_request_cursor to class SimulaServer
Registering class SimulaViewSprite with base RigidBody
Registering method _input_event to class SimulaViewSprite
Registering method _ready to class SimulaViewSprite
Registering method _handle_destroy to class SimulaViewSprite
Registering method _handle_map to class SimulaViewSprite
Registering method _process to class SimulaViewSprite
Registering method handle_unmap to class SimulaViewSprite
Registering method handle_unmap_child to class SimulaViewSprite
Registering method handle_unmap_free_child to class SimulaViewSprite
Registering method handle_map_free_child to class SimulaViewSprite
Registering method handle_map_child to class SimulaViewSprite
Registering method handle_set_parent to class SimulaViewSprite
Registering method handle_new_popup to class SimulaViewSprite
Registering method handle_window_menu to class SimulaViewSprite
Registering method handle_wlr_surface_new_subsurface to class SimulaViewSprite
Registering method handle_wlr_surface_destroy to class SimulaViewSprite
Registering method handle_wlr_surface_commit to class SimulaViewSprite
Registering method handle_wlr_subsurface_destroy to class SimulaViewSprite
Registering signal map to class SimulaViewSprite
Registering signal map_free_child to class SimulaViewSprite
Registering class CanvasBase with base Node2D
Registering method _process to class CanvasBase
Registering method _draw to class CanvasBase
Registering method _ready to class CanvasBase
Registering class CanvasSurface with base Node2D
Registering method _process to class CanvasSurface
Registering method _draw to class CanvasSurface
Registering method _ready to class CanvasSurface
Registering class PancakeCamera with base Camera
Registering method _process to class PancakeCamera
Registering method _ready to class PancakeCamera
Registering class CanvasAR with base Node2D
Registering method _process to class CanvasAR
Registering method _draw to class CanvasAR
Registering method _ready to class CanvasAR
PROFILE = Nothing
SIMULA_CONFIG_DIR = Just "/home/vr/.config/Simula"
SIMULA_DATA_DIR = Just "/home/vr/.local/share/Simula"
Running Simula without RR
error: XDG_RUNTIME_DIR is invalid or not set in the environment
Running Wayland server on display simula-0
New DISPLAY=:2
ERROR: Condition "!signal_is_valid" is true. Returned: ERR_INVALID_PARAMETER
   at: connect (core/object.cpp:1462)
/bin/sh: line 1: xrdb: command not found
Launching app in location: center
/bin/sh: line 1: wmctrl: command not found
Launching app in location: right
Launching app in location: bottom
Launching app in location: left
Launching app in location: top
Launching default apps: ["launchTerminal","nullApp","nullApp","nullApp","nullApp"]
Attempting to run i3status from: i3status
Using config file: /home/vr/.config/Simula/HUD.config
Loading VR backend: OpenXR
ERROR [ipc_client_socket_connect] Failed to connect to socket /tmp/monado_comp_ipc: Connection refused!
ERROR [ipc_client_connection_init] Failed to connect to monado service process

###
#
# Please make sure that the service process is running
#
# It is called "monado-service"
# In build trees, it is located "build-dir/src/xrt/targets/service/monado-service"
#
###
XR_ERROR_RUNTIME_FAILURE in xrCreateInstance: Failed to create instance '-1'
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance chained CreateInstance call failed
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : xrCreateInstance failed
Error [GENERAL | xrResultToString | OpenXR-Loader] : No active XrInstance handle.
ERROR: OpenXR Failed to create XR instance. []
   at: xr_result (src/openxr/OpenXRApi.h:351)
Failed to initialize VR interface.
InitVRFailed
Project FPS: 1 (1000.0 mspf)
Project FPS: 131 (7.6 mspf)
Project FPS: 288 (3.4 mspf)
Project FPS: 288 (3.4 mspf)
Project FPS: 288 (3.4 mspf)
(WW) Option "-listen" for file descriptors is deprecated
Please use "-listenfd" instead.
(WW) Option "-listen" for file descriptors is deprecated
Please use "-listenfd" instead.
Project FPS: 288 (3.4 mspf)
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86OK
> Warning:          Could not resolve keysym XF86GoTo
> Warning:          Could not resolve keysym XF86VendorLogo
> Warning:          Could not resolve keysym XF86MediaSelectProgramGuide
> Warning:          Could not resolve keysym XF86MediaSelectProgramGuide
> Warning:          Could not resolve keysym XF86MediaSelectHome
> Warning:          Could not resolve keysym XF86MediaLanguageMenu
> Warning:          Could not resolve keysym XF86MediaTitleMenu
> Warning:          Could not resolve keysym XF86AudioChannelMode
> Warning:          Could not resolve keysym XF86MediaSelectPC
> Warning:          Could not resolve keysym XF86MediaSelectTV
> Warning:          Could not resolve keysym XF86MediaSelectCable
> Warning:          Could not resolve keysym XF86MediaSelectVCR
> Warning:          Could not resolve keysym XF86MediaSelectVCRPlus
> Warning:          Could not resolve keysym XF86MediaSelectSatellite
> Warning:          Could not resolve keysym XF86MediaSelectCD
> Warning:          Could not resolve keysym XF86MediaSelectTape
> Warning:          Could not resolve keysym XF86MediaSelectRadio
> Warning:          Could not resolve keysym XF86MediaSelectTuner
> Warning:          Could not resolve keysym XF86MediaPlayer
> Warning:          Could not resolve keysym XF86MediaSelectTeletext
> Warning:          Could not resolve keysym XF86MediaSelectAuxiliary
> Warning:          Could not resolve keysym XF86MediaPlaySlow
> Warning:          Could not resolve keysym XF86NumberEntryMode
> Warning:          Could not resolve keysym XF86RefreshRateToggle
> Warning:          Could not resolve keysym XF86Accessibility
> Warning:          Could not resolve keysym XF86DoNotDisturb
Errors from xkbcomp are not fatal to the X server
handle_wlr_compositor_new_surface
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported maximum keycode 708, clipping.
>                   X11 cannot support keycodes above 255.
> Warning:          Virtual modifier Hyper multiply defined
>                   Using 0, ignoring 0
> Warning:          Virtual modifier ScrollLock multiply defined
>                   Using 0, ignoring 0
> Warning:          Could not resolve keysym XF86OK
> Warning:          Could not resolve keysym XF86GoTo
> Warning:          Could not resolve keysym XF86VendorLogo
> Warning:          Could not resolve keysym XF86MediaSelectProgramGuide
> Warning:          Could not resolve keysym XF86MediaSelectProgramGuide
> Warning:          Could not resolve keysym XF86MediaSelectHome
> Warning:          Could not resolve keysym XF86MediaLanguageMenu
> Warning:          Could not resolve keysym XF86MediaTitleMenu
> Warning:          Could not resolve keysym XF86AudioChannelMode
> Warning:          Could not resolve keysym XF86MediaSelectPC
> Warning:          Could not resolve keysym XF86MediaSelectTV
> Warning:          Could not resolve keysym XF86MediaSelectCable
> Warning:          Could not resolve keysym XF86MediaSelectVCR
> Warning:          Could not resolve keysym XF86MediaSelectVCRPlus
> Warning:          Could not resolve keysym XF86MediaSelectSatellite
> Warning:          Could not resolve keysym XF86MediaSelectTape
> Warning:          Could not resolve keysym XF86MediaSelectRadio
> Warning:          Could not resolve keysym XF86MediaSelectTuner
> Warning:          Could not resolve keysym XF86MediaPlayer
> Warning:          Could not resolve keysym XF86MediaSelectTeletext
> Warning:          Could not resolve keysym XF86MediaSelectAuxiliary
> Warning:          Could not resolve keysym XF86MediaPlaySlow
> Warning:          Could not resolve keysym XF86NumberEntryMode
> Warning:          Could not resolve keysym XF86RefreshRateToggle
> Warning:          Could not resolve keysym XF86Accessibility
> Warning:          Could not resolve keysym XF86DoNotDisturb
Errors from xkbcomp are not fatal to the X server
Project FPS: 288 (3.4 mspf)
Project FPS: 288 (3.4 mspf)
Project FPS: 286 (3.4 mspf)
SimulaViewSprite()
setShader: res://addons/godot-haskell-plugin/TextShaderOpaque.tres
SimulaViewSprite()
setShader: res://addons/godot-haskell-plugin/TextShaderOpaque.tres
Project FPS: 249 (4.0 mspf)

(xfce4-terminal:4093): xfce4-terminal-WARNING **: 04:59:04.633: Failed to connect to session manager: Failed to connect to the session manager: SESSION_MANAGER environment variable not defined
Project FPS: 288 (3.4 mspf)
SimulaViewSprite()
setShader: res://addons/godot-haskell-plugin/TextShaderOpaque.tres
SimulaViewSprite()
setShader: res://addons/godot-haskell-plugin/TextShaderOpaque.tres
handle_wlr_compositor_new_surface
_handle_map
Mapping surface 0x0000000026788270
ERROR: Condition "p_child->data.parent" is true.
   at: add_child (scene/main/node.cpp:1131)
ERROR: Condition "p_child->data.parent" is true.
   at: add_child (scene/main/node.cpp:1131)
Project FPS: 177 (5.6 mspf)
Project FPS: 288 (3.4 mspf)
Mouse event button: 1
modifiers: 0
Mouse event button: 1
modifiers: 0
Project FPS: 277 (3.6 mspf)
modifiers: 0
modifiers: 33554432
modifiers: 167772160
action detected
Terminating Simula..
_handle_destroy
handle_unmap
handle_unmap_base
handle_unmap_base: normal child path
ERROR: Condition "data.blocked > 0" is true.
   at: remove_child (scene/main/node.cpp:1183)
_handle_destroy
_handle_destroy
_handle_destroy
(EE) failed to write to Xwayland fd: Broken pipe
godot: ../src/state.c:894: xkb_state_unref: Assertion `!state || state->refcnt > 0' failed.

(I closed it with Super+Shift+Esc after I confirmed it was “working” in the laptop only)

Also, Monado only starts successfully once per login…

If I try to start Monado without the things suggested by Copilot, I get this:

simula-monado-service

XDG_CACHE_HOME: /home/vr/.cache
XDG_DATA_HOME: /home/vr/.local/share
XDG_CONFIG_HOME: /home/vr/.config
SIMULA_NIX_DIR: /nix/store/cvd4ir7a5sfj4kmqjddldgl9srxd2ipz-simula-0.0.0
SIMULA_LOG_DIR: /home/vr/.cache/Simula
SIMULA_DATA_DIR: /home/vr/.local/share/Simula
SIMULA_CONFIG_DIR: /home/vr/.config/Simula
 INFO [ipc_server_main] Monado(XRT) by Collabora et al 'GIT-NOTFOUND' starting up...
ERROR [svr_estimate_system] Failed to detect Simula One display via edid
Warning: Cannot open device "BRD" with vid/pid 0bb4:2c87 error -3 (LIBUSB_ERROR_ACCESS)
Warning: Cannot open device "BRD" with vid/pid 0bb4:2c87 error -3 (LIBUSB_ERROR_ACCESS)
Info: Loaded drivers: GlobalSceneSolver, HTCVive
ERROR [lighthouse_open_system_impl] Unable to find HMD
 INFO [p_create_system] Creating system:
	Builders:
		qwerty: Qwerty devices builder
		remote: Remote simulation devices builder
		simulated: Simulated devices builder
		rift_s: Oculus Rift S
		rgb_tracking: RGB tracking based devices (PSVR, PSMV, ...)
		simula: SimulaVR headset
		steamvr: SteamVR proprietary wrapper (Vive, Index, Tundra trackers, etc.) devices builder
		lighthouse: Lighthouse-tracked FLOSS (Vive, Index, Tundra trackers, etc.) devices builder
		north_star: North Star headset
		wmr: Windows Mixed Reality
		xreal_air: Xreal Air
		legacy: Legacy probing system
	No builder selected in config (or wasn't compiled in)
	Selected lighthouse because it was certain it could create a head
	Using builder lighthouse: Lighthouse-tracked FLOSS (Vive, Index, Tundra trackers, etc.) devices builder
	Result: XRT_ERROR_DEVICE_CREATION_FAILED
ERROR [init_all] Could not create system!
 INFO [print_linux_end_user_failed_information] 
################################################################################
#                                                                              #
#                  The Monado service has failed to start.                     #
#                                                                              #
# If you want to report please upload the logs of the service as a text file.  #
# You can also capture the output the monado-cli info command to provide more  #
# information about your system, that will help diagnosing your problem. The   #
# below commands is how you best capture the information from the commands.    #
#                                                                              #
#     monado-cli info 2>&1 | tee info.txt                                      #
#     monado-service 2>&1 | tee logs.txt                                       #
#                                                                              #
################################################################################
Info: Adding tracked object HMD from HTC
 WARN [_process_event] Device added event, but hotplugging not implemented yet
Info: Device HMD has watchman FW version 1462663157 and FPGA version 262/0/0; named '                  steamservices'. Hardware id 0x80020100 Board rev: 128 (len 56)
Info: HMD is treated as HMD device
 WARN [_process_event] Device added event, but hotplugging not implemented yet
Info: USB lightcap report is of an unexpected type for HMD: 33 (0x21)
Info: Detected LH gen 1 system.
 WARN [_process_event] Device added event, but hotplugging not implemented yet
Warning: Could not find disambiguator state for HMD
ERROR [_process_event] Event for unknown object not handled
Warning: Could not find disambiguator state for HMD
Warning: Could not find disambiguator state for HMD
Warning: Could not find disambiguator state for HMD
Warning: Could not find disambiguator state for HMD

I got to the point where Copilot started suggesting me to

  1. Edit ~/.config/monado/config_v0.toml to disable direct mode and etc.
  2. Create udev rules to force Monado to use X11
  3. Suggested to use WiVRn as an alternative OpenXR Runtime
  4. Using the AMD integrated graphics card instead of the nVidia GPU
  5. Using an LLVMpipe software renderer
  6. “Creating a custom Vulkan ICD that combines both drivers”
  7. Check for existing issues…

Now I strongly suspect that I shouldn’t be messing with such low-level stuff and that the solution is likely a lot simpler.

Here’s my NixOS configuration:

{ config, pkgs, ... }:

{
  imports = [ ./hardware-configuration.nix ];

  # Boot configuration
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  # Enable experimental features for SimulaVR
  nix.settings.experimental-features = [ "nix-command" "flakes" ];

  # Networking
  networking.hostName = "simulavr-nixos";
  networking.networkmanager.enable = true;

  # Enable NVIDIA drivers with Wayland support
  services.xserver.videoDrivers = [ "nvidia" ];
  hardware.nvidia = {
    modesetting.enable = true;
    powerManagement.enable = false;
    powerManagement.finegrained = false;
    open = false; # Use proprietary driver for better VR support
    nvidiaSettings = true;
    package = config.boot.kernelPackages.nvidiaPackages.stable;
  };

  # Enable Wayland and VR-related services
  services.xserver = {
    enable = true;
    displayManager.gdm.enable = true;
    displayManager.gdm.wayland = true;
    desktopManager.gnome.enable = true;
    xkb = {
      layout = "br";
      variant = "abnt2";
    };
  };

  # Also add console keyboard
  console = {
    keyMap = "br-abnt2";
  };

  # Enable internationalization
  i18n = {
    defaultLocale = "en_US.UTF-8";
    extraLocaleSettings = {
      LC_TIME = "pt_BR.UTF8";
    };
  };

  # Enable Vulkan
  hardware.opengl = {
    enable = true;
  };

  # VR and USB permissions
  hardware.steam-hardware.enable = true;
  services.udev.extraRules = ''
    # HTC Vive USB devices
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0664", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0664", GROUP="plugdev"
    # Lighthouse base stations
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fcf", MODE="0664", GROUP="plugdev"

    KERNEL=="hidraw*", ATTRS{idVendor}=="0bb4", MODE="0664", GROUP="plugdev"
  '';

  # Audio for VR
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
  };

  # Users
  users.users.vr = {
    isNormalUser = true;
    description = "VR User";
    extraGroups = [ "networkmanager" "wheel" "plugdev" "audio" "video" "render" "input" ];
  };

  # SimulaVR and VR packages
  environment.systemPackages = with pkgs; [
    # VR essentials
    vulkan-tools
    vulkan-loader
    vulkan-validation-layers
    
    # System utilities
    nano
    git
    wget
    htop
    pciutils
    linuxPackages.nvidia_x11
    usbutils
    xorg.xrdb
    wmctrl
    i3status
    alacritty
    firefox
    xorg.xhost
    
    # Development tools (in case you need them)
    gcc
    pkg-config

    google-chrome
  ];

  # Enable flakes and allow unfree (for NVIDIA drivers)
  nixpkgs.config.allowUnfree = true;

  # System state version
  system.stateVersion = "23.11";

  security.wrappers = {
    "simula-monado-service" = {
      source = "/home/vr/.nix-profile/bin/simula-monado-service";
      capabilities = "cap_sys_nice+ep";
      owner = "root";
      group = "root";
    };
  };

}

and the mentioned import:

# Do not modify this file!  It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations.  Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:

{
  imports =
    [ (modulesPath + "/installer/scan/not-detected.nix")
    ];

  boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "uas" "sd_mod" ];
  boot.initrd.kernelModules = [ ];
  boot.kernelModules = [ "kvm-amd" ];
  boot.extraModulePackages = [ ];

  fileSystems."/" =
    { device = "/dev/disk/by-uuid/7f49efe8-d667-473e-8f73-d6f10a76733c";
      fsType = "ext4";
    };

  fileSystems."/boot" =
    { device = "/dev/disk/by-uuid/5F71-EC96";
      fsType = "vfat";
      options = [ "fmask=0022" "dmask=0022" ];
    };

  swapDevices = [ ];

  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

Update: I messed around some more with Copilot. Still no success, but now I can start Monado without extra parameters. I had to change my configuration.nix to this in order to allow that:

{ config, pkgs, ... }:

{
  imports = [ ./hardware-configuration.nix ];

  # Boot configuration
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  # Enable experimental features for SimulaVR
  nix.settings.experimental-features = [ "nix-command" "flakes" ];

  # Networking
  networking.hostName = "simulavr-nixos";
  networking.networkmanager.enable = true;

  # Enable NVIDIA drivers with Wayland support
  services.xserver.videoDrivers = [ "nvidia" ];
  hardware.nvidia = {
    modesetting.enable = true;
    powerManagement.enable = false;
    powerManagement.finegrained = false;
    open = false; # Use proprietary driver for better VR support
    nvidiaSettings = true;
    package = config.boot.kernelPackages.nvidiaPackages.stable;
  };

  # Consolidated graphics configuration
  hardware.graphics = {
    enable = true;
    enable32Bit = true;
    extraPackages = with pkgs; [
      # Mesa/RADV with full Vulkan support
      mesa
      mesa.drivers
      
      # Additional Vulkan packages for VR extensions
      vulkan-loader
      vulkan-validation-layers
      vulkan-extension-layer
      vulkan-headers
      vulkan-tools
      
      # AMD specific packages
      libdrm
      
      # Additional Mesa packages for comprehensive support
      mesa_glu
      freeglut
      
      # Wayland support
      wayland
      wayland-protocols
    ];
    extraPackages32 = with pkgs.pkgsi686Linux; [
      mesa
      vulkan-loader
    ];
  };

  # Enable Wayland and VR-related services
  services.xserver = {
    enable = true;
    displayManager.gdm.enable = true;
    displayManager.gdm.wayland = true;
    desktopManager.gnome.enable = true;
    xkb = {
      layout = "br";
      variant = "abnt2";
    };
  };

  # Also add console keyboard
  console = {
    keyMap = "br-abnt2";
  };

  # Enable internationalization
  i18n = {
    defaultLocale = "en_US.UTF-8";
    extraLocaleSettings = {
      LC_TIME = "pt_BR.UTF8";
    };
  };

  # VR and USB permissions
  hardware.steam-hardware.enable = true;
  services.udev.extraRules = ''
    # HTC Vive USB devices
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0664", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0664", GROUP="plugdev"
    # Lighthouse base stations
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fcf", MODE="0664", GROUP="plugdev"

    KERNEL=="hidraw*", ATTRS{idVendor}=="0bb4", MODE="0664", GROUP="plugdev"

    SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="seat", ENV{ID_SEAT}="seat0"
    SUBSYSTEM=="drm", KERNEL=="controlD[0-9]*", TAG+="uaccess"  
    ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", ENV{VR_DIRECT_MODE}="false"
  
    # Force HTC Vive to use windowed mode
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", ENV{XRT_COMPOSITOR_FORCE_WINDOWED}="1"
  '';

  # Audio for VR
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
  };

  # Users
  users.users.vr = {
    isNormalUser = true;
    description = "VR User";
    extraGroups = [ "networkmanager" "wheel" "plugdev" "audio" "video" "render" "input" ];
  };

  # SimulaVR and VR packages
  environment.systemPackages = with pkgs; [
    # VR essentials
    vulkan-tools
    vulkan-loader
    vulkan-validation-layers
    
    # System utilities
    nano
    git
    wget
    htop
    pciutils
    linuxPackages.nvidia_x11
    usbutils
    xorg.xrdb
    wmctrl
    i3status
    alacritty
    firefox
    xorg.xhost
    
    # Development tools (in case you need them)
    gcc
    pkg-config

    google-chrome
  ];

  # Enable flakes and allow unfree (for NVIDIA drivers)
  nixpkgs.config.allowUnfree = true;

  # System state version
  system.stateVersion = "23.11";

  security.wrappers = {
    "simula-monado-service" = {
      source = "/home/vr/.nix-profile/bin/simula-monado-service";
      capabilities = "cap_sys_nice+ep";
      owner = "root";
      group = "root";
    };
  };
}

and here’s the updated output of simula-monado-service:

XDG_CACHE_HOME: /home/vr/.cache
XDG_DATA_HOME: /home/vr/.local/share
XDG_CONFIG_HOME: /home/vr/.config
SIMULA_NIX_DIR: /nix/store/cvd4ir7a5sfj4kmqjddldgl9srxd2ipz-simula-0.0.0
SIMULA_LOG_DIR: /home/vr/.cache/Simula
SIMULA_DATA_DIR: /home/vr/.local/share/Simula
SIMULA_CONFIG_DIR: /home/vr/.config/Simula
 INFO [ipc_server_main] Monado(XRT) by Collabora et al 'GIT-NOTFOUND' starting up...
ERROR [svr_estimate_system] Failed to detect Simula One display via edid
Warning: Cannot open device "BRD" with vid/pid 0bb4:2c87 error -3 (LIBUSB_ERROR_ACCESS)
Warning: Cannot open device "BRD" with vid/pid 0bb4:2c87 error -3 (LIBUSB_ERROR_ACCESS)
Info: Loaded drivers: GlobalSceneSolver, HTCVive
Info: Adding tracked object HMD from HTC
Info: Device HMD has watchman FW version 1462663157 and FPGA version 262/0/0; named '                  steamservices'. Hardware id 0x80020100 Board rev: 128 (len 56)
Info: HMD is treated as HMD device
Info: Detected LH gen 1 system.
Info: Locked onto state  4( 7,   800049) at   3375373428 for HMD
Info: OOTX not set for LH 1; attaching ootx decoder using device HMD
ERROR [opengloves_load_config_file] Failed to load config file
 INFO [p_create_system] Creating system:
	Builders:
		qwerty: Qwerty devices builder
		remote: Remote simulation devices builder
		simulated: Simulated devices builder
		rift_s: Oculus Rift S
		rgb_tracking: RGB tracking based devices (PSVR, PSMV, ...)
		simula: SimulaVR headset
		steamvr: SteamVR proprietary wrapper (Vive, Index, Tundra trackers, etc.) devices builder
		lighthouse: Lighthouse-tracked FLOSS (Vive, Index, Tundra trackers, etc.) devices builder
		north_star: North Star headset
		wmr: Windows Mixed Reality
		xreal_air: Xreal Air
		legacy: Legacy probing system
	No builder selected in config (or wasn't compiled in)
	Selected lighthouse because it was certain it could create a head
	Using builder lighthouse: Lighthouse-tracked FLOSS (Vive, Index, Tundra trackers, etc.) devices builder
	Got devices:
		0: HTC Vive (libsurvive)
	In roles:
		head: HTC Vive (libsurvive), view count: 2
		eyes: <none>
		face: <none>
		left: <none>
		right: <none>
		gamepad: <none>
		hand_tracking.left: <none>
		hand_tracking.right: <none>
	Result: XRT_SUCCESS
DEBUG [comp_main_create_system_compositor] Doing init 0x56050e5545f0
 WARN [compositor_check_and_prepare_xdev] Had to fill in meshuv on xdev 'HTC Vive (libsurvive)', this should be done in the driver.
DEBUG [check_vulkan_caps] Checking for NVIDIA vulkan driver.
DEBUG [check_vulkan_caps] Selecting direct NVIDIA window type!
 INFO [compositor_init_window_pre_vulkan] Selected NVIDIA Direct-Mode backend!
DEBUG [vk_build_instance_extensions] Using optional instance ext VK_EXT_swapchain_colorspace
DEBUG [should_skip_optional_instance_ext] Not skipping optional instance extension VK_EXT_display_surface_counter because VK_KHR_display is enabled
DEBUG [vk_build_instance_extensions] Using optional instance ext VK_EXT_display_surface_counter
DEBUG [select_physical_device] Choosing Vulkan device index
DEBUG [select_physical_device] Available GPUs
DEBUG [vk_print_device_info] GPU index 0
	name: NVIDIA GeForce GTX 1650
	vendor: 0x10de
	product: 0x1f9d
	deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	apiVersion: 1.4.312
	driverVersion: 0x911dc080
DEBUG [vk_print_device_info] GPU index 1
	name: AMD Radeon Graphics (RADV RENOIR)
	vendor: 0x1002
	product: 0x1638
	deviceType: VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	apiVersion: 1.4.318
	driverVersion: 0x06402006
DEBUG [vk_print_device_info] GPU index 2
	name: llvmpipe (LLVM 21.1.7, 256 bits)
	vendor: 0x10005
	product: 0x0000
	deviceType: VK_PHYSICAL_DEVICE_TYPE_CPU
	apiVersion: 1.4.318
	driverVersion: 0x06402006
DEBUG [vk_print_device_info] Selected GPU: 0
	name: NVIDIA GeForce GTX 1650
	vendor: 0x10de
	product: 0x1f9d
	deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	apiVersion: 1.4.312
	driverVersion: 0x911dc080
DEBUG [build_device_extensions] Using required device ext VK_KHR_swapchain
DEBUG [build_device_extensions] Using required device ext VK_KHR_dedicated_allocation
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_fence
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_memory
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_semaphore
DEBUG [build_device_extensions] Using required device ext VK_KHR_get_memory_requirements2
DEBUG [build_device_extensions] Using required device ext VK_KHR_external_memory_fd
DEBUG [build_device_extensions] NOT using optional device ext VK_GOOGLE_display_timing
DEBUG [build_device_extensions] Using optional device ext VK_EXT_global_priority
DEBUG [build_device_extensions] Using optional device ext VK_KHR_external_semaphore_fd
DEBUG [build_device_extensions] Using optional device ext VK_KHR_external_fence_fd
DEBUG [build_device_extensions] Using optional device ext VK_KHR_format_feature_flags2
DEBUG [build_device_extensions] Using optional device ext VK_KHR_global_priority
DEBUG [build_device_extensions] Using optional device ext VK_KHR_image_format_list
DEBUG [build_device_extensions] Using optional device ext VK_KHR_maintenance1
DEBUG [build_device_extensions] Using optional device ext VK_KHR_maintenance2
DEBUG [build_device_extensions] Using optional device ext VK_KHR_timeline_semaphore
DEBUG [build_device_extensions] Using optional device ext VK_EXT_calibrated_timestamps
DEBUG [build_device_extensions] Using optional device ext VK_EXT_robustness2
DEBUG [should_skip_optional_device_ext] Not skipping optional instance extension VK_EXT_display_control because VK_EXT_display_surface_counter instance ext is enabled
DEBUG [build_device_extensions] Using optional device ext VK_EXT_display_control
DEBUG [build_device_extensions] Using optional device ext VK_KHR_synchronization2
DEBUG [filter_device_features] Features:
	null_descriptor: 0
	shader_image_gather_extended: 1
	shader_storage_image_write_without_format: 1
	timeline_semaphore: 1
	synchronization_2: 1
 INFO [create_device] Created device and GRAPHICS queue with QUEUE_GLOBAL_PRIORITY_REALTIME.
 INFO [vk_print_device_info] Device info:
	name: NVIDIA GeForce GTX 1650
	vendor: 0x10de
	product: 0x1f9d
	deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	apiVersion: 1.4.312
	driverVersion: 0x911dc080
 INFO [vk_print_features_info] Features:
	timestamp_compute_and_graphics: true
	timestamp_period: 1.000000
	timestamp_valid_bits: 64
	timeline_semaphore: true
 INFO [vk_print_external_handles_info] Supported images:
	VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
		color import=true export=true
		depth import=true export=true
 INFO [vk_print_external_handles_info] Supported fences:
	VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT: true
	VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT: true
 INFO [vk_print_external_handles_info] Supported semaphores:
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT(binary): true
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT(binary): true
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT(timeline): false
	VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT(timeline): true
DEBUG [fill_in_results] Selected 0 with uuid: b5 f7 0f b3 5b a7 41 d5 0a 2d 55 24 b1 8e c1 40 
DEBUG [fill_in_results] Suggest 0 with uuid: b5 f7 0f b3 5b a7 41 d5 0a 2d 55 24 b1 8e c1 40 to clients
DEBUG [render_shaders_load] Shaders loaded!
 INFO [comp_target_swapchain_override_extents] Target 'direct' overrides compositor extents with (2160x1200) was (0x0 false)
DEBUG [compositor_try_window] Target backend direct initialized!
DEBUG [comp_window_direct_nvidia_init_swapchain] Will use display: HTC Corporation HTC-VIVE (HDMI-0)
DEBUG [get_primary_display_mode] Found 8 modes
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 0: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 1: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 2: 640x480@59.94
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 3: 720x480@59.94
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 4: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 5: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 6: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Available Vk direct mode 7: 2160x1200@89.53
DEBUG [choose_best_vk_mode_auto] Auto choosing Vk direct mode 0: 2160x1200@89.53
DEBUG [get_primary_display_mode] found display mode 2160x1200@89.53
DEBUG [get_primary_display_mode] Updating compositor settings nominal frame interval from 11111111 (90.000001 Hz) to 11169814 (89.527000 Hz)
 INFO [vk_print_display_surface_create_info] VkDisplaySurfaceCreateInfoKHR:
	flags:
	displayMode: 0x56050e774450
	planeIndex: 0
	planeStackIndex: 0
	transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	planeIndex: 1.000000
	alphaMode: VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR
	imageExtent: {2160, 1200}
DEBUG [renderer_ensure_images_and_renderings] Creating images and renderings (force_recreate: false).
DEBUG [find_surface_format] VkSurfaceFormatKHR
	picked: [format = VK_FORMAT_A8B8G8R8_SRGB_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
	preferred: [format = VK_FORMAT_B8G8R8A8_SRGB, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
 INFO [vk_print_surface_info] VkSurfaceKHR info:
	caps.minImageCount: 2
	caps.maxImageCount: 8
	caps.currentExtent: 2160x1200
	caps.minImageExtent: 2160x1200
	caps.maxImageExtent: 2160x1200
	caps.maxImageArrayLayers: 1
	caps.supportedTransforms:
		VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	caps.currentTransform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	caps.supportedCompositeAlpha:
		VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
	caps.supportedUsageFlags:
		VK_IMAGE_USAGE_TRANSFER_SRC_BIT
		VK_IMAGE_USAGE_TRANSFER_DST_BIT
		VK_IMAGE_USAGE_SAMPLED_BIT
		VK_IMAGE_USAGE_STORAGE_BIT
		VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
		VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
	present_modes(5):
		VK_PRESENT_MODE_FIFO_KHR
		VK_PRESENT_MODE_IMMEDIATE_KHR
		UNKNOWN MODE
		VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
		VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
	formats(5):
		[format = VK_FORMAT_A8B8G8R8_UNORM_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_A8B8G8R8_SRGB_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_A2B10G10R10_UNORM_PACK32, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_A1R5G5B5_UNORM_PACK16, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
		[format = VK_FORMAT_B8G8R8A8_UNORM, colorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR]
 INFO [vk_print_swapchain_create_info] VkSwapchainCreateInfoKHR:
	surface: 0x56050ee1c280
	minImageCount: 2
	imageFormat: VK_FORMAT_A8B8G8R8_SRGB_PACK32
	imageColorSpace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
	imageExtent: {2160, 1200}
	imageArrayLayers: 1
	imageUsage:
		VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
	imageSharingMode: VK_SHARING_MODE_EXCLUSIVE
	queueFamilyIndexCount: 0
	preTransform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	compositeAlpha: VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
	presentMode: VK_PRESENT_MODE_FIFO_KHR
	clipped: VK_TRUE
	oldSwapchain: (nil)
DEBUG [check_surface_counter_caps] Supported surface counter flags: 1
DEBUG [create_vblank_event_thread] Started vblank (first pixel out) event thread.
 INFO [comp_target_swapchain_create_images] Started vblank event thread!
DEBUG [run_vblank_event_thread] Surface thread starting
DEBUG [renderer_create_renderings_and_fences] Allocating 2 Command Buffers.
DEBUG [comp_main_create_system_compositor] Done 0x56050e5545f0
DEBUG [is_format_supported] Format 'VK_FORMAT_R16G16B16_UNORM' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_R16G16B16_SFLOAT' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_R8G8B8_SRGB' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_R8G8B8_UNORM' cannot be sampled from in optimal layout!
DEBUG [is_format_supported] Format 'VK_FORMAT_B8G8R8_UNORM' cannot be sampled from in optimal layout!
 INFO [comp_vulkan_formats_log] Supported formats:
	VK_FORMAT_R16G16B16A16_UNORM: true
	VK_FORMAT_R16G16B16A16_SFLOAT: true
	VK_FORMAT_R16G16B16_UNORM: false
	VK_FORMAT_R16G16B16_SFLOAT: false
	VK_FORMAT_R8G8B8A8_SRGB: true
	VK_FORMAT_B8G8R8A8_SRGB: true
	VK_FORMAT_R8G8B8_SRGB: false
	VK_FORMAT_R8G8B8A8_UNORM: true
	VK_FORMAT_B8G8R8A8_UNORM: true
	VK_FORMAT_R8G8B8_UNORM: false
	VK_FORMAT_B8G8R8_UNORM: false
	VK_FORMAT_R5G6B5_UNORM_PACK16: true
	VK_FORMAT_R32_SFLOAT: true
	VK_FORMAT_D32_SFLOAT: true
	VK_FORMAT_D16_UNORM: true
	VK_FORMAT_X8_D24_UNORM_PACK32: true
	VK_FORMAT_D24_UNORM_S8_UINT: true
	VK_FORMAT_D32_SFLOAT_S8_UINT: true
	VK_FORMAT_S8_UINT: true
 INFO [u_linux_try_to_set_realtime_priority_on_thread] Raised priority of thread 'Multi Client Module' to policy: 'SCHED_FIFO', priority: '99'
DEBUG [compositor_begin_session] BEGIN_SESSION
 INFO [print_linux_end_user_started_information] 
################################################################################
#                                                                              #
#                        The Monado service has started.                       #
#                                                                              #
################################################################################
DEBUG [compositor_end_session] END_SESSION

Also, I tested it on SteamVR on Windows. Works flawlessly.

So, please, how do I make this work?

Thanks in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions