Page 1 of 4

Updated Vireio Drivers, New Development Thread

Posted: Sun Jul 07, 2013 8:43 pm
by Neil
Hello everyone!

We are pleased to report that Vireio Perception has finally been updated. One of the biggest problems the drivers had was an inability to simultaneously render the left and right image at the same time. This was creating a discomfort for gamers, and it couldn't have been solved without rewriting much of the code that makes Vireio work.

While the whole team had a role in making this version of Vireio possible, Chris Drain has spent countless hours over the past few months to overcome this issue, and the work has paid off.

There are some big caveats, though. First, even though the updated drivers have demonstrated advantages over what we had before, a lot of the functionality is missing. For example, there is an automatic convergence/separation setting, but the SHOCT and convergence adjustment features aren't there yet. The 3D settings are also off because Chris couldn't visually test with an Oculus Rift directly. Finally, several games that worked before may no longer be functional because this new method of rendering DirectX in stereoscopic 3D form is more sensitive than what we had before.

After much internal discussion, we've agreed that it's time to diversify the pool of developers involved with the project. We are also looking at having a more robust official website for Vireio, and have been reaching out to the right people to help make this happen.

If you are a talented developer that is interested in helping lend a hand to this fun part of VR history, send me a PM! The important skills we are looking for include a keen understanding of C++ and DirectX. If you are serious about helping us out, we can even look at providing you with free game keys to build up your library for testing and development purposes.

Here are links to the current Vireio Perception release and the Github development portal:

Source Code: Vireio Perception Github
Official Builds: http://www.vireio.com
Wiki: http://www.mtbs3d.com/wiki/index.php?title=Vireio

We will continue to post links to the actual beta and test build releases in this thread as they become available.

Regards,
Neil

Re: Updated Vireio Drivers, New Development Thread

Posted: Sun Jul 07, 2013 9:37 pm
by yomer
Hi Neil,
Is there an official list of game compatibility? Which games are still better off with the earlier rendering method?

Great work by the way.

Re: Updated Vireio Drivers, New Development Thread

Posted: Sun Jul 07, 2013 10:09 pm
by Virgman
A big thanks to everyone involved for their hard work!

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Jul 08, 2013 4:20 am
by shole
Thanks for continuing development /o/

I was able to play arma2 with the d3d proxy1 version, but the new one crashes.
This is with just the .dlls, non-stereo, no profile.
Older versions also crash.

I think it would a useful feature to have a warp-overlay only setting (or even separate .dll) that did not try to do anything fancy and was more compatible.
This would be great for games that can feed headtracking in from elsewhere and 3d is either not important, or handled by something like tridef.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Jul 08, 2013 4:24 am
by Alesh
Wow, thanks a bunch for this update! You guys rock!

Just gave the latest version a go and I noticed my freePIE script doesn't work for roll tracking anymore. I have a YEI 3-Space tracker that I feed into Vireo through a Shared Memory Tracker mode. Was there an update that requires me to change something? It works fine with the previous version.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Jul 08, 2013 2:53 pm
by Ziggurat
Thank you for this!

Will the new binary allow you to change between the new and old render method?

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Jul 08, 2013 5:59 pm
by lmimmfn
Damit i had stereoscopic working in F1 2010 with this new driver and after trying to get head tracking working, i cant for the life of me get it working again, grrrrr.

*EDIT* Wow great work, finally got F1 2010 working again, without AA its running ~90FPS and plays brilliantly, dunno why 2xAA is taking such a hit, also need to figure out why it doesnt work after game exit and start, but works perfectly on reboot.

Fantastic work btw.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Jul 08, 2013 8:05 pm
by jpkrautw
Awesome! I know it can be frustrating to have to rip everything apart, but this is definitely the "right way". Chris and team, your work is much appreciated. Looking forward to watching compatibility and stability increase.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Jul 08, 2013 10:17 pm
by cybereality
Some things were fixed (primarily the simultaneous rendering), but it did break compatibility with some games.

Hopefully the community will be able to continue development and improve the support.

Re: Updated Vireio Drivers, New Development Thread

Posted: Tue Jul 09, 2013 5:27 am
by Alesh
Oh, I forgot to ask. Since it has changed so much, is there a new VireioSMT.DLL for use with freePIE? If so could someone please post a link?

Cheers!

Re: Updated Vireio Drivers, New Development Thread

Posted: Tue Jul 09, 2013 9:23 am
by Ryuuken24
Always great to have new drivers come around. Thanks! Does it accept new games by just adding them in the current game config file?

Re: Updated Vireio Drivers, New Development Thread

Posted: Tue Jul 09, 2013 1:17 pm
by CyberVillain
Alesh wrote:Oh, I forgot to ask. Since it has changed so much, is there a new VireioSMT.DLL for use with freePIE? If so could someone please post a link?

Cheers!

It would be better to support the now native FreePIE IO plugin
Wiki on how to implement it:
https://github.com/AndersMalmgren/FreeP ... /IO-Plugin

I've not worked with the Vireio source, but it should be a small thing for somene used to the code to implement it

Re: Updated Vireio Drivers, New Development Thread

Posted: Tue Jul 09, 2013 6:43 pm
by jpkrautw
edit: nevermind!

Re: Updated Vireio Drivers, New Development Thread

Posted: Wed Jul 10, 2013 1:39 am
by Mattijs
Thanks for all the effort to the contributers!

Does anybody know why i have 4 "eyes" displayed in DIRT2 and DIRT3?
I read it could be due to having two entries in the profile...but i have the vanilla profile that just have ONE entry
which does have game_name and game_exe as dirtx and dirt_game but that is in one profile.

Re: Updated Vireio Drivers, New Development Thread

Posted: Wed Jul 10, 2013 2:25 am
by mr.uu
Remove vireios d3d9.dll from game exe folder...

Re: Updated Vireio Drivers, New Development Thread

Posted: Wed Jul 10, 2013 2:06 pm
by Valez
Neil wrote: Official Builds: http://www.vireio.com
Wait, vow the version on vireio.com is the newest one and the version from vire.io is old?
This is confusing like hell.

Re: Updated Vireio Drivers, New Development Thread

Posted: Wed Jul 10, 2013 6:41 pm
by stevetb
Valez wrote:
Neil wrote: Official Builds: http://www.vireio.com
Wait, vow the version on vireio.com is the newest one and the version from vire.io is old?
This is confusing like hell.
Yes, I completely agree, very confusing. Your comment cracked me up BTW, very funny.

Re: Updated Vireio Drivers, New Development Thread

Posted: Thu Jul 11, 2013 1:34 pm
by gravity360
Should add a list of compatible games to the main site for the download.

Re: Updated Vireio Drivers, New Development Thread

Posted: Thu Jul 11, 2013 3:45 pm
by Neil
A list would be meaningless right now. There is a lot of stuff that was omitted in this build of the drivers which really hurts their functionality compared to what we had before, and we are working on bringing things back to life. It was a big step forward to get the simultaneous rendering up to speed, but the tradeoff was equally huge. So...we have to be patient.

We could use some help, and if there are interested developers out there, please PM me.

Regards,
Neil

Re: Updated Vireio Drivers, New Development Thread

Posted: Thu Jul 11, 2013 9:10 pm
by Jademalo
What was the last version before the big rewrite?
I was looking forward to trying Skyrim.

Re: Updated Vireio Drivers, New Development Thread

Posted: Fri Jul 12, 2013 3:47 pm
by lmimmfn
Jademalo wrote:What was the last version before the big rewrite?
I was looking forward to trying Skyrim.
1.5 beta was the old one that worked with skyrim, it was replaced with the new non interleaved per eye rendering and the latest version is 1.1, lol, go figure, complete balls on the versioning.

Re: Updated Vireio Drivers, New Development Thread

Posted: Fri Jul 12, 2013 9:47 pm
by mgood
That's because this new version is Stereoificator by Chris Drain, who forked the project to a new one after he was banned from these forums. You can visit his website here: http://www.chrisdrain.com/hmd-stereoificator/

Chris Drain is still updating the program (he just has actually), so it seems to me that finding another developer to work on a fork of his fork is inefficient and would lead to even more confusion.

Re: Updated Vireio Drivers, New Development Thread

Posted: Sat Jul 13, 2013 4:57 am
by CyberVillain
Why was he banned?

Re: Updated Vireio Drivers, New Development Thread

Posted: Sun Jul 14, 2013 2:56 pm
by Neil
Why was he banned?
Chris isn't banned on MTBS. It's no secret that there was a sudden disagreement, and the entire group worked very hard to resolve it. In fact, we even offered him a moderator spot on MTBS to help these efforts and demonstrate our trust in him. The group's efforts didn't work out, and it's out of our hands now.

Leading up to this point, MTBS gave him free software for Virieo testing and development, the group was cooperatively Skyping together for months without incident or warning, and the Vireio community (MTBS' forums) was used as a means to test and get feedback for future Vireio development. Chris' "fork" is the result of several months of work and discussion which everyone invested in. Nobody has the right to just take it and call it their own.

Cybereality (Vireio's original author) absorbed Chris' work into the main Vireio branch where it always belonged so others can continue. We didn't just arrive at this decision; it was well discussed internally and seemed to be the only solution that would let Vireio continue, and let Chris do whatever he wants on his own without conflict.

Moving forward, whatever Chris chooses to do can go in a completely different direction than what we have in mind; and I wish him luck with this. In the meantime, Vireio is developing into something different. Of course, Chris is welcome to participate with us again. That's the nature of open source.

This particular forum is dedicated to the development of Vireio. If you wish to discuss Chris' work, I recommend doing so here.

Thanks for your understanding,
Neil

Re: Updated Vireio Drivers, New Development Thread

Posted: Sun Jul 14, 2013 6:33 pm
by Fredz
Neil wrote:Chris' "fork" is the result of several months of work and discussion which everyone invested in. Nobody has the right to just take it and call it their own.
(...)
Cybereality (Vireio's original author) absorbed Chris' work into the main Vireio branch where it always belonged so others can continue.
That's the principle of open source, when it's released anyone can do what he wants with it as long as the license is respected. Chris had all the rights to fork Vireio and do things on his side, and you also had all the rights to backport his changes in Vireio.

Anyway, a little bit of competition is never harmful, I certainly hope this will push stereo drivers for the Rift in the good direction.

Re: Updated Vireio Drivers, New Development Thread

Posted: Tue Jul 16, 2013 5:52 pm
by lamamanxxx
I dunno if it is just me, but my eyes are swapped for some reason. I havn't had this issue in the last builds. Using the F6 key has no effect. Anyone else having this issue??

Thanks

Re: Updated Vireio Drivers, New Development Thread

Posted: Wed Jul 17, 2013 5:08 am
by Mattijs
The oculus track modus seems to somehow work but only for roll in DIRT3. I used opentrack to solve this but i think it adds latency.
Is this to be expected with the current build?

Re: Updated Vireio Drivers, New Development Thread

Posted: Wed Jul 17, 2013 9:29 am
by Ryuuken24
lamamanxxx wrote:I dunno if it is just me, but my eyes are swapped for some reason. I havn't had this issue in the last builds. Using the F6 key has no effect. Anyone else having this issue??

Thanks
Yeah. We need to keep using the 5rc driver a little longer. The current Vireio is broken, nothing you do will fix it, since it's a programming error, it's being debugged.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Aug 19, 2013 8:46 am
by mm0zct
The oculus track modus seems to somehow work but only for roll in DIRT3. I used opentrack to solve this but i think it adds latency.
Is this to be expected with the current build?
Oculus Track uses mouse emulation for pitch and yaw, which obviously doesn't work with cockpit sim games like Dirt3. Opentrack hooks into the TrackIR interface which Dirt3 exposes for native head tracking. I don't know where the latency you are experiencing comes from but if you have a good framerate there should be negligible added latency going via opentrack (it's updating at 100Hz internally, it just depends on how often Dirt3 actually polls the new tracker position).

Re: Updated Vireio Drivers, New Development Thread

Posted: Sun Sep 08, 2013 3:54 am
by XCHDave
Love the idea of using the rift with games already released. What a great project.

I come from a game hacker background, my passion has always been in reversing games. Haven't looked at the code yet but will be interested to see how you are implementing the tracker.

I see that support for games need to be added individually so my question is what really needs to be added/worked out for support to be added for a game?

Just got a new gaming rig and my dev kits only just arrived so will be a few days before I can take a look at this driver and work out the code and how it works.

Re: Updated Vireio Drivers, New Development Thread

Posted: Sun Sep 08, 2013 3:01 pm
by cybereality
For tracking it's mostly just using mouse emulation using a Windows function "SendInput()". For roll we have to alter the worldViewProjection matrix as it goes into the vertex shader.

The reason there needs to be special code for each game/engine is that it seems developers all do slightly different things when rendering the game. The matrices could be in a different format (row or column major), they could be input into a different slot in the shader, stuff like that. Ultimately they are doing the same thing but it may require customization to get it to look right.

If you would like to join the development team, please PM Neil. Though you can check the GitHub and start working whenever you want, it might be nice to coordinate your effort with the other developers. Good luck.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Sep 09, 2013 5:22 am
by GameDev
Hey Guys,

Needed some help, its a bit confusing as to know which Vireio drivers are the latest. Is the best way to go to the Github directory and download it or is the one on the official site still the best one to download even though its not supported any more?

The reason why i want the latest, is because i have seen people playing games with this driver on youtube such as Slender The Arrival. But i have been unable to find any instructions on how to get it working?!

If anyone knows please let me know.

Thanks.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Sep 09, 2013 6:49 am
by baggyg
GameDev wrote:Hey Guys,

Needed some help, its a bit confusing as to know which Vireio drivers are the latest. Is the best way to go to the Github directory and download it or is the one on the official site still the best one to download even though its not supported any more?

The reason why i want the latest, is because i have seen people playing games with this driver on youtube such as Slender The Arrival. But i have been unable to find any instructions on how to get it working?!

If anyone knows please let me know.

Thanks.
Things are a bit complicated at the moment since the Virieo was changed relatively recently to use proper stereo rendering (rather than alternate frames per eye). However this caused a lot of the features / support to be lost. The team are currently working on bringing it back. However this leads to the situation where the older versions are actually a bit better than the latest (at least in terms of support). You can see the latest / beta at the official site: http://www.virieo.com. If I were you I would get 1.1.0, the latest beta as well as the latest version pre stereo. Then just use the one that works best per game. Otherwise, just be a bit patient, the team are doing great work and should have a latest, greatest one soon.

In terms of Slender: The arrival, this doesnt work well on any version (the youtube ones I have seen have issues). However there is official support incoming, so expect an update soon to add that. This will be hopefully much better than any middleware driver can achieve.

Hope this helps.

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Sep 09, 2013 8:01 am
by GameDev
baggyg wrote:
GameDev wrote:Hey Guys,

Needed some help, its a bit confusing as to know which Vireio drivers are the latest. Is the best way to go to the Github directory and download it or is the one on the official site still the best one to download even though its not supported any more?

The reason why i want the latest, is because i have seen people playing games with this driver on youtube such as Slender The Arrival. But i have been unable to find any instructions on how to get it working?!

If anyone knows please let me know.

Thanks.
Things are a bit complicated at the moment since the Virieo was changed relatively recently to use proper stereo rendering (rather than alternate frames per eye). However this caused a lot of the features / support to be lost. The team are currently working on bringing it back. However this leads to the situation where the older versions are actually a bit better than the latest (at least in terms of support). You can see the latest / beta at the official site: http://www.virieo.com. If I were you I would get 1.1.0, the latest beta as well as the latest version pre stereo. Then just use the one that works best per game. Otherwise, just be a bit patient, the team are doing great work and should have a latest, greatest one soon.

In terms of Slender: The arrival, this doesnt work well on any version (the youtube ones I have seen have issues). However there is official support incoming, so expect an update soon to add that. This will be hopefully much better than any middleware driver can achieve.

Hope this helps.
Thank you for the update. Cool, so for now ill download and use the Beta one like you said for the older games. Then update to the latest version once released. Yes i heard about the official support for slender but didnt know when this might arrive to us - hence i was wondering if i could use this driver for the game as one of the youtube videos (can't remember which one) said that he had used this driver for it.

TriDef3D also doesnt have support for this game, although i tried that driver with Metro Last light and it worked very well. Im also waiting on VorpX to release, i think like alot of the Oculus Owners thanks to its huge compatibility of supported titles.

Thanks

Re: Updated Vireio Drivers, New Development Thread

Posted: Mon Sep 09, 2013 11:19 am
by Neil
XCHDave wrote:Love the idea of using the rift with games already released. What a great project.

I come from a game hacker background, my passion has always been in reversing games. Haven't looked at the code yet but will be interested to see how you are implementing the tracker.

I see that support for games need to be added individually so my question is what really needs to be added/worked out for support to be added for a game?

Just got a new gaming rig and my dev kits only just arrived so will be a few days before I can take a look at this driver and work out the code and how it works.

Good stuff! I'll PM you with some extra details.

Regards,
Neil

Re: Updated Vireio Drivers, New Development Thread

Posted: Tue Sep 10, 2013 2:33 am
by RescueGamer
I want that extra details too if it's possible, because I only have my DIY Rift, and because that Vireio is the best driver for me, so I want to be informed all I can :P

Re: Updated Vireio Drivers, New Development Thread

Posted: Sat Sep 21, 2013 10:28 am
by scarletshark
My background is primarily in 3D visualization and animation, but I also have some experience in software engineering and a passion for new tech. I've had my dev kit for a few months, and I've dabbled with your release, but haven't yet gotten to check out your code... been too busy with side projects.

For now I'm just checking out how it works, but I'd be interested in potentially helping out in the future. Neil, could you also send details my way?

Appreciate it!

Re: Updated Vireio Drivers, New Development Thread

Posted: Sat Sep 28, 2013 3:47 pm
by Matthew
Neil wrote:One of the biggest problems the drivers had was an inability to simultaneously render the left and right image at the same time. This was creating a discomfort for gamers, and it couldn't have been solved without rewriting much of the code that makes Vireio work.
Thanks so much for fixing this. Making it render that way was a terrible idea from the start.

How exactly does it render both images effectively at the same time? The proper way of implementing a stereo driver or wrapper is to have two separate back buffer textures set up in addition to the main back buffer, one for the left eye image and the other for the right eye image, with two separate depth buffers. Whenever the back buffer is cleared or a set of primitives is rendered, immediately do it for both eyes, and whenever the buffer swap is done, before doing the swap, display the left and right eye textures to the main back buffer, using a shader to display it in the proper format. If the format requires a lower resolution, it should downscale it with pixel averaging. Is this how it does it?


Neil wrote:Finally, several games that worked before may no longer be functional because this new method of rendering DirectX in stereoscopic 3D form is more sensitive than what we had before.
If you used the above method, the only restriction would be that the game has to use back buffering.


Neil wrote:For example, there is an automatic convergence/separation setting, but the SHOCT and convergence adjustment features aren't there yet.
This is ridiculous. Have you fixed this yet? The user needs to be able to set both the separation and the convergence. The convergence setting is dependent on the particular display being used, so the user must be able to set this. And I hope you haven't included an "autofocus" feature, as iZ3D and Tridef did. That is a terrible idea, obviously from people who don't know how to do 3D right.

And "convergence" should actually be done by shifting the left and right eye images, not by rotating the cameras. It's purpose is to compensate for the physical distance between the viewers eyes.

Re: Updated Vireio Drivers, New Development Thread

Posted: Sat Sep 28, 2013 7:41 pm
by Neil
Hi Matthew,

Thanks for your kind words. We aren't there yet, but once we have a working driver, I'll make arrangements for the developers to answer these questions directly - and that day will come! We are very much committed to having Vireio see the light of day again. We have to restore our honor, after all! :lol:

Thank you for your continued patience.

Regards,
Neil

Re: Updated Vireio Drivers, New Development Thread

Posted: Sun Sep 29, 2013 6:41 am
by baggyg
Hi guys, please be aware that these developers are doing this for free just so the community can have a good open source driver. Virieo has gone through a massive change with the rendering and it is going to take time to build up the functionality again. Please be patient but most of all grateful these guys are spending their free time for our benefit. The fact that a feature is not available yet is certainly not ridiculous. Regarding autofocus this is an option in Tridef. Some users (admittedly not most) do prefer this. It is far better for developers to give the users the choice of whether we like something or not.