Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRAFT: OpenXR Playspace Mover #40

Closed
wants to merge 4 commits into from
Closed

Conversation

RinLovesYou
Copy link
Contributor

@RinLovesYou RinLovesYou commented Apr 29, 2024

Marked as draft because the monado side has to be cleaned up and expanded before a merge request can be made. I'm putting this here so it's visible to people and we no longer need to pass patches around by hand.

This code interfaces with a custom libmonado function I wrote. The monado changes can be found here

Tries to find libmonado by getting monado-service's location. If this fails, you can run it with LIBMONADO_PATH="path/to/libmonado.so". As the monado side gets cleared up this MR will add integration with libmonado-rs, etc.

I should also mention that inputs have only been mapped for Index controllers, as that's all i have. Take a look at input/openxr changes and let me know where things should be mapped please.

@galister
Copy link
Owner

for WiVRn users:

diff --git a/src/backend/openxr/input.rs b/src/backend/openxr/input.rs
index bcc2ef3..23a5318 100644
--- a/src/backend/openxr/input.rs
+++ b/src/backend/openxr/input.rs
@@ -380,6 +393,10 @@ fn suggest_bindings(
                 &hands[1].action_move_mouse,
                 instance.string_to_path("/user/hand/right/input/trigger/touch")?,
             ),
+            xr::Binding::new(
+                &hands[0].action_space_drag,
+                instance.string_to_path("/user/hand/left/input/thumbrest/touch")?,
+            ),
             xr::Binding::new(
                 &hands[0].action_haptics,
                 instance.string_to_path("/user/hand/left/output/haptic")?,

@galister
Copy link
Owner

Nevermind, the find libmonado automatically commit breaks this for WiVRn. can we still have LIBMONADO_PATH to be able to override the behavior specific to monado-service?

@ToasterUwU
Copy link

For everyone who wants Vive Tracker FBT and Space drag at the same time: https://gitlab.freedesktop.org/ToasterUwU/monado/-/tree/vive_tracker3

Its just a combination of the vive_tracker3 branch of Babbles Bones Monado Fork and the Monado Fork with Space Drag patch made by @RinLovesYou as mentioned above.

I tested this just now with envision, and both things work perfectly in combination. Im SOOO happy rn!!!

So if you wanna use this combination and use Envision, enter https://gitlab.freedesktop.org/ToasterUwU/monado#vive_tracker3 as your Monado repo and https://gitlab.com/BabbleBones/OpenOVR#htcx-fbt as your OpenComposite repo.

@galister
Copy link
Owner

galister commented Jun 3, 2024

cleaned this up here #44 and i will be merging if it works on:

  • vanilla Monado (non-functional, no crash)
  • playspace patched Monado (functional)
  • playspace+fbt patched Monado (functional)
  • unpatched WiVRn (non-functional, no crash)

@galister
Copy link
Owner

galister commented Jun 8, 2024

Monado playspace mover is included in WlxOverlay-S v0.4.0, the patch on the Monado side is still required for it to work.

@galister
Copy link
Owner

Closing this as now there's a standard implementation that's been merged into upstream Monado.

@galister galister closed this Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants