Compare commits

..

No commits in common. "rawhide" and "f42" have entirely different histories.

15 changed files with 1841 additions and 195 deletions

4
.gitignore vendored
View file

@ -26,7 +26,3 @@
/monado-src-723652b545a79609f9f04cb89fcbf807d9d6451a.tar.bz2
/WiVRn-26.2.2.tar.gz
/WiVRn-v26.2.3.tar.gz
/WiVRn-v26.6.tar.gz
/monado-src-1b526bb3a0ff326ecd05af4c2c541407f53c6d4b.tar.bz2
/WiVRn-v26.6.1.tar.gz
/WiVRn-v26.6.2.tar.gz

View file

@ -1,4 +1,4 @@
From de3b592fc26d7b26b4850fcc78d7e6b21147f76b Mon Sep 17 00:00:00 2001
From 2884795b7d352e3e45348473a17660a568260d6e Mon Sep 17 00:00:00 2001
From: Patrick Nicolas <patricknicolas@laposte.net>
Date: Tue, 22 Oct 2024 15:23:19 +0200
Subject: [PATCH 1/8] c/multi: early wake of compositor
@ -10,7 +10,7 @@ Subject: [PATCH 1/8] c/multi: early wake of compositor
3 files changed, 41 insertions(+), 7 deletions(-)
diff --git a/src/xrt/compositor/multi/comp_multi_compositor.c b/src/xrt/compositor/multi/comp_multi_compositor.c
index 33675d43f..71c5ebf9e 100644
index 94cea110e..88347a092 100644
--- a/src/xrt/compositor/multi/comp_multi_compositor.c
+++ b/src/xrt/compositor/multi/comp_multi_compositor.c
@@ -236,7 +236,21 @@ wait_for_scheduled_free(struct multi_compositor *mc)
@ -36,10 +36,10 @@ index 33675d43f..71c5ebf9e 100644
static void *
diff --git a/src/xrt/compositor/multi/comp_multi_private.h b/src/xrt/compositor/multi/comp_multi_private.h
index 6c7ec05f8..588878e38 100644
index 3351defa4..e8f0c8295 100644
--- a/src/xrt/compositor/multi/comp_multi_private.h
+++ b/src/xrt/compositor/multi/comp_multi_private.h
@@ -365,6 +365,10 @@ struct multi_system_compositor
@@ -359,6 +359,10 @@ struct multi_system_compositor
*/
struct os_mutex list_and_timing_lock;
@ -51,19 +51,19 @@ index 6c7ec05f8..588878e38 100644
{
int64_t predicted_display_time_ns;
diff --git a/src/xrt/compositor/multi/comp_multi_system.c b/src/xrt/compositor/multi/comp_multi_system.c
index 5a4f35b81..cbda39c24 100644
index 4db923457..80cbbbc26 100644
--- a/src/xrt/compositor/multi/comp_multi_system.c
+++ b/src/xrt/compositor/multi/comp_multi_system.c
@@ -14,6 +14,8 @@
#include "xrt/xrt_defines.h"
#include "xrt/xrt_session.h"
@@ -24,6 +24,8 @@
#include "util/u_trace_marker.h"
#include "util/u_distortion_mesh.h"
+#include "math/m_api.h"
+
#include "os/os_time.h"
#include "os/os_threading.h"
@@ -426,17 +428,24 @@ broadcast_timings_to_pacers(struct multi_system_compositor *msc,
#ifdef XRT_OS_LINUX
#include "util/u_linux.h"
#endif
@@ -393,17 +395,24 @@ broadcast_timings_to_pacers(struct multi_system_compositor *msc,
}
static void
@ -93,7 +93,7 @@ index 5a4f35b81..cbda39c24 100644
}
static void
@@ -562,10 +571,13 @@ multi_main_loop(struct multi_system_compositor *msc)
@@ -530,10 +539,13 @@ multi_main_loop(struct multi_system_compositor *msc)
broadcast_timings_to_clients(msc, predicted_display_time_ns);
// Now we can wait.
@ -109,7 +109,7 @@ index 5a4f35b81..cbda39c24 100644
// Now we know the diff, broadcast to pacers.
broadcast_timings_to_pacers(msc, predicted_display_time_ns, predicted_display_period_ns, diff_ns);
@@ -785,6 +797,8 @@ system_compositor_destroy(struct xrt_system_compositor *xsc)
@@ -721,6 +733,8 @@ system_compositor_destroy(struct xrt_system_compositor *xsc)
xrt_comp_native_destroy(&msc->xcn);
os_mutex_destroy(&msc->list_and_timing_lock);
@ -118,8 +118,8 @@ index 5a4f35b81..cbda39c24 100644
free(msc);
}
@@ -843,6 +857,8 @@ comp_multi_create_system_compositor(struct xrt_compositor_native *xcn,
msc->get_view_config_callback = get_view_config_callback;
@@ -775,6 +789,8 @@ comp_multi_create_system_compositor(struct xrt_compositor_native *xcn,
msc->sessions.state = do_warm_start ? MULTI_SYSTEM_STATE_INIT_WARM_START : MULTI_SYSTEM_STATE_STOPPED;
os_mutex_init(&msc->list_and_timing_lock);
+ os_mutex_init(&msc->wake_mutex);
@ -128,5 +128,5 @@ index 5a4f35b81..cbda39c24 100644
//! @todo Make the clients not go from IDLE to READY before we have completed a first frame.
// Make sure there is at least some sort of valid frame data here.
--
2.54.0
2.53.0

View file

@ -1,4 +1,4 @@
From 22d9bf87e9dd6a0d5970258a6b6cd6ca82c3bb26 Mon Sep 17 00:00:00 2001
From 8d22720c9574146f7115f5ba7ac39f3c4e4f48ae Mon Sep 17 00:00:00 2001
From: Patrick Nicolas <patricknicolas@laposte.net>
Date: Tue, 8 Oct 2024 22:13:15 +0200
Subject: [PATCH 2/8] Use extern socket fd
@ -8,10 +8,10 @@ Subject: [PATCH 2/8] Use extern socket fd
1 file changed, 8 insertions(+)
diff --git a/src/xrt/ipc/server/ipc_server_mainloop_linux.c b/src/xrt/ipc/server/ipc_server_mainloop_linux.c
index a0bef3dde..453dd38ca 100644
index 36bf3e31d..e40447bb2 100644
--- a/src/xrt/ipc/server/ipc_server_mainloop_linux.c
+++ b/src/xrt/ipc/server/ipc_server_mainloop_linux.c
@@ -50,6 +50,8 @@
@@ -48,6 +48,8 @@
#endif
@ -20,7 +20,7 @@ index a0bef3dde..453dd38ca 100644
/*
*
* Static functions.
@@ -58,6 +60,12 @@
@@ -56,6 +58,12 @@
static int
get_systemd_socket(struct ipc_server_mainloop *ml, int *out_fd)
{
@ -34,5 +34,5 @@ index a0bef3dde..453dd38ca 100644
// We may have been launched with socket activation
int num_fds = sd_listen_fds(0);
--
2.54.0
2.53.0

View file

@ -1,4 +1,4 @@
From 3c7450d800b0e3f35440f41d3bfcf5b5abe6dfe8 Mon Sep 17 00:00:00 2001
From dc8c6b0fdd002631827528b0cd831e762cf74c31 Mon Sep 17 00:00:00 2001
From: galister <85970-galister@users.noreply.gitlab.freedesktop.org>
Date: Sat, 23 Nov 2024 02:42:12 +0900
Subject: [PATCH 3/8] change environment blend mode selection logic
@ -8,10 +8,10 @@ Subject: [PATCH 3/8] change environment blend mode selection logic
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/src/xrt/compositor/multi/comp_multi_system.c b/src/xrt/compositor/multi/comp_multi_system.c
index cbda39c24..c0c6c9f60 100644
index 80cbbbc26..4a397d7ec 100644
--- a/src/xrt/compositor/multi/comp_multi_system.c
+++ b/src/xrt/compositor/multi/comp_multi_system.c
@@ -231,23 +231,31 @@ find_active_blend_mode(struct multi_compositor **overlay_sorted_clients, size_t
@@ -233,23 +233,31 @@ find_active_blend_mode(struct multi_compositor **overlay_sorted_clients, size_t
if (overlay_sorted_clients == NULL)
return XRT_BLEND_MODE_OPAQUE;
@ -53,5 +53,5 @@ index cbda39c24..c0c6c9f60 100644
}
--
2.54.0
2.53.0

View file

@ -1,4 +1,4 @@
From b26876c29205f2d2fb07fbdbe009d5635eb32bfd Mon Sep 17 00:00:00 2001
From f4b4c07740dcc58438340171ec473570b002b379 Mon Sep 17 00:00:00 2001
From: Patrick Nicolas <patricknicolas@laposte.net>
Date: Sat, 15 Mar 2025 22:19:48 +0100
Subject: [PATCH 4/8] st/oxr: forward 0 refresh rate
@ -9,10 +9,10 @@ Subject: [PATCH 4/8] st/oxr: forward 0 refresh rate
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/xrt/compositor/main/comp_compositor.c b/src/xrt/compositor/main/comp_compositor.c
index b44271622..a1e112e89 100644
index b6c4947bf..0e8ed02b7 100644
--- a/src/xrt/compositor/main/comp_compositor.c
+++ b/src/xrt/compositor/main/comp_compositor.c
@@ -391,7 +391,7 @@ compositor_request_display_refresh_rate(struct xrt_compositor *xc, float display
@@ -372,7 +372,7 @@ compositor_request_display_refresh_rate(struct xrt_compositor *xc, float display
if (c->target && c->target->request_refresh_rate) {
xrt_result_t result = comp_target_request_refresh_rate(c->target, display_refresh_rate_hz);
// Assume refresh rate change is immediate
@ -22,7 +22,7 @@ index b44271622..a1e112e89 100644
return result;
}
diff --git a/src/xrt/state_trackers/oxr/oxr_api_session.c b/src/xrt/state_trackers/oxr/oxr_api_session.c
index 09297f885..9f3a7ebc2 100644
index 587cdf28f..b1f96df54 100644
--- a/src/xrt/state_trackers/oxr/oxr_api_session.c
+++ b/src/xrt/state_trackers/oxr/oxr_api_session.c
@@ -455,15 +455,11 @@ oxr_xrRequestDisplayRefreshRateFB(XrSession session, float displayRefreshRate)
@ -43,5 +43,5 @@ index 09297f885..9f3a7ebc2 100644
if ((int)(displayRefreshRate * 100.0f) == (int)(sess->sys->xsysc->info.refresh_rates_hz[i] * 100.0f)) {
found = true;
--
2.54.0
2.53.0

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,17 @@
From 7230746571d1256d32557fd99528ac90a1d75957 Mon Sep 17 00:00:00 2001
From 9d1294834f49fc90ea22f5d841d7c0e5c0c1045d Mon Sep 17 00:00:00 2001
From: no name <git-am@invalid>
Date: Sun, 28 Sep 2025 11:33:10 +0200
Subject: [PATCH 5/8] d/steamvr_lh: prevent crash on vive pro2/WiVRn
Subject: [PATCH 6/8] d/steamvr_lh: prevent crash on vive pro2/WiVRn
---
src/xrt/drivers/steamvr_lh/steamvr_lh.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp b/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp
index 347d22068..d34d3331e 100644
index 25c68a0ea..86baa9fd4 100644
--- a/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp
+++ b/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp
@@ -985,7 +985,7 @@ steamvr_lh_create_devices(struct xrt_prober *xp, struct xrt_system_devices **out
@@ -913,7 +913,7 @@ steamvr_lh_create_devices(struct xrt_prober *xp, struct xrt_system_devices **out
// Include the HMD
if (svrs->ctx->hmd) {
@ -21,5 +21,5 @@ index 347d22068..d34d3331e 100644
}
--
2.54.0
2.53.0

View file

@ -1,27 +0,0 @@
From f400f0e63259bcadd9a7955ae0275caa5aea3ded Mon Sep 17 00:00:00 2001
From: Sapphire <imsapphire0@gmail.com>
Date: Fri, 7 Nov 2025 20:41:16 -0600
Subject: [PATCH 6/8] st/oxr: push XrEventDataInteractionProfileChanged when
profile changes to NULL
---
src/xrt/state_trackers/oxr/actions/oxr_input.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/xrt/state_trackers/oxr/actions/oxr_input.c b/src/xrt/state_trackers/oxr/actions/oxr_input.c
index 2bd3ea009..93659ba35 100644
--- a/src/xrt/state_trackers/oxr/actions/oxr_input.c
+++ b/src/xrt/state_trackers/oxr/actions/oxr_input.c
@@ -1932,9 +1932,6 @@ session_update_action_bindings(struct oxr_logger *log,
#define POPULATE_PROFILE(X) \
do { \
XrPath path = profiles.X != NULL ? profiles.X->path : XR_NULL_PATH; \
- if (path == XR_NULL_PATH) { \
- break; /* Only update on "active" interaction profiles per sub-action path. */ \
- } \
if (action_context->X != path) { \
action_context->X = path; \
interaction_profile_changed = true; \
--
2.54.0

View file

@ -0,0 +1,49 @@
From b9af535cf229acdbf7f1b534e9804c1b4e3fa3e1 Mon Sep 17 00:00:00 2001
From: Sapphire <imsapphire0@gmail.com>
Date: Fri, 7 Nov 2025 20:41:16 -0600
Subject: [PATCH 7/8] st/oxr: push XrEventDataInteractionProfileChanged when
profile changes to NULL
---
src/xrt/state_trackers/oxr/oxr_input.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/src/xrt/state_trackers/oxr/oxr_input.c b/src/xrt/state_trackers/oxr/oxr_input.c
index df2b479eb..c4b36ba81 100644
--- a/src/xrt/state_trackers/oxr/oxr_input.c
+++ b/src/xrt/state_trackers/oxr/oxr_input.c
@@ -1881,26 +1881,21 @@ oxr_session_update_action_bindings(struct oxr_logger *log, struct oxr_session *s
}
}
- /*
- * This code will only send events (and update the bindings) if there
- * is a profile mapped to the subaction path. Meaning it won't update
- * the cache or generate events when a controller goes away, basically
- * latching the interaction profile to the last active device.
- */
+ bool any_profile_changed = false;
#define POPULATE_PROFILE(X) \
do { \
XrPath path = profiles.X != NULL ? profiles.X->path : XR_NULL_PATH; \
- if (path == XR_NULL_PATH) { \
- break; /* Only update on "active" interaction profiles per sub-action path. */ \
- } \
if (sess->X != path) { \
sess->X = path; \
- oxr_event_push_XrEventDataInteractionProfileChanged(log, sess); \
+ any_profile_changed = true; \
} \
} while (false);
OXR_FOR_EACH_VALID_SUBACTION_PATH(POPULATE_PROFILE)
#undef POPULATE_PROFILE
+ if (any_profile_changed) {
+ oxr_event_push_XrEventDataInteractionProfileChanged(log, sess);
+ }
return oxr_session_success_result(sess);
}
--
2.53.0

View file

@ -0,0 +1,40 @@
From 02206ede3aae832be5024263a805cafee2264080 Mon Sep 17 00:00:00 2001
From: no name <git-am@invalid>
Date: Thu, 15 Jan 2026 12:13:06 +0100
Subject: [PATCH 8/8] Don't get pose data for fast path
---
src/xrt/compositor/main/comp_renderer.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/xrt/compositor/main/comp_renderer.c b/src/xrt/compositor/main/comp_renderer.c
index ff9728a59..08cdef540 100644
--- a/src/xrt/compositor/main/comp_renderer.c
+++ b/src/xrt/compositor/main/comp_renderer.c
@@ -972,14 +972,15 @@ dispatch_compute(struct comp_renderer *r,
struct xrt_pose world_poses_scanout_begin[XRT_MAX_VIEWS];
struct xrt_pose world_poses_scanout_end[XRT_MAX_VIEWS];
struct xrt_pose eye_poses[XRT_MAX_VIEWS];
- calc_pose_data( //
- r, //
- fov_source, //
- fovs, //
- world_poses_scanout_begin, //
- world_poses_scanout_end, //
- eye_poses, //
- render->r->view_count); //
+ if (!c->base.frame_params.one_projection_layer_fast_path)
+ calc_pose_data( //
+ r, //
+ fov_source, //
+ fovs, //
+ world_poses_scanout_begin, //
+ world_poses_scanout_end, //
+ eye_poses, //
+ render->r->view_count); //
// Target Vulkan resources..
VkImage target_image = r->c->target->images[r->acquired_buffer].handle;
--
2.53.0

View file

@ -1,37 +0,0 @@
From d79de5d82def9641484b8d88212d3c2e97e38734 Mon Sep 17 00:00:00 2001
From: no name <git-am@invalid>
Date: Fri, 20 Mar 2026 16:51:18 +0100
Subject: [PATCH 8/8] configure u_git_tag in WiVRn
---
src/xrt/auxiliary/util/CMakeLists.txt | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/xrt/auxiliary/util/CMakeLists.txt b/src/xrt/auxiliary/util/CMakeLists.txt
index 79646b181..21adcd446 100644
--- a/src/xrt/auxiliary/util/CMakeLists.txt
+++ b/src/xrt/auxiliary/util/CMakeLists.txt
@@ -10,11 +10,6 @@
# by applications like the OpenXR runtime library.
#
-configure_file(
- "${CMAKE_CURRENT_SOURCE_DIR}/u_git_tag.c.in" "${CMAKE_CURRENT_BINARY_DIR}/u_git_tag.c"
- @ONLY
- )
-
add_library(
aux_util STATIC
u_autoexpgain.c
@@ -120,7 +115,7 @@ add_library(
u_worker.cpp
u_worker.h
u_worker.hpp
- "${CMAKE_CURRENT_BINARY_DIR}/u_git_tag.c"
+ "${U_GIT_TAG_CPP}"
)
target_link_libraries(
aux_util
--
2.54.0

View file

@ -1,17 +1,17 @@
From 0832cc9a2ccd0f67b3bd3a11ec1b1d1398dfebda Mon Sep 17 00:00:00 2001
From 6f17ee6c92b62a2418164f627775f267eb6d19fc Mon Sep 17 00:00:00 2001
From: no name <git-am@invalid>
Date: Sun, 25 Jan 2026 10:09:10 +0100
Subject: [PATCH 7/8] don't verify GL stuff
Subject: [PATCH] don't verify GL stuff
---
src/xrt/state_trackers/oxr/oxr_verify.c | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/src/xrt/state_trackers/oxr/oxr_verify.c b/src/xrt/state_trackers/oxr/oxr_verify.c
index 8f35222cf..1418a8231 100644
index e9197d501..71f81c954 100644
--- a/src/xrt/state_trackers/oxr/oxr_verify.c
+++ b/src/xrt/state_trackers/oxr/oxr_verify.c
@@ -610,16 +610,6 @@ oxr_verify_XrGraphicsBindingOpenGLXlibKHR(struct oxr_logger *log, const XrGraphi
@@ -608,16 +608,6 @@ oxr_verify_XrGraphicsBindingOpenGLXlibKHR(struct oxr_logger *log, const XrGraphi
"XrGraphicsBindingOpenGLXlibKHR::glxDrawable is NULL");
}
@ -29,5 +29,5 @@ index 8f35222cf..1418a8231 100644
}
--
2.54.0
2.52.0

View file

@ -1,67 +0,0 @@
CECILL-C
_deps/monado-src/src/external/imgui/imgui/imconfig.h
CC0-1.0 AND Apache-2.0
_deps/monado-src/src/external/glad/*
Unlicense
_deps/monado-src/src/external/imgui/imgui/backends/imgui_impl_opengl3_loader.h
Apache-2.0
_deps/monado-src/gradle*
_deps/monado-src/src/external/{flexkalman,glad,mermaid,nvpro_pyramid,openxr_includes}/*
_deps/monado-src/src/xrt/auxiliary/math/m_quatexpmap.cpp
gradle*
resources/values/ic_wivrn_launcher_background.xml
Apache-2.0 OR MIT
_deps/monado-src/doc/doxygen-awesome-css/doxygen-awesome-*
BSD-2-Clause
_deps/monado-src/cmake/FindEigen3.cmake
_deps/monado-src/src/external/hungarian/*
_deps/monado-src/src/external/tracy/{client,common}/*
_deps/monado-src/cmake/{FindEGL.cmake,FindSystemd.cmake,OptionWithDeps.cmake}
_deps/monado-src/src/external/openvr_includes/*
_deps/monado-src/src/external/tinyceres/*
_deps/monado-src/src/external/tracy/libbacktrace/*
_deps/monado-src/src/xrt/drivers/north_star/distortion_3d/*
_deps/monado-src/src/xrt/tracking/hand/mercury/kine_lm/lm_rotations_ceres.inl
BSD-3-Clause AND BSL-1.0
_deps/monado-src/src/xrt/targets/steamvr_drv/*
BSL-1.0
_deps/monado-src/{CMakeLists.txt,CompilerFlags.cmake,build.gradel}
_deps/monado-src/cmake/{CleanDirectoryList.cmake,FindHIDAPI.cmake,FindLeapV2.cmake,FindLibcheck.cmake,FindLibusb1.cmake,FindONNXRuntime.cmake,FindOpenGLES.cmake,FindOpenHMD.cmake,FindPercetto.cmake,Findbluetooth.cmake,FindcJSON.cmake,Findudev.cmake,GenerateKhrManifest.cmake,GenerateKhrManifestInternals.cmake.in,GenerateOpenXRRuntimeManifest.cmake,GenerateVulkanApiLayerManifest.cmake,GetGitRevisionDescription.cmake,GetGitRevisionDescription.cmake.in,PrefixListGlob.cmake,ProgramFilesGlob.cmake,SPIR-V.cmake,openxr_manifest.in.json.license}
_deps/monado-src/src/external/{Catch2,android-jni-wrap,flexkalman,imgui,nvpro_pyramid,openxr_includes,solarxr,util-headers,vit_includes}
_deps/monado-src/src/xrt/auxiliary/{android,bindings,d3d,gsteamer,math,ogl,os,tracking,util,vive,vk}/*
_deps/monado-src/src/xrt/compositor/*
_deps/monado-src/src/xrt/drivers/{android,arduino,daydream,depthai,euroc,hdk,ht,ht_ctrl_emu,hydra,illixr,multi_wrapper,north_star,ohmd,opengloves,psmv,qwerty,realsense,remote,rift_s,rokid,sample,simula,simulated,solarxr,steamvr_lh,survive,twrap,ultraleap_v2,v4l2,vf,vive,wmr,xreal_air}/*
_deps/monado-src/src/xrt/include/tracking/t_hand_tracking.h
_deps/monado-src/src/xrt/include/xrt/*
_deps/monado-src/src/xrt/{ipc,state_trackers,targets,tracking}/*
_deps/monado-src/tests/*
server/{main.cpp,start_application.cpp,target_instance_wivrn.cpp}
BSL-1.0 AND CC0-1.0
_deps/monado-src/{doc,scripts}/*
GPL-2.0-or-later
tools/wireshark/dissector.cpp
GPL-3.0-or-later
{client,common,dashboard,server}/*
MIT-Khronos-old
_deps/monado-src/src/external/glad/include/KHR/khrplatform.h
MIT
_deps/monado-src/cmake/sanitizers/{FindASan.cmake,FindMSan.cmake,FindSanitizers.cmake,FindTSan.cmake,FindUBSan.cmake,asan-wrapper,sanitize-helpers.cmake}
_deps/monado-src/doc/doxygen-awesome-css/*
_deps/monado-src/src/external/{cjson,imgui,jnipp,mermaid,renderdoc_api,solarxr,stb,tracy,valve-file-vdf}/*
_deps/monado-src/src/xrt/targets/android_common/src/main/res/raw/*
external/{magic_enum.hpp,magic_enum_containers.hpp,vk_mem_alloc.h}
Zlib
_deps/monado-src/src/external/nanopb/*

View file

@ -1,2 +1,2 @@
SHA512 (WiVRn-v26.6.2.tar.gz) = ce210881d43a09a4fc8a6c6fe6e40b6925a110d715a3f15ad38d5210b9ef06361e62ee6e267ffcb8fbc0f50ff9a71254c6bcd3a3e13c7bff2b09eb2532fc0db8
SHA512 (monado-src-1b526bb3a0ff326ecd05af4c2c541407f53c6d4b.tar.bz2) = 662bf90d5a38e05c5909ed8d1a5c099979ae49ec6f7a71552a9d0c625ddda29f6b631e0feca8a01a6bb6eefcd6aacfbc81207f2852466165c561973df1cddf97
SHA512 (WiVRn-v26.2.3.tar.gz) = 95f15cc827f86e98f01fe2791e8acc1a641853765ce355ca8f124b3364eb600aa839d8d7e54447af9bbb42cef40f83c6426c930f019ae1b8db416d1be89dcd4f
SHA512 (monado-src-723652b545a79609f9f04cb89fcbf807d9d6451a.tar.bz2) = 37770e8bbde48e701365148804cac5260765d50f376e0a0a283b7b34279faf1a9889d1ced843999e00b2ff6734452896a2a7d5c061946450c7d89a83eced8765

View file

@ -7,13 +7,13 @@
# WiVRn is based on Monado, we need the full source
# Monado base source (find in monado-rev file)
%global forgeurl1 https://gitlab.freedesktop.org/monado/monado
%global commit1 1b526bb3a0ff326ecd05af4c2c541407f53c6d4b
%global commit1 723652b545a79609f9f04cb89fcbf807d9d6451a
%global monado_version 25.1.0
%forgemeta
Name: wivrn
Version: 26.6.2
Version: 26.2.3
Release: %autorelease
Summary: An OpenXR streaming application to a standalone headset
@ -33,7 +33,60 @@ License: %{shrink:
AND Unlicense
AND Zlib
}
# For a per-file license breakdown see LicenseBreakdown.
# CECILL-C
# _deps/monado-src/src/external/imgui/imgui/imconfig.h
# CC0-1.0 AND Apache-2.0
# _deps/monado-src/src/external/glad/*
# Unlicense
# _deps/monado-src/src/external/imgui/imgui/backends/imgui_impl_opengl3_loader.h
# Apache-2.0
# _deps/monado-src/gradle*
# _deps/monado-src/src/external/{flexkalman,glad,mermaid,nvpro_pyramid,openxr_includes}/*
# _deps/monado-src/src/xrt/auxiliary/math/m_quatexpmap.cpp
# gradle*
# resources/values/ic_wivrn_launcher_background.xml
# Apache-2.0 OR MIT
# _deps/monado-src/doc/doxygen-awesome-css/doxygen-awesome-*
# BSD-2-Clause
# _deps/monado-src/cmake/FindEigen3.cmake
# _deps/monado-src/src/external/hungarian/*
# _deps/monado-src/src/external/tracy/{client,common}/*
# _deps/monado-src/cmake/{FindEGL.cmake,FindSystemd.cmake,OptionWithDeps.cmake}
# _deps/monado-src/src/external/openvr_includes/*
# _deps/monado-src/src/external/tinyceres/*
# _deps/monado-src/src/external/tracy/libbacktrace/*
# _deps/monado-src/src/xrt/drivers/north_star/distortion_3d/*
# _deps/monado-src/src/xrt/tracking/hand/mercury/kine_lm/lm_rotations_ceres.inl
# BSD-3-Clause AND BSL-1.0
# _deps/monado-src/src/xrt/targets/steamvr_drv/*
# BSL-1.0
# _deps/monado-src/{CMakeLists.txt,CompilerFlags.cmake,build.gradel}
# _deps/monado-src/cmake/{CleanDirectoryList.cmake,FindHIDAPI.cmake,FindLeapV2.cmake,FindLibcheck.cmake,FindLibusb1.cmake,FindONNXRuntime.cmake,FindOpenGLES.cmake,FindOpenHMD.cmake,FindPercetto.cmake,Findbluetooth.cmake,FindcJSON.cmake,Findudev.cmake,GenerateKhrManifest.cmake,GenerateKhrManifestInternals.cmake.in,GenerateOpenXRRuntimeManifest.cmake,GenerateVulkanApiLayerManifest.cmake,GetGitRevisionDescription.cmake,GetGitRevisionDescription.cmake.in,PrefixListGlob.cmake,ProgramFilesGlob.cmake,SPIR-V.cmake,openxr_manifest.in.json.license}
# _deps/monado-src/src/external/{Catch2,android-jni-wrap,flexkalman,imgui,nvpro_pyramid,openxr_includes,solarxr,util-headers,vit_includes}
# _deps/monado-src/src/xrt/auxiliary/{android,bindings,d3d,gsteamer,math,ogl,os,tracking,util,vive,vk}/*
# _deps/monado-src/src/xrt/compositor/*
# _deps/monado-src/src/xrt/drivers/{android,arduino,daydream,depthai,euroc,hdk,ht,ht_ctrl_emu,hydra,illixr,multi_wrapper,north_star,ohmd,opengloves,psmv,qwerty,realsense,remote,rift_s,rokid,sample,simula,simulated,solarxr,steamvr_lh,survive,twrap,ultraleap_v2,v4l2,vf,vive,wmr,xreal_air}/*
# _deps/monado-src/src/xrt/include/tracking/t_hand_tracking.h
# _deps/monado-src/src/xrt/include/xrt/*
# _deps/monado-src/src/xrt/{ipc,state_trackers,targets,tracking}/*
# _deps/monado-src/tests/*
# server/{main.cpp,start_application.cpp,target_instance_wivrn.cpp}
# BSL-1.0 AND CC0-1.0
# _deps/monado-src/{doc,scripts}/*
# GPL-2.0-or-later
# tools/wireshark/dissector.cpp
# GPL-3.0-or-later
# {client,common,dashboard,server}/*
# MIT-Khronos-old
# _deps/monado-src/src/external/glad/include/KHR/khrplatform.h
# MIT
# _deps/monado-src/cmake/sanitizers/{FindASan.cmake,FindMSan.cmake,FindSanitizers.cmake,FindTSan.cmake,FindUBSan.cmake,asan-wrapper,sanitize-helpers.cmake}
# _deps/monado-src/doc/doxygen-awesome-css/*
# _deps/monado-src/src/external/{cjson,imgui,jnipp,mermaid,renderdoc_api,solarxr,stb,tracy,valve-file-vdf}/*
# _deps/monado-src/src/xrt/targets/android_common/src/main/res/raw/*
# external/{magic_enum.hpp,magic_enum_containers.hpp,vk_mem_alloc.h}
# Zlib
# _deps/monado-src/src/external/nanopb/*
URL: %{forgeurl0}
Source0: %{forgesource0}
# License: GPL-3.0-or-later
@ -50,14 +103,15 @@ Patch0003: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/
# downstream-only - WiVRn specific Monado patches
Patch0004: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0004-st-oxr-forward-0-refresh-rate.patch
# downstream-only - WiVRn specific Monado patches
Patch0005: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0005-d-steamvr_lh-prevent-crash-on-vive-pro2-WiVRn.patch
Patch0005: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0005-Replace-distortion-with-foveation.patch
# downstream-only - WiVRn specific Monado patches
Patch0006: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0006-st-oxr-push-XrEventDataInteractionProfileChanged-whe.patch
Patch0006: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0006-d-steamvr_lh-prevent-crash-on-vive-pro2-WiVRn.patch
# downstream-only - WiVRn specific Monado patches
Patch0007: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0007-don-t-verify-GL-stuff.patch
Patch0007: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0007-st-oxr-push-XrEventDataInteractionProfileChanged-whe.patch
# downstream-only - WiVRn specific Monado patches
Patch0008: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0008-configure-u_git_tag-in-WiVRn.patch
Patch0008: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0008-Don-t-get-pose-data-for-fast-path.patch
# downstream-only - WiVRn specific Monado patches
Patch0009: https://raw.githubusercontent.com/WiVRn/WiVRn/refs/tags/%{tag0}/patches/monado/0009-don-t-verify-GL-stuff.patch
# If BuildRequires change, be sure to update envision-wivrn Requires
# https://src.fedoraproject.org/rpms/envision/blob/rawhide/f/envision.spec
@ -134,7 +188,6 @@ BuildRequires: qcoro-qt6-devel
BuildRequires: qt6-qtbase-private-devel
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: qt6qml(org.kde.desktop)
BuildRequires: spirv-tools
BuildRequires: systemd-rpm-macros
Requires: android-tools
@ -195,6 +248,7 @@ pushd _deps/monado-src
%patch -P0006 -p1
%patch -P0007 -p1
%patch -P0008 -p1
%patch -P0009 -p1
popd
@ -207,8 +261,7 @@ popd
-DFETCHCONTENT_BASE_DIR="_deps" \
-DFETCHCONTENT_FULLY_DISCONNECTED=ON \
-DGIT_DESC=v%{version} \
-DGIT_COMMIT=v%{version} \
-DOVR_COMPAT_SEARCH_PATH=%{_libdir}/opencomposite/runtime:%{_libdir}/xrizer/runtime:/opt/opencomposite:/opt/xrizer \
-DOVR_COMPAT_SEARCH_PATH=%{_libdir}/opencomposite/runtime \
-DWIVRN_BUILD_CLIENT=OFF \
-DWIVRN_BUILD_DASHBOARD=ON \
-DWIVRN_BUILD_DISSECTOR=OFF \
@ -237,10 +290,6 @@ popd
install -m 0755 -vd %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/%{name}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf
# Import the WiVRn OpenXR runtime into Steam's pressure-vessel container
install -m 0755 -vd %{buildroot}%{_environmentdir}
echo "PRESSURE_VESSEL_IMPORT_OPENXR_1_RUNTIMES=1" > %{buildroot}%{_environmentdir}/%{name}.conf
%find_lang %{name}-dashboard
%check
@ -251,7 +300,7 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
%files -f %{name}-dashboard.lang
%license COPYING LICENSE-OFL-1.1 _deps/monado-src/LICENSES/*
%doc README.md docs/
%{_bindir}/wivrn-server
%caps(cap_sys_nice=ep) %{_bindir}/wivrn-server
%{_bindir}/wivrnctl
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libopenxr_wivrn.so
@ -263,7 +312,6 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
%{_prefix}/lib/firewalld/services/wivrn.xml
%{_metainfodir}/io.github.wivrn.wivrn.metainfo.xml
%{_sysconfdir}/ld.so.conf.d/%{name}.conf
%{_environmentdir}/%{name}.conf
%files -n %{name}-dashboard
%{_bindir}/wivrn-dashboard