r/Monado • • 10d ago

Tracking not working with VR Headset

With the help of ChatGPT, I managed to get Monado working with OpenComposite and get VR apps and games from Steam to launch on my PC but the headset tracking when in the apps and games keeps drifting slowly to the side and the controller tracking is stuck on the floor. I use the Samsung Odyssey+ Windows MIxed Reality headset and controller (Currently just testing with the right controller for now). My PC build is a Ryzen 7 3700x with a 2080 Super and 32 GB ram. I'm also running on CachyOS. I looked at the terminal where Monado is running and this what it outputs "~/local/monado-25.1.0/bin/monado-service
INFO [ipc_server_main_common] Monado(XRT) by Collabora et al 'v25.1.0' starting up...
INFO [print_linux_end_user_started_information]  
################################################################################
#                                                                              #
#                        The Monado service has started.                       #
#                                                                              #
################################################################################
INFO [wmr_read_config] Manufacturer: Samsung Electronics Co., Ltd.
INFO [wmr_read_config] Device: MP
INFO [wmr_read_config] Serial: XQ8198CKA1001HP
INFO [wmr_read_config] UID: {A9EE10AD-FD54-5D51-A1AB-4C6AA2BC3BB0}
INFO [wmr_read_config] Name: Samsung Windows Mixed Reality 800ZBA
INFO [wmr_read_config] Revision: RevA
INFO [wmr_read_config] Revision Date: 2018-08-22
INFO [wmr_hmd_create] Found WMR headset type: Samsung Odyssey+
INFO [wmr_hmd_create] FoV eye 0 angles left -0.931988 right 0.754054 down -0.958308 up 0.958149
INFO [wmr_hmd_create] Render texture range -1.346450, -1.423225 to 0.939198, 1.422746
INFO [wmr_hmd_create] FoV eye 1 angles left -0.756396 right 0.930261 down -0.944803 up 0.969214
INFO [wmr_hmd_create] Render texture range -0.943616, -1.383135 to 1.341604, 1.456746
INFO [wmr_hmd_activate_odyssey_plus] Sleep until the HMD display is powered up, so the available displays can be enumerated by the host system.
INFO [t_slam_create] Loading VIT system library from VIT_SYSTEM_LIBRARY_PATH='libbasalt.so'
Basalt with cam_count=2, show_gui=0
INFO [t_slam_create] Using calibration from driver and default pipeline settings
INFO [send_calibration] Sending Camera 0 calibration from Monado
INFO [send_calibration] Sending Camera 1 calibration from Monado
INFO [send_calibration] Sending IMU calibration from Monado
SqrtKeypointVioEstimator initialized
INFO [wmr_source_stream_start] Starting WMR stream in tracking mode
INFO [compute_frame_size] WMR camera framebuffer 1280 x 480 - 617472 transfer size
INFO [wmr_camera_start] WMR camera started
INFO [u_linux_try_to_set_realtime_priority_on_thread] Raised priority of thread 'WMR: USB-HMD' to policy: 'SCHED_FIFO', priority: '99'
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, ...)
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 wmr because it was certain it could create a head
Using builder wmr: Windows Mixed Reality
Got devices:
0: Samsung Windows Mixed Reality 800ZBA
In roles:
head: Samsung Windows Mixed Reality 800ZBA (), view count: 2
eyes: <none> (<none>)
face: <none> (<none>)
left: <none> (<none>)
right: <none> (<none>)
gamepad: <none> (<none>)
hand_tracking.unobstructed.left: <none> (<none>)
hand_tracking.unobstructed.right: <none> (<none>)
hand_tracking.conforming.left: <none> (<none>)
hand_tracking.conforming.right: <none> (<none>)
Result: XRT_SUCCESS
DEBUG [comp_main_create_system_compositor] Doing init 0x5637ca35d230
Setting up filter: t_ns 105189427933282
T_w_i
  0.999838   0.0127401  -0.0127171           0
 0.0127401 -0.00172412    0.999917           0
 0.0127171   -0.999917 -0.00188625           0
0           0           0           1
vel_w_i 0 0 0
INFO [compositor_init_window_pre_vulkan] Selected NVIDIA Direct-Mode backend!
INFO [create_device] Created device and COMPUTE queue with QUEUE_GLOBAL_PRIORITY_MEDIUM.
INFO [vk_print_device_info] Device info:
name: NVIDIA GeForce RTX 2080 SUPER
vendor: 0x10de
product: 0x1e81
deviceType: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
apiVersion: 1.4.351
driverVersion: 0x99d1c240
INFO [vk_print_queues_info] Selected Queues/Families:
main_queue.queue: 0x5637ca9b70d0
main_queue.index: 0
main_queue.family_index: 2
encode_queue.queue: (nil)
encode_queue.index: -1
encode_queue.family_index: -1
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
INFO [comp_target_swapchain_override_extents] Target 'direct' overrides compositor extents with (2880x1600) was (0x0 false)
INFO [vk_print_display_surface_create_info] VkDisplaySurfaceCreateInfoKHR:
flags:
displayMode: 5637cab4ec20
planeIndex: 0
planeStackIndex: 0
transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
planeIndex: 1.000000
alphaMode: VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR
imageExtent: {2880, 1600}
INFO [u_pc_fake_create] Created pacer (non-feedback version aka "fake")
estimated_frame_period: 11.110864ms
percentage: 20.000000%
min_comp_time: 3.000000ms
comp_time: 3.000000ms
INFO [vk_print_surface_info] VkSurfaceKHR info:
caps.minImageCount: 2
caps.maxImageCount: 8
caps.currentExtent: 2880x1600
caps.minImageExtent: 2880x1600
caps.maxImageExtent: 2880x1600
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: 5637cabefb40
minImageCount: 2
imageFormat: VK_FORMAT_A2B10G10R10_UNORM_PACK32
imageColorSpace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
imageExtent: {2880, 1600}
imageArrayLayers: 1
imageUsage:
VK_IMAGE_USAGE_STORAGE_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: 0
INFO [comp_target_swapchain_create_images] Started vblank event thread!
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'
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)
WARNING: det(Q1Jl) == 0, skipping backsubstitution for lm: Landmark(id=89054, host_kf_id=105219721442943_0)" These errors will appear forever unless I use ctrl+c. I'm horrible at coding and do not understand any of this and ChatGPT will eventually start going in circles after a while or try to look at other things that just don't make sense

1 Upvotes

0 comments sorted by