North Star + StardustXR
Hello! I have
monado-git
and openxr-git
installed from the AUR. I'm running kwin wayland. I have a North Star plugged in via USB/DP and stardust-xr-server
installed via the documentation instructions.
When I run cargo run
I get the server window on my main monitor. Ideally I want it on the headset, how do I make Stardust talk to Monado and do the things ā¢ļø ? New to most of this as coming from Unity development, so be gentoo with me š
Perhaps this is a bit more of a Monado question, as I dont think I have things running properly with that yet. I don't mind not running in direct mode, which is apparently not possible with wayland anyway. Any pointers from North Star running devs here?118 Replies
that is weird, send a full log of the server's output
it should connect to Monado instantly
Oh, sorry
monado-service
wasn't runninghahaha :p
does it work now?
It makes the grey screen black? I suppose thats progress
It's still on my main monitor, and really small, so I guess its not building for north_star
that's perfect
try it with an HDRI file at
~/.config/stardust/sky.hdr
i.e.
cargo run ~/.config/stardust/sky.hdr
?no
just put an hdr file in that spot
Hmm still black
Whats the quickest way to do this?
show me the inside of
~/.config/stardust
like using tree
oh shoot
i meant
skytex.hdr
not sky.hdr
Nice
nicee it work
you can also make a script at
~/.config/stardust/startup
to run anything you want at startupAwesome, I'm still not 100% (even 10%) sure what I might want to do/what that means but its good to know š
My main hurdle right now is getting it to go on the NS screen with a wayland compositor (I assume theres a config file that lets me do this)
oh that's def a monado question then
Also, building for north_star with monado
Cuz right now im
SIMULATED
asf
šyep, you got it to connect so now you just gotta get monado working with NS
ask on their server
Will do, thanks @Nova :stardustxr:
no problem!
@Nova I reinstalled monado, and openxr and have it pointing to the right display now. After logging out/in, when I do
cargo run
now it runs its own window rather than attaching to monado-service
:
Looks like I missed something up with openxr/monado?it failed to find an active runtime
make sure monado is the active runtime
or use
XR_RUNTIME_JSON
env variableThanks, fixed that
still a black screen even with
skytex.hdr
Is that expected?oh righttt
it's north star so the blend mode is additive
so yes
Great š
try launching a stardust client
maybe comet?
kk
This needs
stardust-xr-server
running in the background right?
if so, screen still black
you should see a red pen
Does this require 6dof?
Don't see one š¦
Here is my
monado-service
output
that's fine
Even though it says
<none>
for my hands?it should still show
hmm, so i have 3 active terminal windows, one running
monado-service
, the other running stardust-xr-server
and the other running comet
. Is that right?
the last two are via cargo run
yep
monado-service
is running in xwaylandno problem
:thonking:
wait a moment
:waiting:
are you testing this with 6DoF head tracking?
i have an intel t261 on it
not sure i've told it anywhere yet that i actually want to use it. its mentioned in my NS_CONFIG but if it was trying to use it i'd expect it to be in the output of
monado-service
...
lots of assumptions there thoughcan you check if it is working using
xrgears
or some test app?i can try š
its on my NS displays but theres no hand tracking or 6dof (not sure if theres meant to be)
also the cat is not in the middle, as if the screens are in the wrong order
you should have 6dof
ah ok
so that's a monado issue
and you also should have hands
Cool thanks š
Got this working, @moshi provided a newer ns config. Hand tracking, ive downloaded and extracted the
openxr-layer-ultraleap
deb from the UL repo and installed it. Deleted the v2 leap entry in the config_v0.json and hoped for the best but still no v5 tracking. Will try again tomorrow. Maybe what im trying isnt supported yet?So (also cc @Nova) we're totally in the clear to publish and try to merge the v5 driver
Can at least unprivate that repo and open a draft MR, but last I checked the code/licenses were kinda rough
But yeah it's really odd that you don't have hand tracking with the layer, that should work
you need to start the ultraleap service and check that it works
Okay it might be that the service needed restarting
ah yea maybe
oh neat, but why would we need that with the layer?
@Nova is there anywhere where I need to activate it? its currently sitting in
usr/share/openxr/1/api_layers/explicit.d/XrApiLayer_Ultraleap.json
and I've set some default config in a .json
as per https://docs.ultraleap.com/openxr/mainly so you can control sensor offsets
Still not seeming to work
The bottom of this looks promising (I assume that means its accessing the UL layer
remind me what's not working?
but
comet
isnt showing me muh handsoh
I have 6dof working, just not v5 hands
stardust itself should show you hands
that is weird :S
uhhh
I see a red line above me to the right
send a screen recording of the gui and all
that's comet alright
Is that your fabled pen~
this is a screen recording of comet
It looks funky, i'd like to use that pen
so you know what to look for
Okay so I have a black screen and the pen is above me to the right, thats all. No sky
the sky is from atmosphere
the TV is poltergeist
and the rings are magnetar
so don't worry
I run
cargo run
on stardust-xr-server
and the same on comet
just no handsyou should see pitch black and then your hands and comet
despite
that means they're not getting through properly
hmm
ok
Youre on a lmc right?
so that is def weird
rigel, but it doesn't matter
Sure, so maybe its my installation of
openxr-layer-ultraleap
Youre on arch right?so you must have taken this out the
.deb
?there's also a pkgbuild for it
am I missing any steps after that? I assume not since
openxr_runtime_list
shows me the layerhere's the 2 packages i have
oh fuck LOL
let's do a sanity check
try some other openxr app that uses hands
another stereokit app
is the sanity check me deciding to download binaries off you nova
wait shoot there's barely any apps that use hands still
oh these aren't binaries
they're pkgbuild files
oh i didnt see that š lol
well it looks like i did ok
actually that's great
yeah
because that means it must have installed something else
still, hand tracking should have worked
hmmm
doesnt this mean it didnt install anything? cuz i already put them in the right place manually?
the shared object files are only 1 piece of an api layer
oh hold on, this pkgbuild puts the json in my
implicit.d
but the .deb
says explicit.d
no clue what that means
The actual xrapilayer_ultraleap.json config
ohh
i'm just gonna remove everything i did and do the pkg build again
makes sense
Hmm still no dice
Do you mind showing me your
tree /usr/share/openxr/
and the output of
monado-service
if you dont mind?oof can't test that since no devices plugged in
no probs š
Looks like
stardust-xr-server
is trying to access leap
I dont know if thats necessarily through openxr, though i'd imagine itd have to be?technically the openxr layer's library is injected into stardust and it's trying to access it
but yea
openxr isn't a protocol, it's a specific ABI for a library that gets injected into your app at runtime
yeah i meant via openxr, would that terminology work?
Working now š
but the pen is too far away from me :cryingLaughing:
oof
it's at the point where you turned SLAM on
or started Stardust
ah ok
hmm i restarted monado but it seems to be high again, same with magnetar
offsets maybe?
also high with stardust restarted hmm
huh, that is weird
running
poltergeist-orbit.sh
gives me hands and 6dof but the terminal is on my flat screen
Works fine if i start monado with my headset on the floor š
It might be to do with the t265 offsets in the config @moshi gave me? Idk they run a standard deckx sensor position
I also still get this on running monado-service ERROR [ns_open_system] T265 device config was invalid!
I mean the config is working I supose, because the world is moving in openxr-simple-playground
and VirtualGround
, but everything rotates slightly when I move my head too
do the tracking overrides in config_v0 overwrite those in the nsconfig?No the tracking overrides in config_v0 don't do anything at all anymore
what's the config I gave you? I suspect I forgot to set any offsets at all
Theyre the offsets from the original deckx-50cm file i think. This is it with my calibration subbed in
P_middleofeyes_to_trackingcenter_oxr
from my config to give me that error? :cringe:oh yeah
try:
something like that
The offset in there seems bogus btw
I'd expect to see a negative z value and positive y value in the translation
so basically, if you try that, and it seems more wrong, that means you're on the right track
you should be able to get pretty good offsets by negating the position and messing around in https://quaternions.online for the orientation
Quaternions - Visualisation
Visualising Quaternions, Converting to and from Euler Angles, Explanation of Quaternions
my brain hurts
P_middleofeyes_to_trackingcenter_oxr
right? I think imu
is what youre using for depthaiYou can probably start by just negating the X value of the quaternion
Oh yeah might be trackingcenter
I'm on like 25 hours of no sleep
yo get some
can't, have to wait for my 3D printer to finish
10 more minutes
:print: ā©