Commit graph

7157 commits

Author SHA1 Message Date
Korcan Hussein ae37c1bf29 gradle: Upgrade gradle and packages
* Upgrades the gradle version (using AGP upgrade assistant)
* Upgrades android package dependencies to latest versions (using project settings upgrade tool)
* Bump compile platform SDK level to 34 (required for package updates)
* Bump java src compatibility version (required for api level 34)
* Fix deprecated warnings
* Code compile fixes to account for package changes
* explicitly specify cmake version
* bump NDK to latest LTS version

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2270>
2024-07-03 19:28:53 +00:00
Weijie Wang 9e46337a6a st/oxr: Return correct value
When the timeout expires:
1. Don't change the swapchain image index.
2. Return XR_TIMEOUT_EXPIRED.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2256>
2024-07-03 12:28:31 +00:00
Korcan Hussein da80ac3f71 ipc/android: Allow custom service library names
Monado derivatives may choose to create and use a
custom variant of service-lib for android builds
with a different library name, this change replaces the
hard-coded library name used for dynamic lib loading.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2265>
2024-06-28 16:21:26 +01:00
korejan b59b11101b a/bindings: Fix typos in extension names
Fixes extension name entries with "XR_" prefix in
touch_controller_pro & touch_controller_plus entries
causing incorrect code to be generated.
2024-06-27 22:45:28 +01:00
Christoph Haag 8f59821336 st/oxr: Verify frameEndInfo->layerCount
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2262>
2024-06-27 00:43:59 +02:00
Korcan Hussein 6307f17726 t/android_common: Fix missing resource string value
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2257>
2024-06-26 14:25:42 +00:00
Korcan Hussein 2ca0820a65 doc: Document !2258
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2258>
2024-06-26 11:30:15 +01:00
Korcan Hussein 1e67a27326 cmake: change project c++-lang to c++20
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2258>
2024-06-26 11:30:08 +01:00
rcelyte 3139079aaa d/steamvr_lh: Support loading SlimeVR OpenVR driver alongside lighthouse
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2251>
2024-06-17 17:50:39 +00:00
James Hogan 9422aca625 comp: Fix OpenGL flipping of subimage coordinates
In the process of flipping OpenGL subimage coordinates (in accordance
with the specification of the XR_KHR_opengl_enable extension), Monado
was incorrectly assuming a subimage height of 1.0.

When the height of the subimage was reduced below 1.0 this was making
Monado clip the bottom instead of the top of the swapchain (as if the
origin was the top-left), and when the subimage Y offset was increased
Monado would show a black bar at the top where the coordinates went out
of range of the swapchain.

Fix this in both the compute and graphics compositor, effectively
replacing the assumed height of 1 with the original subimage height
before negation.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2250>
2024-06-13 17:45:51 +01:00
Shijian 47ff8dfff3 Correctly destroy the muti-localspace
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2249>
2024-06-13 22:38:45 +08:00
Shawn Wallace f935fa943f d/steamvr_lh: use provided properties for device descriptions
This allows more easily showing the names of any future HMDs. Also some
cleanup of unused things.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2207>
2024-06-12 22:43:04 +00:00
Shijian b6bc7bba1e doc: Document !2130
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2130>
2024-06-12 15:24:43 +00:00
Shijian 0f07c05426 Support muti-localspace on server side
client can have independent localspace to use

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2130>
2024-06-12 15:24:43 +00:00
Christoph Haag a60e24ef01 android: move ic_monado_vertical.xml to drawable to fix build
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2243>
2024-06-11 10:05:58 -04:00
Rylie Pavlik 432b7a7b91 t/oxr_android: Move signing config script to bottom of build file
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2243>
2024-06-11 10:05:58 -04:00
Rylie Pavlik 028425be9d android: Rename gradle projects.
Apparently in some contexts, only the last component of the name matters,
and it was the same for more than one module.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2243>
2024-06-11 10:05:58 -04:00
Rylie Pavlik cead23f5ec ipc/android: Remove empty resources
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2243>
2024-06-09 20:20:56 -05:00
Rylie Pavlik 28cb225be1 monado: Update version
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:50:30 -05:00
Rylie Pavlik 4a6dcd0077 doc: Update CHANGELOG
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:50:30 -05:00
Rylie Pavlik 7e9134a2de mailmap: Update
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:50:30 -05:00
Rylie Pavlik e68339e331 st/oxr: Fix typo
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:50:30 -05:00
Rylie Pavlik d44c49dd1b doc: Cleanup changelog
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:50:30 -05:00
Rylie Pavlik f971b5ca68 doc: Update release instructions
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:50:29 -05:00
Rylie Pavlik 1874683137 scripts: Do not correct the spelling of 'marge', etc
These are not spelling errors.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:33:45 -05:00
Rylie Pavlik de9b9f79ea gradle: Use our own groovy code to compute a version from git
git worktree is not supported by androidgitversion

This makes it work with git worktrees and submodules, unlike the
plugin we used before. Unlike some other gradle plugins,
this allows us to set our own filter for tags that get included in
the version.

Thanks to Tao Pei for noticing the problem and proposing an initial fix.

Co-authored-by: tao.pei <tao.pei@xjmz.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2204>
2024-06-07 15:22:47 -05:00
Rylie Pavlik 44552a1722 doc/changes: Clean up changelog fragments
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2241>
2024-06-07 14:26:06 +00:00
Rylie Pavlik 19593da045 misc: Update clang-tidy config.
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2241>
2024-06-07 14:26:06 +00:00
Rylie Pavlik 5a64069d42 st/oxr: Remove TODO mentioning non-existent path.
Removed from an early 1.0 version as not implementable errata.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2241>
2024-06-07 14:26:06 +00:00
Christoph Haag 41593ef09d doc: Document !2239
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2239>
2024-06-07 14:13:44 +00:00
Christoph Haag 6d71c083ea m/space: Restore upgrading of 3dof relations with valid positions
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2239>
2024-06-07 14:13:44 +00:00
Rylie Pavlik 9da09d4de6 c/shaders: One file of restored credit missed earlier.
This is what I get for not making sure I save before staging/committing.

d0617c04d5 accidentally removed credit.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2240>
2024-06-06 21:32:04 -05:00
Rylie Pavlik 53bcd6ebed a/vk: Comments
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2238>
2024-06-06 15:10:22 +00:00
Rylie Pavlik 7ce4e8f66c c/main: Fix typos
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2238>
2024-06-06 15:10:22 +00:00
Rylie Pavlik 9f707c3536 comp: Fix doc warnings
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2237>
2024-06-06 14:54:03 +00:00
Rylie Pavlik b17fbfc4ba ipc: Fix doc warnings
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2237>
2024-06-06 14:54:03 +00:00
Rylie Pavlik bc916e0f36 xrt: Fix documentation warnings
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2237>
2024-06-06 14:54:03 +00:00
Rylie Pavlik 23115015fc c/shaders: Add back credit accidentally removed during shader overhaul
The updated versions of these shaders was added before
the originals were removed, so rename detection didn't trigger,
and d0617c04d5 accidentally
removed credit.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2236>
2024-06-06 09:38:11 -05:00
Hui Xu cdb9c38ee0 external/jnipp: Check and re-assign JNIEnv
Fixes a crash when resumed from launcher.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2226>
2024-06-06 01:46:01 +00:00
Rylie Pavlik 5b8edfbb30 c/main: Default to compute compositor on Android to work around issue #381
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2235>
2024-06-05 16:10:02 -05:00
Rylie Pavlik fc830bc5b4 a/util: Prepend "monado" to function name on android logcat
For easier searching.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2232>
2024-06-05 19:55:58 +00:00
Simon Zeni d2c4126ba6 doc: fix doxygen extra stylesheet issues
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2230>
2024-06-05 19:43:17 +00:00
Alicja Michalska 69907679fc d/wmr: Add definitions for Acer AH101 HMD
This patch adds VID/PID for Acer AH101 (WMR) headset.

Signed-off-by: Alicja Michalska <ahplka19@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2222>
2024-06-05 18:57:11 +00:00
Simon Zeni df5c052833 CI: fix reprepro step on main from forks
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2234>
2024-06-05 18:46:23 +00:00
Mario Kleiner 335960d1ad doc: Document !2228
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2228>
2024-06-04 19:54:02 +00:00
Mario Kleiner be55dec119 d/twrap: Correct axis assignments for poses provided by basalt slam.
Testing with a Luxonis Oak-D Pro with basalt slam tracking on a simulated
Northstar suggests the returned axis from basalt vit are wrong wrt. to
the OpenXR reference frame.

Invert assigned y and z axis, similar to what is done for poses returned
by basalt slam for other HMD drivers, e.g., the drivers for Rift-S, Valve
Index / Vive, WMR and Realsense, in various *_correct_pose_from_basalt()
functions.

While we are at it, also make sure the dx->pre_rotate enable flag and
debug UI checkbox actually has an effect on operation.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2228>
2024-06-04 19:54:02 +00:00
Mario Kleiner 09273292c2 d/dai: Swap x and -y axis to account for orientation of IMU in the camera.
We need a different axis assignment before submitting samples from the
DepthAI driven Luxonis Oak cameras IMU to the imu sinks, to account for
the orientation of the IMU in those cameras. On those cameras, the IMU
y axis points to the right, the x axis points downwards, the z axis
backwards. See following official Luxonis answer for reference:

https://discuss.luxonis.com/d/1044-about-oak-d-pro-w-imu-coordinate-system/8

One way to confirm the current wrong assignment and this fix is to select
"Use 3DOF tracking instead of SLAM" checkbox in the "Generic inside out
head tracker" debug UI.

Tested with a Luxonis Oak-D Pro camera.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2228>
2024-06-04 19:54:02 +00:00
Mario Kleiner e7cbcefac6 t/north_star: Add slam device after HMD device.
The HMD display device apparently needs to be the first one in
the xdevs list. Comments in xrt_prober.h seem to confirm this.

Order hmd and slam device acccordingly in the north_star target
builder.

Otherwise XR client calls to xrEndFrame(), at least with projection
layers, will cause monado-service to crash, as it chooses the
"slam device" xdev as "HMD", instead of the actual hmd device,
and therefore dereferences a xdev->hmd which is NULL inside
_update_projection_layer() and thereby segfaults.

gdb backtrace after SIGSEGV:

_update_projection_layer (xc=0x7ffe60000bf0, ics=0x5555560a5208, layer=0x7fff0a5ed620, i=0) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:749
749		uint32_t view_count = xdev->hmd->view_count;
(gdb) bt
0  _update_projection_layer (xc=0x7ffe60000bf0, ics=0x5555560a5208, layer=0x7fff0a5ed620, i=0) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:749
1  0x00005555555abd30 in _update_layers (ics=0x5555560a5208, xc=0x7ffe60000bf0, slot=0x7fff0a5ed600) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:973
2  0x00005555555ac060 in ipc_handle_compositor_layer_sync (ics=0x5555560a5208, slot_id=0, out_free_slot_id=0x7fff0a5ef134, handles=0x7fff0a5ef170, handle_count=0)
   at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:1058
3  0x00005555555a7167 in ipc_dispatch (ics=0x5555560a5208, ipc_command=0x7fff0a5ef840) at /home/dragon/projects/monado/build/src/xrt/ipc/ipc_server_generated.c:518
4  0x00005555555a56cc in client_loop (ics=0x5555560a5208) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_per_client_thread.c:191
5  0x00005555555a593d in ipc_server_client_thread (_ics=0x5555560a5208) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_per_client_thread.c:332

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2228>
2024-06-04 19:54:02 +00:00
Christoph Haag b681a01f7f doc: Document !2225 2024-06-01 01:41:21 +02:00
Christoph Haag ccfac98d36 st/oxr: Ignore primaryViewConfigurationType in headless
Spec:
"In a headless session, the XrSessionBeginInfo::primaryViewConfigurationType must be ignored and may be 0."
2024-06-01 01:39:59 +02:00