Commit Graph
6507 Commits
Author SHA1 Message Date
Korcan Hussein eaff7a0945 c/main: fix missing vk instance extensions for comp_window_peek
Depending on the start-up config, when comp_window_peek
is enabled, in some cases the required Vulkan instance
extensions for SDL2 are not being enabled, causing
functions such as SDL_Vulkan_CreateSurface to fail.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2561>
2025-08-27 14:46:49 +00:00
Coreforge 2ed83e87db steamvr_lh: properly handle other properties
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2461>
2025-08-26 20:47:40 +00:00
Patrick Nicolas 7a4018e2d8 ipc: fix remaining 32/64 alignment mismatch
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2566>
2025-08-26 21:26:45 +02:00
Patrick Nicolas 53d7e2064b ipc: Add generation of struct names in proto.py
Structure names can be used as an input to pahole, which can then ensure
that the layout is the same in x86 and amd64

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2566>
2025-08-26 21:26:45 +02:00
Patrick Nicolas 5d6da8629b ipc: fix 32bit alignment mismatch
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2565>
2025-08-26 08:42:27 +02:00
Christoph Haag ec35982aa8 a/vk: Allow ignoring memory size mismatch
This is useful for running with wrappers like renderdoc.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2559>
2025-08-25 19:56:49 +00:00
Patrick Nicolas 76577fe5cf c/util: Request video_maintenance_1 feature
This will only be enabled if the VK_KHR_maintenance1 extension was
requested.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2562>
2025-08-20 13:40:16 +02:00
Patrick Nicolas 58af8d5d85 a/vk: Expose video_maintenance_1 device feature
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2562>
2025-08-20 13:40:16 +02:00
Patrick Nicolas e5ff85427f a/vk: Track VK_KHR_video_maintenance1
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2562>
2025-08-20 13:40:16 +02:00
Beyley Cardellio 8d4173e528 xrt: Mark support for fovMutable
This is supported and works in all cases except for when ATW is disabled.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2553>
2025-08-14 22:38:43 +00:00
Christoph Haag 8a823e88cf cmake: Enable BUILD_DRIVER_NS again
It was accidentally disabled in 3363ba058

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2556>
2025-08-14 03:14:58 +02:00
Korcan Hussein 2bc803439c xrt: adds helper macro for C11 struct compound literals
if you have C functions/exprs which use
C11 style designated-initializers for struct compound
literals and this code is using C++ this causes
warning messages (even with C++20),

the new macro helps when these are included in either C or C++

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2555>
2025-08-13 15:22:57 +01:00
Korcan Hussein a149a6313e a/os: add os_cond_broadcast
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2555>
2025-08-12 16:43:24 +01:00
Korcan Hussein 5f7004d2c6 st/oxr: fix OXR_CHECK_XRET not using log macro parameter
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2555>
2025-08-12 16:43:24 +01:00
Bones 6ba8ba83aa c/main: Add bigscreen beyond to NV whitelist
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2550>
2025-08-08 12:45:17 +00:00
Korcan Hussein 1d8b80b735 a/util: fix bug in mesh distortion gen
After the compute_distortion return type
refactor (from bool to xrt_result),
a bool check in mesh distortion gen wasn't
replaced with xrt_result check.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2551>
2025-08-08 11:07:50 +01:00
Simon Zeni 82706e4dbb c/render: verify xrt_device_compute_distortion result in render_distortion
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2367>
2025-08-07 14:22:54 +01:00
Simon ZeniandKorcan Hussein 02fae7c29a xrt: adapt driver to new compute_distortion api change
Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2367>
2025-08-07 14:21:57 +01:00
Simon Zeni e1eda30a94 a/util: make u_compute_distortion_* functions return void
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2367>
2025-08-07 14:11:52 +01:00
Simon Zeni d867a4c22b ipc: return xrt_device_compute_distortion result in server handler
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2367>
2025-08-07 14:11:52 +01:00
Simon Zeni 0769474518 xrt: xrt_device_compute_distortion return xrt_result_t
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2367>
2025-08-07 14:11:52 +01:00
Jakob Bornecrantz 5c137fe28b ipc: Improve init_all error handling.
Also fixes a bug where teardown would be called twice if the service was
already running, under debug builds this assert in mutex destroy.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2468>
2025-08-06 14:04:59 +00:00
Jakob Bornecrantz 62a0a874d2 xrt: Add new result codes
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2468>
2025-08-06 14:04:58 +00:00
Beyley Cardellio 6047cb251f a/util: Add "reinterpret bayer format as l8" quirk
This is useful for when cameras expose raw bayer formats, and the on-device debayering does a bad job when the image is later converted to greyscale, such as for tracking fiducial markers, or doing camera calibration with a checkerboard.

This was added for the PlayStation Eye camera, which has really poor debayering, and doing this reinterpret trick helps get more acurate calibrations and fiducial tracking.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2540>
2025-08-06 13:53:22 +00:00
Beyley Cardellio 6a9386eb61 d/v4l2: Add GR8 bayer format support
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2540>
2025-08-06 13:53:22 +00:00
Beyley Cardellio 4a1c362dc1 a/util: Add GR8 bayer -> RGB8 format conversion
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2540>
2025-08-06 13:53:22 +00:00
MagicCraftMaster 03299fd9bc Add environment variable 'XRT_COMP_FRAME_LAG_LOG_AS_LEVEL' which still defaults to 'U_LOGGING_WARN' to supress a frame drop message if desired.
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2528>
2025-08-06 13:07:59 +00:00
MagicCraftMaster 175e231572 Add environment variable 'XRT_APP_FRAME_LAG_LOG_AS_LEVEL' which now defaults to 'U_LOGGING_DEBUG' to supress two frame drop messages.
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2528>
2025-08-06 13:07:59 +00:00
Shawn Wallace 3032f47304 d/steamvr_lh: expose IVRDriverInput_004
Used by the lighthouse driver as of SteamVR 2.12.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2548>
2025-08-05 23:02:46 -04:00
Korcan Hussein 0d513229f4 external/openxr_includes: Update OpenXR headers to 1.1.50
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2546>
2025-07-30 17:11:23 +01:00
1inguini 23f4e5a7fc d/wmr: Add support for Fujitsu FMVHDS1
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2544>
2025-07-27 10:40:38 +09:00
Torge Matthies 4c0f2fb111 a/vk: Fix up KHR_present_wait support
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2541>
2025-07-24 00:04:19 +02:00
Torge Matthies 6e29a8039d a/vk: Make clang-format happy
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2541>
2025-07-24 00:04:19 +02:00
Patrick Nicolas 4f121e03a9 u/space_overseer: fix locate_spaces flags
If one of the spaces is invalid, the code would set the flags to 0 for
the first space.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2538>
2025-07-22 11:37:10 +02:00
naparise c02a640676 d/steamvr_lh: Check if SteamVR directory exists
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2536>
2025-07-21 20:19:30 +00:00
averyv 98efbb6260 t/libmonado: Fix duplicate value for MND_ERROR_UNSUPPORTED_OPERATION
These enum values should be unique to differentiate them.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2537>
2025-07-21 20:02:12 +00:00
Korcan Hussein 84b26695f6 st/oxr: Only depend on XR_USE_PLATFORM_EGL for egl_enable extension
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2534>
2025-07-21 12:54:48 +01:00
Jakob Bornecrantz 20ead0da42 st/oxr: Support getting xrGetOpenGLGraphicsRequirementsKHR if only EGL enable is used
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2534>
2025-07-21 12:54:48 +01:00
xantoz 723fa681ca u/pacing: Add more detailed log printout to "fake" pacer
As suggested by Jakob Bornecrantz in mr!2526 discussion

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2526>
2025-07-17 14:59:49 +00:00
xantoz 91f52c3234 u/pacing: Add log level setting for "fake" pacer
As suggested by Jakob Bornecrantz in mr!2526

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2526>
2025-07-17 14:59:49 +00:00
xantoz 1de4176206 u/pacing: Add U_PACING_COMP_TIME_FRACTION_PERCENT option
This adds the option U_PACING_COMP_TIME_FRACTION_PERCENT that allows
us to set the default compositor time as a percentage of the estimated
frame time.

This will be an easier way to tweak compositor time independently of
the particular HMD frame rate, when doing so is necessary for
performance reasons. This is currently often the case on NVIDIA
proprietary driver when used together with
XRT_COMPOSITOR_USE_PRESENT_WAIT=TRUE

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2526>
2025-07-17 14:59:48 +00:00
averyv b92280c20c ipc: Validate device IDs
To prevent bad IPC arguments crashing the service.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:14 +01:00
averyv ad36bb6957 t/libmonado: Add mnd_root_get_device_brightness and mnd_root_set_device_brightness
For controlling device brightness.

Also add to Python bindings.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:14 +01:00
averyv c53a690421 u/json: Implement rule of 5 in JSONNode
`operator=(JSONNode)` and `operator=(JSONNode &&)` conflict with each other
resulting in neither, and particularly the move operator, being usable.

Implement the missing traditional operators instead:
- `JSONNode(const JSONNode&)`,
- `operator=(const JSONNode&)`, and
- `operator=(JSONNode&&)`

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:13 +01:00
averyv 06c756455d t/ctl: Add --get-brightness and --set-brightness options
Which calls device_get_brightness and device_set_brightness on the desired
client.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:13 +01:00
averyv b521caa17d ipc: Add device_get_brightness and device_set_brightness
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:13 +01:00
averyv f10798986d d/steamvr_lh: Send event when analogGain setting is changed
For now, just the steamvr section, because that's what triggers the lighthouse
driver to reload video settings.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:13 +01:00
averyv 9dea58028a d/steamvr_lh: Support get_brightness and set_brightness
Currently tailored just for the Index headset.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:13 +01:00
averyv be27f39282 d/steamvr_lh: Implement Context::VendorSpecificEvent
Which allows clients to submit to the event queue.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:13 +01:00
averyv 8731b6dbde xrt: Add brightness control feature and callbacks
Allowing a headset's display brightness to be queried and updated.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>
2025-07-16 23:04:13 +01:00