Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin OpenXR
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello All,

Using the search bar, I did not want to create another post regarding the development of Dolphin VR. As such, I felt it to be appropriate to offer a response to this thread in hope of resolving a question I had about such development.

Firstly, I have read all of the threads regarding the reason why Dolphin VR has essentially been at a standstill as far as development is concern, and I agree with the conclusion that it should be on hold due to the original developers own flaws.

However, I am hearing that once the development of "OpenXR" is complete, that the development of Dolphin XR(?) will commence, though not guaranteed?

I built my pc before I learned that it would be capable of playing VR games and have invested a lot of money in upgrades to be able to play VR games flawlessly. However, when I play dolphin VR, I find that my computer itself does not have issue but dolphin, itself, is struggling to play Metroid Prime VR or Super Mario Galaxy VR at half the speed in certain portions of their games.

My questions are as follows:

1. Because HTC is coming out with the Vive Pro, it is advisable for me to invest in the new VR headset when development of Dolphin XR has not commenced?

2. For the development of Dolphin XR, is there going to be a baseline requirement that I could learn about in advance to know what it will take to make games run in 60-90 fps?

I know these are some forward thinking questions, but of hearing about the development of OpenXR, I have hopes that some of my questions may be addressed early on so I can take advantage of the new version of dolphin as it comes through.
Well you are necroposting so I'll just do this-

*waves her magic moderator wand*

And here's new thread!

zelazon Wrote:However, I am hearing that once the development of "OpenXR" is complete, that the development of Dolphin XR(?) will commence, though not guaranteed?

It won't be a fork or anything. Once an open VR API appears, if a developer wants to implement it they'll just implement it into Dolphin master. So there will be no "Dolphin XR". It will just be a part of Dolphin.

zelazon Wrote:1. Because HTC is coming out with the Vive Pro, it is advisable for me to invest in the new VR headset when development of Dolphin XR has not commenced?

No. There is no telling when an open VR API will come out, and we have no idea which headsets it will support or require.

zelazon Wrote:2. For the development of Dolphin XR, is there going to be a baseline requirement that I could learn about in advance to know what it will take to make games run in 60-90 fps?

We have no idea when an open VR API will appear, and we won't know how demanding it is until we test it. However, Dolphin isn't as GPU demanding as a modern PC game though, so if you have already invested in a PC gaming machine for VR, I'm sure you'll be fine.

Just remember that Dolphin does not run games designed for VR, so um, keep your expectations low.
We have a vague idea of when there'll be an open VR API as Kronos is saying OpenXR should get an initial release in mid-2018. We also know it should at the least support the mainstream headsets as companies such as Oculus and HTC are on the committee. However, it may be years before someone puts in the work and brings VR support in Dolphin to a point where it could be considered good.
(01-24-2018, 01:20 PM)zelazon Wrote: [ -> ]2. For the development of Dolphin XR, is there going to be a baseline requirement that I could learn about in advance to know what it will take to make games run in 60-90 fps?

Let me focus on this technical question: Games render at a fixed framerate, often just 30 fps. There is no magic switch to get more frames outs of them. But you start on a few hacky parts:

1) You can modify the emulated game to render at 60 fps instead of 30 fps. This may work well if you just need to touch a single variable. But it is likely that this constant is inlined to many places in assembly and that you have to hack half of the physics and logic of the games. Just check for "60 fps hacks", there are some simple ones - and there are popular games without such a hack.

2) You can replay the last frames. Through it will still be 30 fps for the game content, you can replay every frame with different transformation matrices. So through the game outputs 30 fps, you'll get as many frames as you want for your head motion. But here you are going to need a detection for a "frame". As every frame depends on the result from the previous frame, this isn't that trivial and may work wrong for other games. But I think this is the way to go for VR.
(01-25-2018, 12:32 AM)AnyOldName3 Wrote: [ -> ]We have a vague idea of when there'll be an open VR API as Kronos is saying OpenXR should get an initial release in mid-2018. We also know it should at the least support the mainstream headsets as companies such as Oculus and HTC are on the committee. However, it may be years before someone puts in the work and brings VR support in Dolphin to a point where it could be considered good.

It was because I heard about OpenXR that I decided to make a post about the issue, since so little information is available. I figured that it may take some time and am trying to speculate a timeframe to work with to see if this should be a primary focus or something eventually to be considered down the line.

(01-25-2018, 12:58 AM)degasus Wrote: [ -> ]Let me focus on this technical question: Games render at a fixed framerate, often just 30 fps. There is no magic switch to get more frames outs of them. But you start on a few hacky parts:

1) You can modify the emulated game to render at 60 fps instead of 30 fps. This may work well if you just need to touch a single variable. But it is likely that this constant is inlined to many places in assembly and that you have to hack half of the physics and logic of the games. Just check for "60 fps hacks", there are some simple ones - and there are popular games without such a hack.

2) You can replay the last frames. Through it will still be 30 fps for the game content, you can replay every frame with different transformation matrices. So through the game outputs 30 fps, you'll get as many frames as you want for your head motion. But here you are going to need a detection for a "frame". As every frame depends on the result from the previous frame, this isn't that trivial and may work wrong for other games. But I think this is the way to go for VR.

1) I saw the hack on a few games to make them more seemless in VR, however, with games like Ocarina of Time, Wind Waker, or Star Fox 64, trying to use the hack to speed up the game to 60-90 frames would cause the games to become super laggy. Super Mario Galaxy and Metroid Prime worked seemlessly in their primary setting except in areas that had a lot of things occurring at the same time. 

2) I think I understand what you are referring to. In this case, what I saw with my experience with Dolphin VR is that the detection frames would cause the HMD (head mounted display) to incorrectly emulate what was going on in the headset, which would cause a stuttering of multiple images if the user turned their head left or right. I think with my current computer set-up, it did not have as much trouble with some of the weaker games (Super Mario 64 comes to mind), but stronger games would sometimes have this issue.

I'm more interested to see how the development of Dolphin with Open XR occurs so I can get a sense of the requirements, which will allow me to have a sense of what I need hardware-wise. I look forward to any future discussion on the matter.