Skip to content

Trying to make it work for days #234

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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