New to the forums? Click here to read the "How To" Guide.

Developer? Click here to go to the Developer Forums.

Virtual Desktop 1.0 - Now available on Steam

2456762

Comments

  • QohelethQoheleth Posts: 16
    guygodin, in your research in creating the vr desktop, do you know if it's possible to get access to the image of a window (not the whole desktop), in gpu memory?
  • guygodinguygodin Posts: 611
    Art3mis
    Qoheleth wrote:
    guygodin, in your research in creating the vr desktop, do you know if it's possible to get access to the image of a window (not the whole desktop), in gpu memory?
    Unfortunately no, at least not with the desktop duplication API. You can however copy a sub-region of the desktop (a specific window's bounds for example) but if another window overlaps it, you will get the combination of both in your texture. It would have been cool to be able to copy individual windows; I would have been able to create depth effects between them and create a true "3D" desktop.

    I've read that its possible to get individual window textures through GDI (even if other window overlap) but this is rather slow has the textures need to be copied from the GPU to system memory.
    Virtual Desktop Developer
  • Cool Stuff^^ This is almost the Way i want for a VR Desktop. With the Positional Tracking of the DK2 it will be awesome.

    But, the one Big Problem with every VR desktop i tryed till now, the resolution is way to small. I mean, when i already use a Desktop with a resolution of 1920*1080, why not make the workspace a lot bigger? 7680*4320 or so.... the viewfield would be still 1920*1080 but the space to put Big programs could be nearly endless. Of course would a startbutton or a Taskbar useless then...
  • mylescoxmylescox Posts: 4
    NerveGear
    guygodin wrote:
    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.

    F12 is the dedicated screenshot button in Steam games.

    I was thinking something like CTRL+Scroll Lock.
  • guygodinguygodin Posts: 611
    Art3mis
    mylescox wrote:
    F12 is the dedicated screenshot button in Steam games.

    I was thinking something like CTRL+Scroll Lock.
    I already implemented it, it's F4 for now but will make it configurable in the future.
    I've also added a curved screen option, let me know what you guys think.
    Virtual Desktop Developer
  • Really nice, I like it really much! Do you plan to open up the source code on github?
    I'd really like to see features like: neck-model integration (maybe obsolete with Dk2) and the ability to move the screen around (I'd like it to be further down, not straight ahead).

    Additionally: Whats the real difference between distance and size? I know what each slider does, but in the end, both produce the same result, don't they?

    And last but not least: I have a dual monitor setup and I'd really like to see the second monitor too. Maybe its even possible to emulate even more single desktops which can be placed independantly?

    Thanks for your great software! :)

    Edit:
    The curved screen features doesn't work for me, the screen gets unresponsive and jumps around :S
  • guygodinguygodin Posts: 611
    Art3mis
    Really nice, I like it really much! Do you plan to open up the source code on github?
    No plans no, I did release SharpOVR though (a NuGet package that contains a .NET API to libOVR)
    I'd really like to see features like: neck-model integration (maybe obsolete with Dk2) and the ability to move the screen around (I'd like it to be further down, not straight ahead).
    I'll keep that in mind, thanks for the suggestion!
    Additionally: Whats the real difference between distance and size? I know what each slider does, but in the end, both produce the same result, don't they?
    That's a good question, I was asked to add that but I have no idea how it feels since I don't have a devkit to test it. I was under the impression it helped focusing on stuff that was further away from your eyes.
    And last but not least: I have a dual monitor setup and I'd really like to see the second monitor too. Maybe its even possible to emulate even more single desktops which can be placed independantly?
    I do plan on adding multi monitor support. I am limited to displaying physical monitors only as Windows doesn't have the concept of a virtual screen like Unix/Linux has. So if you have 2 monitors in addition to your rift (and assuming they are all plugged in the same video card) you will be able to see both screens in VD. I was planning on replicating the position that is setup in windows for the displays in virtual space.


    Hopefully this makes sense, on a side note I've tweaked a couple things that might solve the curved screen display, thanks for trying it out!
    Virtual Desktop Developer
  • InfinimitsuInfinimitsu Posts: 29
    Brain Burst
    I see that you've added the "Curved Screen" option, but when I tick the box the who thing becomes unstable and glitchy until I untick the box.

    Also, I'm not sure if I'm supposed to be able to play games from my library which run from my GPU but I've tried at it just shows a black screen on the Rift. I was hoping to be able to play games from my Steam library on a glorious huge curved screen.

    Still, a much better experience than with Deskope. Can't wait to see this on DK2!
  • MiDAwEMiDAwE Posts: 4
    NerveGear
    I gave it a try on Win8 64. It won't start; complaining about:

    An attempt was made to load a program with an incorrect format.
    (Exception from HRESULT: 0x8007000B)

    Any suggestions?

    Thanks
  • guygodinguygodin Posts: 611
    Art3mis
    I see that you've added the "Curved Screen" option, but when I tick the box the who thing becomes unstable and glitchy until I untick the box.
    Thanks for letting me know. I've looked into it and put in a fix, when you get a minute let me know if that fixes it for you.
    Also, I'm not sure if I'm supposed to be able to play games from my library which run from my GPU but I've tried at it just shows a black screen on the Rift. I was hoping to be able to play games from my Steam library on a glorious huge curved screen.
    It will work for some games and not for others. It depends if the game prohibits me from duplicating the display. One way around this is to run the game in windowed mode.
    MiDAwE wrote:
    An attempt was made to load a program with an incorrect format.
    (Exception from HRESULT: 0x8007000B)
    That error indicates that the application is trying to load a DLL in the wrong architecture (32bit/64bit). Very strange as its supposed to load the correct one depending on your system. Can you give me more details about your PC? Thanks!
    Virtual Desktop Developer
  • smsithlordsmsithlord Posts: 64
    Amazing. This looks like it may be the solution I've been waiting for for playing 2D games without having to remove the Oculus. This is the first thing that's actually made me want to upgrade to Windows 8!
  • MiDAwEMiDAwE Posts: 4
    NerveGear
    At first attempt it was complaining about not finding libOVR.dll & so I found the dll in my "\AppData\Local\Temp" directory and copied it to "\Windows\System32" and tried again that is when I got the error, but not more complaint about not finding the dll.

    Everything else is working normally.

    While installing Virtual Desktop, I noticed that it installed by default to "\Program Files (x86)" I saw no option for 32 or 64 bit version intallation.

    ::
    Windows 8.1
    Processor - AMD FX-8320 Eight-Core 3.51 GHz
    RAM - 16GB
    Sytem type - 64-bit Operating System, x64-based processor
    Graphics - Nvidia GeForce GTX 580 3072mb GDDR5
    ::
  • guygodinguygodin Posts: 611
    Art3mis
    Thanks MiDAwE, the installer is x86 (because I have to pick a platform for the MSI) but the actual executable is platform agnostic. At startup it will copy the appropriate 32bit/64bit libOVR.dll in the temp folder and load the library. For some reason on your system, it copied the 32-bit one to temp but runs in 64bit mode (or vice-versa). Really odd.

    I've updated the installer to include the 64bit DLL in the installation folder by default. Can you try to re-install and let me know if that fixes it for you?

    Thanks for your help!
    Virtual Desktop Developer
  • MiDAwEMiDAwE Posts: 4
    NerveGear
    Ok, thank you; I'm going to try it out right away. I'll report back asap.

    Is the link in the first post the correct one? I ask because, nothing changed. Install and errors is identical as before. I did do a clean install.
  • guygodinguygodin Posts: 611
    Art3mis
    I've created separate x86/x64 installers to see if this solves your issue. Try this one here: http://1drv.ms/SGQ1jJ
    Virtual Desktop Developer
  • AngelJAngelJ Posts: 173
    This is very cool. I look forward to trying it on my Windows 8 machine.

    While working on Deskope I looked into the Desktop Duplication API a bit, but not too much because I didn't want to do anything OS-specific yet (I even insisted on supporting XP, lol). Down the road I wanted to use different API's for best performance depending on the user's OS, but I haven't really been working on it lately.

    Anyway, good luck!
  • guygodinguygodin Posts: 611
    Art3mis
    AngelJ wrote:
    This is very cool. I look forward to trying it on my Windows 8 machine.

    While working on Deskope I looked into the Desktop Duplication API a bit, but not too much because I didn't want to do anything OS-specific yet (I even insisted on supporting XP, lol). Down the road I wanted to use different API's for best performance depending on the user's OS, but I haven't really been working on it lately.

    Anyway, good luck!
    Thanks for the feedback Angel, your app among others was what inspired me to work on this :D
    I looked at supporting Win7 (or older) with perhaps a mirror driver rather than BitBlt the screen but I'm not sure if that would work to capture the desktop and what kind of performance to expect. You are right that specific APIs for each platform is probably the way to go but that's a lot of work and not easy to develop/test :P
    Virtual Desktop Developer
  • What do I do when my laptop has optimus?

    It says that my desktop must be using the same GPU as my rift.

    Any idea?
  • guygodinguygodin Posts: 611
    Art3mis
    Raptor5150 wrote:
    What do I do when my laptop has optimus?

    It says that my desktop must be using the same GPU as my rift.

    Any idea?
    I had to read about optimus, didn't know what that was. Is there a way for you to disable it and force the NVidia GPU to be active at all times rather than the integrated graphics?

    I don't have multiple adapters to test which is why I limited it to work with outputs from the same GPU. If you are interested I could give you a build that removes that restriction and you could tell me if it works and what the performance looks like? Let me know
    Virtual Desktop Developer
  • cyberealitycybereality Posts: 26,156 Oculus Staff
    You can try forcing the Nvidia GPU in the display settings. However, I do know some Optimus laptops can *only* use the Nvidia GPU on the laptop LCD. When you use an external monitor (or the Rift) it will use the Intel integrated GPU. It's like this on my Lenovo Y570 (Nvidia 555m) and maybe some others. I'm not sure if they fixed this or what.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • guygodinguygodin Posts: 611
    Art3mis
    Thanks for the info cyber. I've removed the restriction in the latest version Raptor, let me know if you encounter any issues.

    I've added lots of new functionality in the latest build,
    check the first page (https://developer.oculusvr.com/forums/viewtopic.php?f=29&t=8182) for more information.
    Virtual Desktop Developer
  • DomitjenDomitjen Posts: 269
    Nexus 6
    Can someone clarify for me if I HAVE to install windows 8.1 or if it's just recommended for this application? I'm currently using Windows 7.
  • guygodinguygodin Posts: 611
    Art3mis
    You don't have to if you just want the launcher functionality. But if you want to see your desktop on the rift when you're not in a game, you will need Windows 8, yes. I'd recommend you first try it out with Windows 7, that will give you an idea of how it works.

    I am investigating hardware specific APIs (from nvidia) to support the same performance in Windows 7 but I can't make any promises.
    Virtual Desktop Developer
  • mrgreen72mrgreen72 Posts: 683
    Art3mis
    Sweet! I finally have a good reason to run Windows 8.1! :lol:

    Looking forward to try that tonight!
  • ccsccs Posts: 219
    Hiro Protagonist
    This is a great start!

    A couple of issues:
    1. If you set the screen distance fairly low (say at starting 50cm), and look left or right, it is quite apparent that the image convergence is off. It is bad enough to hurt my eyes. If you are looking straight, everything is properly in place. So I think there is something wrong with your projection matrix. This isn't a huge deal because if you are too close, you can really see the whole screen at once. At higher distance, it works great.

    2. The curved screen option just gives you odd distortion. It doesn't feel like the screen is wrapped around me.

    A suggestion:
    In experimenting with GUI panels in my app, I found something that works quite well, but might be hard to explain. If you set the screen object to 'LookAt' a point somewhere behind your head, when you turn your head right, the screen will actually pan right in a natural way. In effect it amplifies your head movement. This would allow you to more easily see and interact with a larger screen size. For this type of app I think it would work really well. I might post a demo sample to show what I mean since words don't really describe it well.
  • guygodinguygodin Posts: 611
    Art3mis
    Thanks ccs, your suggestion makes sense. When you turn your head right you essentially convert the rotation to a translation to the right, correct?
    Virtual Desktop Developer
  • ccsccs Posts: 219
    Hiro Protagonist
    Yeah there is some translation involved as well, but mostly rotation to tilt the screen left/right up/down as you turn your head.

    Here is a link to a very simple demo of what I mean:

    https://www.dropbox.com/s/6jksvh7x1is4v72/ScreenPan.zip

    I know you aren't using Unity, but here is the Unity C# code I used to achieve this affect:
    using UnityEngine;
    using System.Collections;
    
    public class MoveAsOtherAndLookAt : MonoBehaviour {
    
    	public Transform LookAtTransform;
    	public float MoveTowardsLookAtDistance = 0.0f;
    
    	void Update () {
    		if (LookAtTransform) {
    			transform.LookAt (LookAtTransform);
    			Vector3 look = LookAtTransform.position - transform.position;
    			float dist = look.magnitude;
    			look.Normalize();
    			transform.position += look*(dist-MoveTowardsLookAtDistance);
    		}
    	}
    }
    

    This essentially sets the position (by setting transform.position) and rotation (by calling transform.LookAt) of the screen object. In Unity I set the LookAtTransform to be a game object attached to the right camera, but way behind it. Then I adjust MoveTowardsLookAtDistance to adjust where I want the screen to be in relation to the look at point.
  • tdkhrstdkhrs Posts: 1
    NerveGear
    I'm very interested in this app.

    Is this app supports only original Rift(DK1)?
    I have "RiftUP!" FHD display kit and now I can see "Virtual Desktop" logo through the Rift.
    I'm able to look around for virtual screen.

    But when I start program from "Open on Oculus Rift" context menu, It starts normally on first display.

    Can it support Rift that "RiftUP"ed ?
    or Can I try something else?

    ::: Win7 64bit
    ::: DK1+RiftUP! FHD kit
  • guygodinguygodin Posts: 611
    Art3mis
    tdkhrs wrote:
    Can it support Rift that "RiftUP"ed ?
    or Can I try something else?
    It will work fine with a modded DK1. The issue you are having with the game launching on the main window rather than the Rift one is a little odd though (which game is this?). There's an issue at the moment with the "Reset to Defaults" button that will clear the saved adapter setting, so you can try to restart Virtual Desktop before launching your game, that may solve your issue.
    Virtual Desktop Developer
  • nitram166nitram166 Posts: 9
    NerveGear
    I am already sure you'll be supporting DK2, so I won't ask.
    But I have another question.

    When running AMD's Eyefinity over 3 screens, the computer sees it as 1 screen. Do you suspect the projected screen's ratio will stretch to the 3 screens width? I think it would be awesome to have such a long screen bend around you! Then I'd still be able to utilize my 3 screens, just inside the Rift.

    Though if it works, perhaps a bit higher bend values would be necessary, to get it to envelop you..
    I have yet to try your demo, but intend to do so when they ship out my DK2.
Sign In or Register to comment.