-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Oculus Quest native support #15659
Oculus Quest native support #15659
Conversation
Cool! Yeah, with OpenXR I don't think there are any licensing issues like there were with OpenVR and the old Oculus SDK. I think pushing early WIP code to an open PR like this is totally fine for something that might get kinda big, it's good for visibility and early reviews etc. Presumably once this is a bit more developed it could be extended to support other OpenXR platforms like Vive etc. |
Let's see how far I'll get. I saw there was a version for Oculus Rift but I cannot find the source codes. If you could point me on that fork I might get some parts from there (e.g. integration into the renderer). |
I think this might be the fork you are talking about: https://github.com/CarlKenner/ppsspp/tree/VR? |
Yes, thank you @iota97. |
Please just remember that:
And keeping that in mind don't try to clutter the project for everyone with thousands of ini files and hacks as the existing/abandoned project did. Thanks. |
Thanks @LunaMoo. I do not have high expectations. I saw the previous PCVR integration on videos so I know what you mean. I can imagine Lego games might be quite playable (bit like Moss game on Quest) but we will see... |
It will add some complexity, but I think it's not too big of a deal if we manage to keep the code fairly contained. As for the stereo rendering, in Vulkan there are convenient ways to draw into two layers of a render target, so only a few localized changes will be needed to get real stereo. Unfortunately, of course, things like stereo separation etc will need to be tweaked per game indeed. A single large ini with some defaults shouldn't be too bad as a start. |
As I didn't contribute into PPSSPP never before. |
That would be perfectly fine. I don't think the old VR build actually did proper stereo anyway? |
Not sure about it, I didn't use it myself. I saw YouTube videos of it only. |
Minimal integration works, bug fixing rounds starting. Changing it from draft to PR in hopes that it will start the build tests. |
Haven't looked at this much, but I feel like VR/ and quest/ needn't be on the root, maybe under GPU or quest under android or something. Not sure if things can just be shared with overrides. Approved the workflow run. -[Unknown] |
Thanks. VR folder could be definetely moved. However with quest folder it is bit tricky. The repository root is an Android Studio project. The android folder is a module of that project and quest is another module. Not sure how to do it better |
Note this PR waits on review/approval. The work continues here: https://github.com/lvonasek/ppsspp/commits/feature_openxr_6dof |
It's looking pretty good now. Tomorrow I'll be kicking off the 1.13 release process, so unfortunately, while this theoretically shouldn't have any impact, I can't take the risk of merging until it's done, which might ideally take a week (need to wait for crash report to come in and fix any issues) but can take little longer. Sorry for this delay, but thanks to git's branching flexibility you should have no problem keeping working on your branch on top of this as usual in the meantime. |
Sure, no problem, I fully understand that. Btw I got five early builds testers and they are pretty excited about it. To the video from Flatout, I shared in your Discord, the tester mentioned that it works much better than the old PPSSPP PC VR version already. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know I mentioned this before, but I still think VR should be somewhere else. Debugging, CPU emulation, input processing, software rendering, and file handling for example are all very important features of PPSSPP but they're not on the root.
We already have more files on the root than I think we should, but I don't think we need VR
on the root. It could maybe be under GPU or UI, IMHO. I get quest
because it's more of a port, which we do keep on the root.
-[Unknown]
@unknownbrackets I resolved some of the comments. Two of them I have a bit problem (at least ATM). Could you close them if you don't require it for this PR? I moved the VR folder under common, I do not want to put it into GPU|Input|UI simply because it wouldn't be right. I am completely fine to move it out of root. |
Common seems fine, sure. Thanks, sorry for being pedantic. -[Unknown] |
All good, I understand it is important to keep high code standards. |
Agree with Common as a pretty reasonable place for it, thanks! |
@hrydgard I managed to get rid of the Shall I add it into this PR? |
Yes please! Sorry I haven't gotten around to merging yet, but might as well get that into the branch too then - promise I'll merge after :) |
No need to sorry. Done, the |
Introduction
Initial work on OpenXR integration. Target of this PR is to have a working build for Oculus Quest with 2D screen in VR space controlled by Oculus Touch controllers.
Tasks for this PR
Tasks for the future PR(s)
OPENXR
defineRelated #11979, #15427