/ Forums
New To The Forum? Click Here To Read The How To Guide. -- Developers Click Here.

Virtual Desktop 1.0 - Now available on Steam

guygodinguygodin Posts: 607
Art3mis
edited March 2016 in Showcase
Virtual Desktop is a little utility that improves your VR experience on the desktop. By efficiently replicating your desktop into the Rift, the application allows you to see your desktop on a giant virtual screen. You can browse the web, watch movies or even play non-VR games. It also allows you to launch VR games and resume from them without having to take your headset off.



After you launch Virtual Desktop, a tray icon will appear in your taskbar. From there you can manage your list of games, change your settings.

lVRMYkM.png
aQ0sZAK.png

You can also drag & drop executables or shortcuts to add more games to your list.

Requirements
- Windows 8 or 10
- Oculus 1.3 Runtime

Latest Changes
- Added ability to browse 360 photos
- Added mirror to monitor feature

Follow the link below to access the store page
Official website
Virtual Desktop Developer
«13456762

Comments

  • drashdrash Posts: 2,791
    Trinity
    Looks interesting! I wasn't able to get very far, though.

    After installing on Win8 64-bit, I switched to Extended mode, Rift is on and showing the non-icons part of my desktop, and then run Virtual Desktop. I see the eye icon in my system tray but when I mouse over it, it disappears. If I run it again, same thing. Looks like it's crashing?
  • AntonieBAntonieB Posts: 83
    Hiro Protagonist
    I have the same problem :)
  • guygodinguygodin Posts: 607
    Art3mis
    Thanks for trying it out, I think this may be related to a UAC issue as I try to copy the correct (Win32/x64) DLL at launch. I've now forced the app to x64 temporarily and added better error handling so hopefully now you'll get an actual error message :)

    The MSI has been updated. You should just need to install and it will take care of updating. Let me know if that solves your problem.

    Guy
    Virtual Desktop Developer
  • drashdrash Posts: 2,791
    Trinity
    Progress! Now it just says "Index was outside the bounds of the array". :)

    Also note that I had to first uninstall what was already there to get this error message to show up -- installing again over the old one wasn't sufficient.
  • guygodinguygodin Posts: 607
    Art3mis
    Hmm, is your desktop setup as your primary display and the rift as a secondary output in extended mode? And both are on the same video card?
    Virtual Desktop Developer
  • cyberealitycybereality Posts: 20,550 Oculus Staff
    Looks awesome, but I'm on Windows 7. Thanks, though.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 32GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • guygodinguygodin Posts: 607
    Art3mis
    Ah :( Are all the folks at oculus running windows 7 ? I know this will prevent lots of people from using it and I don't blame them. I was very hesitant to upgrade as well. In fact, the only reason I switched to Windows 8 was to try those new D3D11.1 APIs and they are quite amazing for VR I gotta say.

    drash and AntonieB, I've updated the app to correctly detect the desktop / rift outputs and warn you if it detects an incompatible configuration. Just uninstall the old one and install the new one and you should be able to get it to work :D
    Virtual Desktop Developer
  • cyberealitycybereality Posts: 20,550 Oculus Staff
    What's so great about DirectX 11.1 and VR?

    I'm still on Win7, but I would consider upgrading if there were significant gains.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 32GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • guygodinguygodin Posts: 607
    Art3mis
    What's so great about DirectX 11.1 and VR?

    I'm still on Win7, but I would consider upgrading if there were significant gains.
    It supports stereoscopic 3D natively (kinda like what tridef does). But the feature I'm using is called "output duplication" which essentially allows me to get access to the desktop image in GPU memory. This means I can copy the desktop texture, apply distortion and send it to the rift with practically zero CPU usage. The other solutions out there (like Deskope) have to copy the surface to system memory with Blt which is very cpu intensive so the framerates and size of the desktop are limited.

    I personally hate the whole app store and metro UI though. I turned it off completely. I'm using this Start8 program that brings back the start menu and disables the annoying hot corners.
    Virtual Desktop Developer
  • cyberealitycybereality Posts: 20,550 Oculus Staff
    OK, thanks. I'll be sure to check that out when I build a new computer (I'm waiting for the Haswell-E 8-core chip). Currently it doesn't make any sense to upgrade my old machine as I have too many things in the environment setup and working.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 32GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    PowerColor RX 480 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • mscoder610mscoder610 Posts: 112
    Hiro Protagonist
    No luck for me, I get an error message "Rift detected but display isn't active."

    Using an HDTV at 1080p for my primary display, Rift as secondary display in extended mode. Windows 8.1 64bit, Radeon 7950.
  • guygodinguygodin Posts: 607
    Art3mis
    Thanks mscoder for giving it a try. That message shows up when I can't match the DisplayDeviceName of the rift (from libOVR) to an output monitor in windows. At this point I guess I'll need a rift to test it out.. I'm coding against an imaginary device ><
    Virtual Desktop Developer
  • mscoder610mscoder610 Posts: 112
    Hiro Protagonist
    If it helps any - there's display detection code for the Rift in the OculusRoomTiny demo, if you're not already using that.

    If I build and run the OculusRoomTiny demo that comes with the SDK (v0.2.5), the DisplayDeviceName returned for me is "\\.\DISPLAY1\Monitor0". There's code in RenderTiny_D3D1X_Device.cpp, UpdateMonitorOutputs() that uses that name and matches it to the correct output.
  • guygodinguygodin Posts: 607
    Art3mis
    mscoder610 wrote:
    If it helps any - there's display detection code for the Rift in the OculusRoomTiny demo, if you're not already using that.

    If I build and run the OculusRoomTiny demo that comes with the SDK (v0.2.5), the DisplayDeviceName returned for me is "\\.\DISPLAY1\Monitor0". There's code in RenderTiny_D3D1X_Device.cpp, UpdateMonitorOutputs() that uses that name and matches it to the correct output.

    Oh sweet! Thanks for the info, I wasn't aware that they were appending a \Monitor0. I've updated Virtual Desktop, can you try it again, thanks a ton!!
    Virtual Desktop Developer
  • mscoder610mscoder610 Posts: 112
    Hiro Protagonist
    Cool, that update fixed it for me.

    I should have more time to test it later, but some initial thoughts:
    - I couldn't get fullscreen game duplication to work (I tried Half Life 2 which is DirectX, and EDuke(3D) which is OpenGL based.)
    - Performance does seem really solid, as you mentioned. I watched a 60FPS video in Windows Media Player, and played a little Half Life 2 (in windowed 1920x1080, since full screen didn't work for me), and both were captured very fast/ smoothly to the Rift.
    - I couldn't do anything closer than a Screen Distance of about 16.1cm without the display becoming doubled / hard to converge, and at that size it's hard to read text. I'd probably add a "zoom" option in addition to the screen distance. So, instead of just bringing the screen closer or farther away, you can increase/ decrease the screen size at whatever distance away it is from you.
    - An option to flip how the headtracking maps to looking around the screen on each axis would be nice. (Right now, looking up on the Rift tilts you toward the bottom of the screen - so this toggle/ option would make you look towards the top of the screen instead).

    It's a solid start, definitely.
  • guygodinguygodin Posts: 607
    Art3mis
    Awesome, thanks for your help mscoder!

    Those are great suggestions.
    - I'll double check with Half-Life why full screen duplication isn't working. I only tried with Hearthstone and assumed it worked for all games heh
    - I'll add a screen size slider, excellent idea. I think the optimal settings will differ based on the resolution of people's desktops. Perhaps I could come up with default settings for each resolution in addition to the sliders.
    - The inverted vertical head tracking wasn't intended. I probably just messed something up converting the RoomTiny sample to C#

    Thanks for your input, I really appreciate it. I will hopefully be able to get my hands on a kit by next week so I can fine tune the experience. I also plan to support multiple displays (essentially replicating the user's desktop configuration).
    Virtual Desktop Developer
  • guygodinguygodin Posts: 607
    Art3mis
    Turns out that if a game uses the DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY (like Half-Life 2) when they create their SwapChain, I won't be able to duplicate the display. So it will work for some games and not for others.

    - I've added a screen size slider in addition to the screen distance. It does seem to offer a different zoom experience, perhaps it will be more noticeable with a rift.
    - I think I've fixed the inverted pitch
    - Fixed some stability issues when switching in & out of games
    Virtual Desktop Developer
  • AxelBernadotteAxelBernadotte Posts: 194
    Hiro Protagonist
    edited May 2014
    This is great!

    Or it will soon be great.

    I have some feedback. I just now downloaded and tried it from the link at the top. System is Win8.1 with gtx690.

    Headtracking up-down is reversed (still) so that you have to look up to see the bottom of the screen.
    Calibration and making a profile worked well.
    There should be an option to change your lookoutpoint. As it is now, from the default position, I would love to have a way to step back so that I see the whole screen, I would like to be able to step up down right left in a grid of 3x3 steps, and I would like to step forward (zoom in) and then scroll left right up down.
    This would need 6 hotkeys.
    Actually I dont think you should bother with it. You know, the DK2 is just around the corner, and that has positional tracking.
    What I would like is that you implement the solution Teddy has in this demo: https://www.youtube.com/watch?v=yYvwMd4JCIM

    Base it on the absolute position of the headset, so that if I look closer the screen scales up, and if i move the head sideways I scroll, and if I am looking close I will scroll faster when moving sideways. That solution should be perfectly smooth and intuitive, without needing any hotkeys.
    (Or for this solution it might be good with one hotkey that freezes the scale you have at a particular distance, so you can move your head closer or back without scaling up or down at the same time, but the program should at all the time keep track on where your scale would suppose to be if it was not locked, so that if you hit the hotkey again the scale pops there and becomes dynamic again. Did that make sense?)
    Great work!
  • rubixcube6rubixcube6 Posts: 164
    Hiro Protagonist
    I get this error message when i try to run it. I'm running Windows 7 64Bit.
  • AxelBernadotteAxelBernadotte Posts: 194
    Hiro Protagonist
    I had that problem to. I dont remember what I did to fix it, but it might have been "run as adminstrator" or fiddling with the usb for the rift.

    Edit: No. I put it in extended mode.
  • guygodinguygodin Posts: 607
    Art3mis
    rubixcube6 wrote:
    I get this error message when i try to run it. I'm running Windows 7 64Bit.
    You will need Windows 8 to run Virtual Desktop btw. Odd exception though..

    Thanks for trying it Axel, I won't implement camera movement since DK2 will allow 6DOF as you mentioned. I can't quite figure out why the pitch is inverted. I've tried something else, no sure if that will work. That amplified movement approach looks really cool!

    I've added basic supersampling which helps make text a bit more readable.
    Virtual Desktop Developer
  • jasonatokcjasonatokc Posts: 353
    Works fine but the tracking needs to be inverted when I look up at a 2d display I want to look up not down and visa versa
    Nice demo though the option to invert the tracking would make it a lot better.
  • InfinimitsuInfinimitsu Posts: 29
    Lawnmower Man (or Woman)
    This looks great! A couple notes:

    It would be great to be able to curve the desktop slightly, like SteamVR.

    Also, it seems that the head turning is off. When I turn my head left, it seems the opposite intended effect happens, and same with turning my head right. Strange feeling, and is really the only thing holding me back from actually finding a use for this.

    Looks great, though! Nice and crisp.
  • guygodinguygodin Posts: 607
    Art3mis
    Thanks Infinite, I was also thinking of adding a curve to the screen to help. I'll wait for DK2 and see how comfortable the experience is. That could definitely be an option like the bendable samsung displays introduced at CES :P
    Virtual Desktop Developer
  • mylescoxmylescox Posts: 4
    With the new update it's absolutely perfect. My only suggested additions are:

    1) A keystroke to reset Rift orientation

    2) A curved screen, instead of a flat plane. Similar to Steam's VR Big Picture Mode.

    Thank you so much for this, Deskope is pretty terrible when it comes to framerate - this pulls a steady 60FPS always.
  • vonFeltyvonFelty Posts: 121
    Also on Windows 7.
  • fugazifugazi Posts: 109
    Incredible work, i would loved got this application when i had the DK1.
    One question, you have said that DirectX 11.1 gots native stereoscopic 3D.
    Do you think if it will be easy to mix this native stereoscopic 3D with the "output duplication" fuction?
    I mean, It will be totally amazing to play sterescopic 3D games in a giant vistual Screen at 60 fps.
    this can be one of the killer apps for oculus rift.

    thak you for your great job
  • guygodinguygodin Posts: 607
    Art3mis
    fugazi wrote:
    Do you think if it will be easy to mix this native stereoscopic 3D with the "output duplication" fuction?
    I mean, It will be totally amazing to play sterescopic 3D games in a giant vistual Screen at 60 fps.
    this can be one of the killer apps for oculus rift.
    The native stereoscopic functionality needs to be enabled at the driver level by Oculus (through EDID) but I'm not sure how that actually works. With the current version you can already play a fullscreen 2D game on your primary display and it will duplicate to the rift with distortion/stereoscopy (as long as the game allows access to its swap chain).
    mylescox wrote:
    My only suggested additions are:
    1) A keystroke to reset Rift orientation
    2) A curved screen, instead of a flat plane. Similar to Steam's VR Big Picture Mode.
    I'll add a keyboard shortcut to reset Rift orientation (something like F12?, is there a common key used by other apps to do this?). Curved screen is on my todo list.
    Virtual Desktop Developer
  • routb3droutb3d Posts: 45
    Lawnmower Man (or Woman)
    I got VD working after a few tries. Very cool so far. I opened 3D coat and messed around sculpting on my Cintiq Companion. That was fun but very difficult to do much in the Ui with the screen resolution and fixed head position against a flat screen. There has to be some slick way to make our 2D interfaces more tolerable in VR.

    Update: What if Your position to the screen drifted relative to the way you looked? Ie. I'm in the center of the screen reading some text, I look to the X in the upper right corner and my position drifts up until I'm centered and looking straight ahead at the X. The more extreme the angle of the look the faster the position would accelerate. There may also be a way to handle zoom with head movement as well.


    IC
  • guygodinguygodin Posts: 607
    Art3mis
    The DK2 (higher res and positional tracking) will help a lot I think. I'll have to experiment in July and see what works best. Thanks for the suggestions!

    I just added a button as well as a global hotkey to reset orientation (F4). Eventually the global hotkey should be configurable as it may interfere with certain programs.
    Virtual Desktop Developer
«13456762
Sign In or Register to comment.