Oculus CV1 Support Added to CtrlAltStudio Viewer:

I’ve updated the CtrlAltStudio Viewer “as is” to work with the latest Oculus Runtime, i.e., able to be used with CV1 Rift as well as DK2s and DK1s. This is a courtesy to CV1 owners who wish to experience Second Life in VR.

Be aware, though, that the viewer is still based on the old (Dec 2014) codebase of Firestorm 4.6.9 so is quite out of date with many features and fixes missing. Furthermore, the viewer is not optimized for VR — the FPS is not really high or consistent enough for “proper” VR. Some people are more sensitive to such rendering issues than others; however, it does let you get a taste for what user-created VW’s like Second Life can be like in VR.

Other changes of note:

  • Added “FOV multiplier” and “Pixel density” display settings that let you tweak the displayed field of view and number of pixels rendered in the process of generating the Rift images. Depending on your graphics card capabilities, you may want to increase these for better visuals or decrease these for higher FPS.
  • Added an “Enable All GPU Features” display setting that enables all graphics settings. If you have a new, high performance graphics card but graphics preferences such as “Basic shaders” are disabled this means that your graphics card isn’t recognized by the viewer; you can use this new setting to enable the display settings.
  • Added support for the Xbox One controller: a “Combine Xbox One triggers” joystick setting lets the left and right trigger values of the Xbox One controller be used to fly up and down the same as you can use them with an Xbox 360 controller.

For more details, see the Release Notes.

Usage instructions and tips.

Viewer download:

  • Windows installer: Alpha, 18 Jul 2016.
  • Mac OSX installer: Not available.

NOTE: This viewer is no longer being maintained. See the Viewer page for details.

Others’ blog posts:

Comments (77) Leave a comment

  1. Pingback: Testing CtrlAltStudio Viewer | Ai Austin Blog

  2. Pingback: Testing CtrlAltStudio Viewer | Ai Austin Blog

  3. vurtkonnegut

    Hey David, Just wanted to say I’ve been playing around in the latest version of high fidelity,
    Absolutely amazing! Cannot wait to see where this goes. The possibilities are staggering.

  4. Maxwell Rodgers

    Hello, imma old SL user, about 10 years and i cannot thank you enough for this viewer, if i may ask, do you have plans to update the core viewer? Its only small updates, but would be greatly appreciated but its not a need. Again, very sweet, its kinda why i bought the oculus in the first part, cause LL said it would work with VR, but they left it, saying it was not up to their standards, seems to work perfect with this >.<

    1. David Rowe Post author

      Hi Maxwell. No, sorry, this viewer is no longer being maintained and I don’t have any plans to resurrect it. It would be a big job to update to the latest codebase (it’s currently based on Firestorm 4.6.9 which was released in Dec 2014) and I don’t have the spare time.

      Really, the best way forward for VR in Second Life would be for someone to take Linden Lab’s final attempt and finish it off – it was very close to being usable – though still a significant amount of work.

      1. Maxwell Rodgers

        Okay, thank you for the quick response, and thank you for the work you have done, its wonderful, epic. So you say it will be outdated? Do you mean we won’t be able to log onto the GRID anymore with it? That would be a heavy blow, but understandable. Again, thank you for the viewer itself, using it, and seeing SL in real3D is the most amazing thing every, as I make avatars and content, to see it come to life like that is just astounding.

        1. David Rowe Post author

          How long it remains possible to log into and view the Second Life or OpenSim grids with the viewer depends on what changes are made to Second Life and OpenSim, and when. Some features of SL are already not able to be used with the viewer: e.g., LL’s cashier update of mid June, and there well may be others.

  5. Holyphyre

    David, I don’t suppose you’d be willing to help us trouble shoot getting this viewer to work on the HTC vive? I’m not technical enough to understand how or if it would work with the revive injector as mentioned above. Any thoughts?

    1. David Rowe Post author

      Hi. I don’t have a Vive, however people have managed to use the viewer with LibreVR/Revive as reported in the comments in http://ctrlaltstudio.com/blog/2016/04/05/oculus-cv1-support One problem that some encountered was that the viewer at the time didn’t recognize their graphics card and they had to edit the viewer’s GPU table. … However, you shouldn’t need to do this with this release of the viewer because I added an “Enable All GPU Features” preference setting which overrides he GPU table. So if you have a recent graphics card, try enabling this feature.

      1. Ai Austin

        Actually. I think you will need to follow the instructions for “Standalone Games” at https://github.com/LibreVR/Revive rather than using the above ReviveInstaller.exe which may be for Oculus Home games.


        Gives an executable onto which it seems you are meant to drag and drop the CtrlAltStudio-Viewer-Alpha.exe

        I tried it on my SteamVR/Oculus Rift setup (i.e. without the Vive) and it appears to launch correctly and I see the play area circle in the VR view… indicating its running via SteamVR.. But for me its flashing about… which could be because it may also be trying to run directly via Oculus Home/runtimes as well. You may have better mileage with an actual Vive/SteamVR setup.

        Let us know if it works on your Vive.

  6. Sascha

    doesnt works for me here. Not with 1.5. and not with the new 1.6 Oculus Runtime for CV1. Starting the viewer, then the Message in the Oculus says: Viewer takeing a while to load… and nothing happens. Any Ideas?


  7. Tom Willans

    Hi David,

    The viewer occasionally crashes with the message ASSERT (nComplete.size()!=0 soon, but not always after starting up.


    1. David Rowe Post author

      Hi Tom. That seems to be something to do with the initial fetching of your avatar’s “wearables”. Not something I’ll be looking at, sorry.

  8. Ai Austin

    There were some comments in the blog here about usign VorpX with Second Life viewers. I did a test with VorpX 16.2 (latest version).

    VorpX just shows the Second Life viewer as a 2D cinema screen in front of you, not a 3D/VR scene you can “enter”. Use Shift+mouse scroll wheel to zoom the viewer window away from you to see all the menus.

    1. Julia

      How to enter the scene with VorpX: After starting VorpX and logging in, bring up the VorpX “Settings” menu by pressing “Delete” key. In “Main Settings”, turn off “Virtual Cinema Mode” and press OK. Then zoom in with mouse wheel till you snap into mouselook.

    2. David Rowe Post author

      I haven’t tried it myself but I gather there are various settings to configure in order to make it immersive, e.g., ensure that “cinema mode” is off and set the field of view plus depth calculation.

  9. no

    Thank you so much for this David.

    I first made my account almost 10 years ago. My life has changed considerably since then, and I no longer have the time I did when I was a teenager to just sit around for 8 hours a day playing SL and exploring. But my nostalgia for that time, and for all the people I met and thousands of conversations I had, is immense. My mind was blown when I first used your viewer long ago on the DK2. It was the first I’d logged in in years.

    I was a little bummed it didn’t work for CV1 and almost forgot about it altogether. Now I see it works! Thank you so much for your persistence and time and professionalism. I’m about to jump back in and relive some memories. And awkwardly avoid incoming chat messages from still-playing old friends who never broke the cycle.

    1. Jeanette Doobie

      Agreed – I took a waterslide ride at a sim I visit a lot and I haven’t been that excited about an attraction like that since I first tried them in SL over 8 years ago. This viewer handled it like a pro.

  10. youstartlife

    when I start the viewer,I get message say that Oculus rift could not initialize Oculus library,but actually,my rift cv1 work welll

    1. David Rowe Post author

      Hi. This could indicate that you need to update your Oculus runtime. (I’ve seen this message when I have the old 0.8.0 runtime installed.) The viewer is built with Oculus SDK 1.5.0.

  11. Lara

    Hi!! The viewer is working perfectly for my DK2. Thank you so much for donating your time freely to release the current version as is.

    Quick question about the XBOX controller support: is the controller’s functionality on by default? I can’t get my current setup to recognize the controller, but that might be because it’s a bargain brand XBOX controller haha. Windows is recognizing the controller and it’s fully configurable through a settings menu in the OS outside of the viewer. Thank you. All other parts of the UX work beautifully, even better than the most recent release before it for the old Oculus kit/runtime around .8 or so! Thank you again! :D

    1. David Rowe Post author

      Hi! For Xbox controller: Viewer > Preferences > Move & View > Enable Joystick option plus “Joystick Configuration” button. The button opens a dialog with a “defaults” button bottom right. Your joystick should be automatically detected as an Xbox controller when you enable the option. Usage details: see the “Xbox Controller” section in: http://ctrlaltstudio.com/viewer

      1. Jeanette Doobie

        I have had a fantastic experience with the Xbox One controller with this viewer. I was not even expecting to enjoy that as much as I do. Of note, the feature (enabling the controller) must be enabled once after each startup of the viewer because it will default to disabled. The “defaults” setting mentioned above will return the values to their original configuration, not enable on startup by default. I was able to make it enabled by default on each startup by editing the following file:

        …Program Files (x86) | CtrlAltStudio-Viewer-Alpha | skins | default | xui | en | panel_preferences_move.xml

        I added the “initial_value=”true” line shown in the below context (without the line breaks – I just added those to make the line stand out in context):


        I did not change any of the controller default settings since the values are saved from preferences and are persistent from startup-to-startup. However, I do like the pitch values to be reversed (-1.00) as a personal preference.

        1. Jeanette Doobie

          lol – sorry, I put too much XML in the comment so the system truncated it to prevent parsing. Here is the code without the pesky xml formatting:



          label=”Enable joystick (SpaceNavigator)”

        2. David Rowe Post author

          Re having to enable the controller each start-up: it may be just that you need to click “OK” in the Joystick Configuration and Preferences dialogs in order for the settings to stick. (Am not able to test this right now but this possibility sprung to mind.)

          1. Jeanette Doobie

            For me, I clicked Apply immediately after selecting Enable Joystick and then Okay. I tried a few other variations of those processes and nothing was able to get the setting to persist between startups but adding that line to the xml file worked just fine – although I would probably have to set it to “false” the same way if I ever decided to have the feature disabled on startup. This method works completely fine for me but no harm if you want to investigate this behavior.

            One other note on my own preferences – I also like to set the Y Axis values to their negative counterpart values – which essentially works to swap the left and right triggers. I like the left trigger to map to flying up (with jump being defaulted to the left stick click-in) and the right trigger to fly down and crouch. The values persist just fine on the Joystick Configuration dialog. Nothing to fix here except maybe my goofy way of liking things to be.

      2. Lara

        Thank you! The controller works beautifully in the UI. Truly amazing UX. Your documentation is detailed and really useful, thank you again. Experimenting with performance on a variety of graphics options :)

  12. Ai Austin

    A few folks have noted the paler washed out colours when in the VR HMD view (shows in both the on screen mirror and in the HMD itself. I have done some testing with on the OSGrid VRLand region which I have set up with some colour image test cards, and I set fixed time of day (midday) and so on. In my setup with Nvidia GTC980 and DK2 when I run with High graphics setting and no shadows the colours in the HDM and on screen mirror seem to match the 2D view. But if I select Ultra settings with all shadows the colours on the normal 2D screen look the same, but when entering VR/3D view for both the mirror and in the HMD they are a bit washed out. See the bottom of this blog ppst for some example images…


    I have tried to pin down which exact setting might be causing this to happen. After a bit of digging around and trying various settings, it seems that just turning off “Atmospheric Shaders” when Ultra and All Shadows has been selected is sufficient to correct the colour. Other combinations may work too.

    1. Jeanette Doobie

      Thanks for this great tip! I took the colorspace for granted and just assumed that the blowout (which really is not that bad) was just going to be there. I recently put in the GTX 1080 card and although it is a monster at processing, it does not treat colorspace with much love at this point in the driver lifetime so I assumed it was card behavior more than anything else. I still find I prefer to enable the atmospheric shaders as the blowout is not bad – at least on my end with the colorspace I use globally – which is set to reduce blowout on everything. I would suspect this may be something we nVidia users may want to keep an eye out for as new display drivers are released.

  13. Jayce Raymaker

    Thank you for updating and releasing this viewer! I like many here just spent $2300 on a new Oculus CV1 and computer. Being a member of Second Life for eight years I thought it would be great to see what SL looked like. I downloaded the new viewer Linden Labs posted 3 weeks ago and it was horrible. Almost nothing rezzed, no mouse pointer, a complete letdown and disaster! Then they announced there probably will not be a new one. Then I found out about your viewer. I downloaded and installed it on my new Oculus computer. WOW everything rezzed in and it looked perfect! Beautiful 3D rendering of Second Life. I have walked around a few sims so far and the head tracking has been perfect. I have been touring sims with no one else in them and did not experience any lag in head movement. Your viewer works GREAT! My computer has an Intel i7-6700 processor, 16gb of memory and the Nivida GTX 980 video card. I did select the activate everything box on the graphics page.

  14. Ai Austin

    I set up a VR get together and test region on the OpenSim based OSGrid called VRLand. Call in with any hypergrid avatar, or get a free http://osgrid.org avatar and go to the VRland region. Call in and say hi (in voice or text chat) to anyone else that is the.. and pick up the Oculus Rift head set avatar attachment. Go up to the Gris Test Box at 125m to check out your FOV.

    For ore details and images see http://blog.inf.ed.ac.uk/atate/2016/07/20/vrland-a-community-and-test-region-for-virtual-reality-in-virtual-worlds/

  15. Ben

    Does not work for me i get error “sorry CtrlAltStudio-Viewer-Alpha.exe is taking a while to load. If this issue persists please take off your headset and check the app on your computer”.
    Any ideas to fix this i was really looking forward to SL on CV1

    1. David Rowe Post author

      Hi. That message is what you see displayed in the HMD, right? This probably just means that the viewer hasn’t been configured and toggled into HMD output mode. Briefly: configure the viewer’s :Display Output” setting to “Oculus Rift”, restart the viewer, then press Ctrl-Alt-3 to toggle into HMD output mode. See http://ctrlaltstudio.com/viewer for more detailed instructions; also http://blog.inf.ed.ac.uk/atate/2016/07/18/testing-ctrlaltstudio-viewer-1-2-6-43412 for further tips.

    1. Jeanette Doobie

      You and me both, Ai. I did spend some time playing around with settings to get a “feel” for the results but I did not benchmark anything for reference. I will leave that up to someone who may have a lot more experience with benchmarking and patience for that process. :)

  16. Michael

    I use the viewer with the shutter glasses. The 3D experience is impressive. I want to take 3D pictures in SL and save on the hard drive. But I get only 2D images. Is there a way to take 3D images and save it to disk in the MPO or SBS format?

    1. David Rowe Post author

      Hi. No, the viewer doesn’t have a function for taking stereoscopic pictures. There may be an external program that can take the twin images from the OpenGL left and right eye buffers, though I haven’t heard of one.

      1. Michael

        Hi David, Thanks for your reply. And thank you for your great work on CrtlAltStudio Viewer.

    2. Jeanette Doobie

      Michael – I used to take stereoscopic pictures in SL (without using the default anaglyphic display settings from the Niran viewer). The method I used required the environment to be static because each image had to be saved separately and snapped at different times. I set up my shot, took a picture, then moved the camera horizontally to set up the second shot and take that picture. There is no “correct” distance to move the camera because using different amounts of separation had varying effects on the resultant image. Just avoid moving way too little or way too much and you can get some interesting artistic effects in the middle. You can find your “sweet spot” and set up a commercial camera controller to automatically move your camera for other shots – but you still have to separate the shots by whatever time it takes to save the shot to disk and ready the viewer for the next shot. Import the two images into your image editor and set up your final image type with a plug-in or manually. It’s a pretty easy process and works amazingly well. You can even cheat a little if you have an image that you can’t avoid motion in (for example I took some with flapping flexi-prim flags) by using your image editor to copy the moving object from one image and placing it in the corresponding position in the other image. It gets tricky and it can be frustrating at times but as a 3D enthusiast I was very very happy with the results. Plus, with the two discreet images I could output the results in any format I wanted – anaglyphic, SBS, cross-eyed, etc.

  17. Ai Austin

    I did a little testing with the Oculus Debug Tool active to see frame rates in the headset. Various settings changes show the impact on frame rates in these quick experments with a GTX980 and DK2.


    Important thing is that with really quite high visuals you can get the maximum 75fps on the DK2 in environments similar to other prebuilt and very limited seat “social VR” apps.

    As Jeanette said though, nothing beats being able to explore your own creations, and indeed all the content we have in Second Life and OpenSim. VR and the Metaverse is already here :-)

    Jeanette, the GTX1080 has been added by David to the GPU Table in the latst verson, and defaults were set up automatically for my own GTX 1080. But maybe if you install over an earlier version its not updated?

    1. David Rowe Post author

      The viewer may still be picking up an old GPU table, gpu_table.4.6.9.txt, from C:\Users\[user name]\AppData\Roaming\CtrlAltStudio Viewer\user_settings\. Or the filter string in the GPU table may not be quite right for different graphics cards’ ID strings. … In any case, that’s why I added the “Enable All Features” option.

      1. Jeanette Doobie

        So glad you did because that options seems to be all I need. :) I have used the viewer extensively now and not a single issue with using it this way!

  18. Jeanette Doobie

    This is working excellently for me! I used the Enable All Features tick box to regain control over the graphics settings. Once I did that the world opened up for me! The headset immediately began working. I don’t see any UI elements in it other than context menus and messages but I have not experimented much with that part of it and, quite frankly, am perfectly *wonderfully* happy with how it works as it is. Any other features or settings I discover from here on out are just bonuses! Of note, the nVidia GTX 1080, although requiring the box ticked that will Enable All Features, does perform well! With the default Ultra settings and a few more tweak-ups such as settings LOD and Shadow Quality to max, it maintains an “acceptable” frame rate. With the settings on minimum the frame rate is like butter and it still manages to look great! My happy spot is with a lower FPS and higher-end visuals. I am resetting the whole computer right now to try to get the sound to come through the headset. It was not during my testing of the viewer but I am almost positive that it’s something on my end. This happens from time to time and I have always been able to fix it on my end. Even if I don’t I can still hear it through my computer’s audio out. I just want to close this by saying…

    Thank you so much for this! I can’t even wrap my head around what had to have gone into this project but I appreciate the work more than you could imagine. When I first saw my SL world in VR – just moments before writing this – I never felt more a part of the world! Thanks again for rescuing that experience!

    1. Vurt Konnegut

      Same here! With a 1080 this really is a special experience. Great job man!

      1. Jeanette Doobie

        I spent some more time with it and I just keep liking it more and more. I have found that my own personal “sweet spot” allows most settings to be maxed-out with AA at 2x, draw distance at 256, DOF disabled (surprisingly not due to performance issues but because it is awkward to me in VR), and shadows set to “None”. Shadows seem to make the biggest performance impact of all. With the above settings the viewer performance meter shows a consistent FPS of 30+. Animation is incredibly smooth and head tracking is only marginally choppy. So far I have not had any rendering issues and even normal and specular maps have looked incredible. I also turned the pixel density up to 2.0 and not only did it not tax the system by any visible margin, it looks unbelievable! I got the sound working – I knew it was something on my end – and the 3D sound in the Rift does a lot more justice to the SL experience than I had anticipated. I have not tried the XBox One controller yet and I might not even bother because I doubt I will want to take my hands off the mouse and keyboard for my SL experiences. After over 8 years in SL the keyboard/mouse control is pretty much hard-wired into me. The only thing I am still working on improving on this end is getting the UI to be more friendly. I think I am going to search for that post that mentioned how to adjust the config. file to set the upper and lower limits of the UI depth setting. I currently have it on 0 and it is still just a bit too small and a little bit too far away. I think with the depth setting and the UI size slider increased a bit I can get it to where I will like it.

          1. Jeanette Doobie

            I have mine set to 20 now. After I increased the UI size (maximum) I didn’t have to have the UI depth so low. I still like it fairly low just to have the UI appear closer than any objects I may be currently targeting. My eyes get really disoriented when the UI appears “farther away” than the object it is rendering in front of. Plus, I can more easily focus on the text when it is at about that range. I have not yet tried to increase the font size itself – which could also help a lot but even on the Firestorm viewer there is a note that larger fonts can mess with the resulting output. In 2D I have the UI at the smallest setting and even that has some negative effects. Not extremely worried about all that, though – already beyond nit-picking on stuff that is working beautifully. lol

  19. cyberserenity Vella

    TY great viewer. Loved the olod one to. Used it a lot.

    Does anyone have the same problem as me? The colors is ok on screen but are washed out in the Oculus. Not all textures but most. Maybe my settings are wrong.

      1. cyberserenity Vella

        Nope have everything on. It is the same on the screen when i Mirror my Rift. Looks like to much gamma.
        Things like this makes me crazy. As a developer i can never stop finding the bugs.

        I will continue to test if i find it i will write something about it here.

        1. David Rowe Post author

          Ai Austin (above) found a way to address this: try turning off “Atmospheric Shaders” when Ultra and All Shadows are selected.

    1. Jeanette Doobie

      Aside from Shadows and Ambient Occlusion in the settings you could also adjust your windlight settings to reduce blowouts (or increase them if that’s your style). Windlight settings are sometimes overlooked as a way to dramatically tweak those types of settings.

  20. Kelvin D. Olson

    Someday “soon” it may matter a bit less. HiFidelity may get as populated-n-polished (and stable) as SL. Sansar might come to fruition, and have the kinds of places/experiences about which I care considerably. But for the moment, I just wanted to sit in an immersive, throwback environment, and chat with friends who don’t look like robots or lego people.

    Frame-rate not an issue when not running, spinning, fighting or flying. Just visiting the Biergarten – it’s fine. It’s fantastic, actually. That *other* stuff will come in due time.

    Thank you so very much, sir. May I please buy you a pizza?

  21. Ai Austin

    I did a little testing with a DK2 on my home setup using the Oculus Debug Tool to lok at the application frames per second being achieved. On a simple meeting space style region (e.g. with campfires, similar to that in the 4 person max vTime Oculus social VR app) I am getting a solid 75fps (the max I think the DK2 can run at).

    See http://blog.inf.ed.ac.uk/atate/2016/07/19/ctrlaltstudio-viewer-1-2-6-43412-performance-testing/

    Some folks commenting to David have mentioned that they have run the viewer on the HTC Vive via the LibreVR/Revive compatibility tools at https://github.com/LibreVR/Revive – if anyone is successful doing that can you make a short report. I don’t have a Vive to test myself, but would be very interested to know if it all works as on the Oculus.

    1. Holyphyre

      I tried to play ctrlaltstudio using the revive injector with the latest 1.7 runtime. It didn’t work. =( I was really hopeful!

  22. Vurt Konnegut

    Absolutely brilliant!
    Works great for me. Amazing!
    Wonderful as ever. Thanks so much for this David.

  23. Ai Austin

    David, you said this in your post…. “I’ve updated the CtrlAltStudio Viewer “as is” to work with the latest Oculus Runtime, i.e., able to be used with CV1 Rift as well as DK2s and DK1s. ”

    Can I clarify… does Oculus 1.3.0 onwards (up to current 1.6.0) support DK1 and thus let CtrlAltStudio still work on a DK1. I don’t have a DK1 myself, but would like to know for blog post purposes.

    1. David Rowe Post author

      I thought it did but I was mistaken: the “new” Oculus runtime only supports CV1s and DK2s. Thanks for the prod.

Comments are closed.