-
-
Notifications
You must be signed in to change notification settings - Fork 28
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
Verify builds on other machines #79
Comments
@pwcl Could you please try a build on Linux? It will almost certainly fail but it'll be fun to find out why. |
On Windows, trying to run
|
Thanks so much to @sinoth for finding these issues!
|
Hey, this project looks awesome, pretty much exactly what I was looking for :) I gave it a try yesterday. I had to replace both *.so for it to compile, and chmod +x. Unfortunately the activity never starts on the headset, it keeps loading. I didn't use the |
@pierre-l Did you get a black screen? If so, try emulating what the run_on_device.ps1 script in the project root is doing. Using something like This will allow you to see if/how the app is crashing. In my case, it was an error with the most recent crate of OpenXR and the version of ndk-glue being requested. @kanerogers pushed a fix very recently for this. Try pulling the most recent commit to see if it helps. If the activity fails to install to the device, then I'm not sure! Maybe add to this issue the console output of the |
@sinoth I get a panic from
|
@pierre-l This is exactly the error I was getting before @kanerogers updated the |
@sinoth I was using the Oculus mobile SDK v35. Rolling back to v34 allowed me to go further.
Investigating... |
Holy smokes @pierre-l ! Thanks so much for checking out Hotham and big thanks to @sinoth for helping out! Sorry it took me a while to reply - I try to take at least Saturday off. 😄 @pierre-l can I ask what example you're trying to run that's giving you the texture error? Potentially it's one of the older ones that I haven't been keeping up to date. If you try the beat saber example, that's usually the most up to date and stable. It won't show you the game at the moment, but it will give you a UI test, and importantly, it should build. If you're still having issues, let me know and I can investigate further! |
Interesting! I've been hand building libopenxr rather than using the Oculus SDK. I'll check this out! |
I hadn't enabled LFS, sorry! I'm now able to get even further without having to change any Another panic, but I feel close!
|
No need to apologise @pierre-l ! I provided no documentation whatsoever, the fact that you've made it this far is a miracle! Just to confirm: which example are you running and on what device? |
@kanerogers I'm running the beat saber example on the original Oculus Quest |
Aha, that may be the issue. Potentially the number of descriptors is lower on the Quest 1: I haven't run any of the more recent demos on it in a while. Descriptor pool sizes still needs to be set correctly: from memory I just set them to whatever value will make a given scene work. I had recently tested the Quest 2 on some very complex scenes, so potentially that's why the number is so high right now. I'll take a look on my Quest 1 tonight, but in the meantime if you want to just get something working, take a look in Long term the solution should be to have a more programmatic pool size: either the max size the device will give us, or perhaps based on an analysis of the scene. |
No luck with 10/100/1000 values :'( |
Rats! I ran out of time yesterday @pierre-l but I'll make sure I get onto this today! |
@pierre-l PS. @sinoth suggested I create a Hotham Discord - please feel free to jump in if you want to get some realtime support on Hotham: https://discord.gg/qxnd5XjD |
@kanerogers Victory! Cubes are displayed, I can control the sabers, this is awesome! Thanks for the fix! I'll see you on Discord :) |
Yay! 😁 |
@kanerogers just as another bullet point to help you check off another box: building on linux ( *excluding the bug I've seen in other XR projects regarding needing to reinstall every run. but that's not really relevant to being able to build on linux |
Nice!! Thanks so much! Can you expand on the second point a bit though? |
Needed to find some time to recreate but here's all the issues I hit. I do not think any of them have anything to do with linux but feel free to let me know if you want any of these broken out into their own issues. Audio IssueFirst up, audio doesn't seem to work. Digging through logs this seems to be the culprit:
For context this is on a Quest 2 (with earbuds connected, don't remember how android audio sources work off the top of my head so this may or may not be relevant). Requires Reinstall/Reboot to RelaunchBehavior observed: After first running the demo either a reinstall of the demo or a reboot of the quest is required to launch again. Additional launches result in an unrendered window (eg an empty "2d android app" window pops up, but the "contents" are just transparent/nonexistant). No Vulkan errors in the logs and they mostly seem to be exactly how they look when the demo works properly. I have a suspicion this bit of the logs is indirectly relevant:
If I had to guess, your android event handling isn't properly exiting the process, so when it tries to launch a second instance it tries to begin debugging but the address is already bound to by the activity. I looked through your code and am honestly having a bit of trouble finding any issue in how you're handling this. My one guess is that this unconditional break here seems incorrect: Lines 110 to 124 in ea8c0b2
I think what you actually want here is: while let Some(event) = self.poll_android_events() {
println!("[HOTHAM_ANDROID] Received event {:?}", event);
match event {
ndk_glue::Event::Resume => self.resumed = true,
ndk_glue::Event::Destroy | ndk_glue::Event::WindowDestroyed => {
self.should_quit.store(true, Ordering::Relaxed);
return true;
}
ndk_glue::Event::Pause => self.resumed = false,
_ => {}
}
} eg rather than break after the first iteration, stop looping once there are no more events to handle. I also can't say I have the highest confidence in the empty wildcard branch either. If you'd like I can try testing/PRing the above if you think that's correct. |
All systems green! |
Description
In order for other people to use hotham, they're going to need to build it on their machine!
TODO
The text was updated successfully, but these errors were encountered: