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

Oculus TrayTool - SuperSampling profiles, HMD disconnect fixes (hopefully)

ApollyonVRApollyonVR Posts: 64
Hiro Protagonist
edited March 28 in General
Hi all!

UPDATE 2 03/28
@cybereality just posted the 1.13 OculusDebugTool package, and things seem to work fine. I will be releasing a fresh update to my tool in a day or two. It has a new feature as well as now working with 1.13. For those of you who can't wait, download the package posted by cyber at https://forums.oculus.com/community/discussion/comment/507849/#Comment_507849.
Extract it and grab the OculusDebugToolCLI.exe and place it in the same folder as the Oculus Tray Tool installation,
overwriting the old file. Only tested a bit but all seems to be back to normal, but please let me know if you find anything wierd happening. Will be testing for a few days before i release the new version to make sure everything works. And big thanks to @cybereality for getting us the new version early.

UPDATE 03/28
Just got the 1.13 update myself and have been able to test a bit. The problem is that the oculus debug tool is incompatible
in the way that it won't even start and hence will not accept any commands. I was hoping it was just a few commands that had been changed but unfortunately not. I also discovered that my previous suggestion about getting OTT to start is invalid as there are other parts of the startup sequence affected, and that cannot be user-modified via the config.xml. So, for those of you how have it set to start with Windows and want it to stop, go into Task Scheduler, find Oculus Tray Tool and set it to Disabled.
Not sure what to say about all of it other than i'm sorry for this, but it's out of my hands at the moment. =/

UPDATE 03/25

I am aware of the issues with Oculus update 1.13. It seems like the Oculus debug tool which is used by the OTT is not compatible with the current Oculus 1.13 update. As the SDK for 1.13 is not yet released all i can do is wait until it is released to fix the issue. I have not yet received the 1.13 update so i cannot even start to look at the issue. My hope is that once the SDK for 1.13 is released, this problem will be quickly fixed. Until then, you can edit the config.xml file and set the <PPDPStartup> value on 0. This should allow the tool to at least startup. However, super sampling and possibly Visual HUD overlays and ASW might not work and will probably cause OTT to hang. You will also need to either reset all your profiles to use SS 0 and ASW to Inherit. Or simply make a copy of the config.xml and then delete all your profiles. Otherwise the tool will attempt to run SS/ASW on your profiles which will not work currently. There is not much i can do other than wait for Oculus to release the new SDK so i can take a look at things.

UPDATE 03/19
New version is here, grab v0.67 from: http://bit.ly/2nT8JnQ
Next version will have an option to add SteamVR to Oculus Home using the replacement method, in case you prefer not to use voice commands. It will be reversible if you want to change back or switch game to replace. Still working on really injecting non-Home games into Home, which from my research might be impossible. Won't dig into that here though.

 Changelog version 0.67

- Fixed a bug affecting profiles with underscores in their names.
- Fixed some issues with voice commands.
- Added a delay parameter to delay starting Home by x seconds. Some users where having issues with Home launching too
  fast after the service was started. Default delay is 3 seconds, this can be changed in by modifying the StartHomeDelay
  parameter in the config.xml.
- Added update checking that will notify you when a new update is available and give you a download link.
  You need to manually extract the package and overwrite the old files as usual.
- Added an option to disable callback voice. Voice commands will still work but you don't get any voice confirmation
  on any spoken commands, including the "start listen" phrase.
- Added "Launch SteamVR" as a voice command. On startup OTT will find the install path for Steam and verify that
  SteamVR is installed. If it is, you can use the "launch steam;start steam" voice commands to launch SteamVR
  from within Oculus Home. Once SteamVR is runnin gpress the menu button on the XBOX controller, or menu on the Left
  Touch controller to access the Steam library.
- Added a Donate button to the Help/Readme window ([?] button) in case someone wants to swing me a buck or two.
- Changed the behaviour of "Super Sampling on start". It now applies the SS value directly as well as saving it to the config.xml
  to use on startup. This is to make it easier to experiment with different SS values without using voice commands. Also renamed
  the option from "Super Sampling on start" to "Set Super Sampling".
- Change the look of the GUI a bit.
- Updated the User Guide.


Version 0.66 has a small bug regarding profiles where the game .exe has an underscore in it's name.
It has been fixed, but i will wait a bit and see if i get more reports on things needing fixes or suggestions
on improvements before releasing it. If someone needs that fix just PM me and i'll hook you up.

UPDATE 02/25
New version is here, grab v0.66 from: http://bit.ly/2lGOV7k
Changelog below and also in the readme.txt.

There are many, many changes in this version. There is stuff added, bugs fixed and changes to existing features. Huge thanks to all you guys who have helped be test this version, find bugs and offer valuable input! Special thanks to @Slochy, @JessyDeya, @Globespy, @korgen63 and all others for all your testing! Although myself and these guys have done the best we can to find bugs, there might still be some left, lurking in the shadows. If you find any, don't hesitate to yell at me here or drop me a PM with your findings. Make sure to grab all files from the .zip package, not just the updated .exe.

I have also played around with some Steam games, and the 4-5 i've tested all super sample fine. Tested The Lab a bit but that one seems to apply a dynamic super sampling of it's own that acts a bit weird when you try and change it. But apart from The Lab acting like it owns the place, Steam games seem to work fine. So i encourage you to test with your own Steam library and see what happens. If you go to the Scan window in OTT, you can browse to the Steam game directory and scan that. By default that would be <driveletter>:\SteamLibrary\steamapps\common. Add some profiles and see what happens. Use the Pixel Density overlay to check what SS value is applied.


Changelog version 0.66:

- "Start with Windows" now creates a scheduled task that runs with the highest privileges, e.g Administrator.
   This will suppress UAC prompts and also eliminates the need to check the "run as Administrator" box on the
   application properties. You *still* need to right-click -> Run as Administrator in order to change this value
   and others, if you start the tool manually. This change only affects how OTT starts with windows.
   If you have already manually created such a task for this very purpose, it should not conflict with this setting.
   If you've happened to name the task "Oculus Tray Tool" it will even be picked up by OTT and "Start with Windows"
   will be checked.
- Added ASW option to Profiles. Default value is Inherit meaning ASW mode will be whatever it is currently set to.
- Added voice commands for new Visual HUD options.
- Added a warning if application is not run as Administrator and disabling certain functions that require it.
- Added option to lock framerate at 45 fps with ASW On. Some games seem to run better with that forced.
- Added Start/Stop/Restart Oculus Service to system tray right-click menu.
- Added right-click menu option to disable Power Management. If a warning appears that either Rift, Sensor(s) or Xbox controller
  as Power Management enabled, right-click in the log window to get a menu choice to disable it. This will disable PM on all  
  reported devices so one selection/right-click is enough.
- Added option to set selected Power Plan on start instead of always forcing it.
- Added blank entry to Fallback Audio/Mic devices dropdown lists so that it can be cleared if needed.
- The "Scan" option setting "Path to scan" is now saved and will be used until changed.
- Main GUI now remembers size as well as position. If you for example close it after clicking "More >>" it will open like that next time.
- All GUI window/panels now remember their location.
- Profiles window is now sizable.
- Moved Visual HUD selections to a dropdown list to jam more stuff in there, three new options. This change also makes it
  easier to control the Visual HUD overlays using the arrow keys, if you prefer that over voice commands.
- Switched method for disabling Power Management on Fresco Logic card. Now using WMI instead of registry. *
- Switched method for getting/setting Power plan. Now using WMI instead of powercfg.exe. *
- Switched method for getting/setting USB Selective Suspend. Now using WMI instead of powercfg.exe. *
- Apart from the Fresco Logic card, OTT now only checks if Power Management is enabled on Rift, Sensors and Xbox controller. *
  * Big thanks to Reddit user Heaney555 for showing how this can be done using WMI.
- Removed checkbox for "Disable ASW on Home start" as it felt redundant. Control over ASW using the ASW dropdown,
  in Profiles and voice commands seemed enough.. =)
- Setting up Fallback devices is not mandatory any more.
- You can now select to have the Rift set as default Audio only, Microphone only, both or none. So if you prefer
  to use a headset for audio and Rift for microphone you can do that. Or use a headset for both audio and mic.
- Fixed voice commands not working on non-English Windows. Voice recognition now defaults to your OS language.
  If you want to use English on a non-English Windows you need to add that language to Windows. See the User Guide.
- Fixed a bug causing fallback to non-rift devices to not work as expected.
- Fixed a bug that caused the current default device id's to not update during runtime when changing fallback devices.
- Fixed a few more bugs here and there.
- Updated the User Guide to reflect these changes. Also added a section on how to train your computer to better
  understand voice commands, so check that out if you are having issues.

Thanks to all the ppl who help me test this tool and find the bugs. Please read the readme.txt and the User Guide before using the tool.

TL;DR I made a tool that can help with disconnects using the Inateck card, and it also has a feature for making Super Sampling easier to use. Full story below.

Like a lot of people i have had my fair share of issues with the Rift, such as disconnects, poor tracking and in general strange things happening. I like many am using the Inateck card and also found that the Fresco drivers where acting up. Running with the generic Windows drivers works fine but i found tracking to be inconsistent (judder, drifting). After many, many hours of
digging around i have found a setup that works awesome. I'm now running the Inateck card, with Fresco drivers and  both sensors and the Rift plugged into the Inatck card. Tracking is flawless and no disconnects. There where many steps to this, and one of the main issues is the dredded "allow the computer to turn of this device to save power" crap, which has been a solution for many.
However, when using the Fresco drivers, this setting will be reset on each boot. So, i created an application that starts with Windows and disables this through the registry on each boot.

I have also included options for applying other registry fixes for the Fresco drivers that i feel improve the tracking. As an added bonus there is a feature to set super sampling on each start and enable/disable ASW. I found it a bit annoying to run the debugtool each time and increase the pixel density, running with a GTX 1080 so i can pretty much run at 1.9-2.0 in every game.
I've built an option for creating application profiles, where you browse for the game exe and set a SS value. When the app detects the exe is started it sets the desired SS value. I find it pretty useful. =)

With this tool i no longer need to remember to launch the debug tool before any game, it is now set on boot. Just put the HMD on and rock on. To do this yourself, get the latest SDK (https://developer3.oculus.com/downloads/pc/1.10.1/Oculus_SDK_for_Windows/)
Inside you will find a Tools folder which contains the regular gui version of the debug tool and also a command-line version. This CLI version does not have much documentation so it took a bit of tinkering to work it out. Simply Create a textfile that contains the following for 1.8 SS:

service set-pixels-per-display-pixel 1.8

Then from a command prompt run "oculusdebugtoolcli.exe -f <filename>". You will get a message that looks like an error but the setting is applied none the less. This will be reset on reboot, so the tool simply runs this again when the computer starts.

Another tip i found on reddit (cannot find the link): If you have a Nvidia card it has the annoying habit of resetting Dynamic Range to Limited every time you update your drivers. That user found that Dynamic Range seems to be applied per port on the card, e.g changing Dynamic Range will only apply to the port you monitor is currently plugged into. So he did a test and set it to Full, then switched ports on the Rift and Monitor. When checking again, Dynamic Range was set to Limited. Set it to Full, then switch back and check and now it should be set to Full on both ports. Not sure i see a difference but it does something and might possibly show nicer colors in the Rift. Nvidia Control Panel -> Change Resolution -> Output Dynamic Range (this setting is not included in the tool).

Below are all the fixes i have done (this is the readme for the app) and that are implemented in the tool, all of which you can do yourself as well. If anyone would be interested in testing out this tool and help me find bugs/issues/improvements then drop me a note. I hope these fixes help others as it helped me.

Edit: ALWAYS backup the registry before making any changes.

Start with Windows
  Check this box to have the application start on Windows boot and apply all settings.

Start minimized
  Starts the application minimized to system tray. Double-click the system tray icon to maximize.
Set Powerplan to [High Performance] [Balanced]
  This is done in the background using Windows powercfg.exe. Below are the commands being run.
    For High Performance: powercfg /SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
    For Balanced: powercfg /SETACTIVE 381b4222-f694-41f0-9685-ff5bb260df2e

USB Selective Suspend [Disabled] [Enabled]
  Disabling USB selective suspend *might*  help with Oculus HMD disconnects.
  This is done in the background using Windows powercfg.exe. Below are the commands being run.
  Enable: powercfg -SETACVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
  Disable: powercfg  -SETACVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 1

Fresco Registry Tweaks [Enabled] [Disabled] (greyed out if not running Fresco drivers)
  Enabled to set the below registry keys that might help with performance of the Inateck card.
  Disabled to revert back to default.
  Thanks to reddit user Nick3DvB for finding these. https://www.reddit.com/r/oculus/comments/5j21cd/a_plea_for_oculus_to_put_together_some_resources/
  "U1U2LowPower"=dword:00000000 (default 00000001)
  "BulkInRingBuffers"=dword:00000256 (default 00000048)
Disable Fresco Power Management on start (greyed out if not running Fresco drivers)
  Common practice is to go though all USB controllers and uncheck the "Allow the computer to turn off this device to save power".
  (Right-click My Computer -> Manage -> Device Manager -> Expand Universal Serial Bus Controllers -> Right-click each one and select
  "Properties". If there is a Power Managment tab then this is where you will find the setting)
  I found that this works fine for all devices EXCEPT the Fresco Logic USB 3 HUB (Inateck USB card). If using the Fresco Logic drivers,
  this will always be reset on boot no matter what you do. I found that the generic windows drivers do not cause many issues but i feel
  tracking is better and more consistent using the Fresco drivers, hence i am running those. Checking the "Disable Fresco Power Management on start"
  checkbox will force this to disabled on each start. This has basically solved all my HMD disconnects when using the Fresco drivers.
  This is ONLY done for the Fresco Logic USB 3 HUB, i am not touching any other USB settings so i recommend you do that manually.
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\5&25c75191&4\Device Parameters\WDF
Super Sampling on start
  Uses the OculusDebugToolCLI command to set the pixel-per-display-pixel density (e.g. Super Sampling) on each start.
  I found it annoying to manually start the gui version and setting this value every time. Now it done automatically
  when the computer starts. You can check that it is actually being set by launching the regular OculusDebugTool after
  selecting a value.
Super Sampling profiles
  Click the "View/Add Profiles" button to browse for an application exe and set a SS value to be set each time that application starts.
Asyncronous Space Warp [Enabled] [Disabled]
  Enable/Disable ASW (auto mode).

Screenshots of the app below.


ott.jpg 71.3K


  • z1rconiumz1rconium Posts: 2
    Virtual Boy (or Girl)
    Interesting. Now if only Oculus would add ASW settings to the CLI, would be helpful as I have the feeling it is disabled in the steam version of DiRT rally, when I enable it in the debugtool it is fluid. 
  • maxpare79maxpare79 Posts: 1,729 Volunteer Moderator
    edited January 2
    @ApollyonVR Great work man but do you have a link to download your app?

    Also I don't have the following settings in my Registry???

    Fresco Registry Tweaks [Enabled] [Disabled] (greyed out if not running Fresco drivers)
      Enabled to set the below registry keys that might help with performance of the Inateck card.
      Disabled to revert back to default.
      Thanks to reddit user Nick3DvB for finding these. https://www.reddit.com/r/oculus/comments/5j21cd/a_plea_for_oculus_to_put_together_some_resources/
      "U1U2LowPower"=dword:00000000 (default 00000001)
      "BulkInRingBuffers"=dword:00000256 (default 00000048)

    Mine is like that

    I am a spacesim/flightsim/racesim enthusiast first :-) I7 4770k@4.3, 16gb RAM/ Asus 1080 Strix Former DK2 Owner/Gear VR owner/CV1
  • YoLolo69YoLolo69 Posts: 561
    Ok, really great and useful. I can't find a link into your post to download your tool, I'm ready to test it, even if I don't have the Fresco card and drivers, the remaining options still pretty interesting :)

    “Dreams feel real while we are in them, it's only when we wake up that we realize something was strange.” - Dom Cobb

    "Be careful, if you are killed in real life you die in VR too." - TD_4242

  • AwacsAwacs Posts: 11
    Virtual Boy (or Girl)
    Same problems on my PC, Fresco Card + Fresco Drivers.

    Would be nice to test your tool.

  • ApollyonVRApollyonVR Posts: 64
    Hiro Protagonist
    maxpare79, if the keys don't exists just create them as DWORD and assign them the specific values and reboot.

  • ApollyonVRApollyonVR Posts: 64
    Hiro Protagonist
    Will fix a few more things in the tool and PM you guys a link to test it before i post a public link.
  • maxpare79maxpare79 Posts: 1,729 Volunteer Moderator
    @ApollyonVR thx would love to test run it as well
    I am a spacesim/flightsim/racesim enthusiast first :-) I7 4770k@4.3, 16gb RAM/ Asus 1080 Strix Former DK2 Owner/Gear VR owner/CV1
  • SuperTuckSuperTuck Posts: 119
    Looking forward to it. The pixel density per app is genius.
  • ApollyonVRApollyonVR Posts: 64
    Hiro Protagonist
    maxpare79, SuperTuck, i have PM'd you with a link. Thanks!
  • xxTheGoDxxxxTheGoDxx Posts: 32
    Lawnmower Man (or Woman)
    Wow, this is awesome. Especially that you have implemented per application profiles. I would like to test it as well if possible (I had already applied the fixes from reddit).
  • 7shane77shane7 Posts: 2
    Virtual Boy (or Girl)
    put me forward to test it as well please mate im having a nightmare with mine atm :(
  • dannemandanneman Posts: 10
    Virtual Boy (or Girl)
    I would love to try out your tool as well! :-)
  • ThmoasThmoas Posts: 109
    Dude you can't tease us and then never post a link to download or any expections for when to expect it.
  • maxpare79maxpare79 Posts: 1,729 Volunteer Moderator
    He wants a few people to try it first before receiving tons of bug reports from tons of different users...understandable, 
    I am a spacesim/flightsim/racesim enthusiast first :-) I7 4770k@4.3, 16gb RAM/ Asus 1080 Strix Former DK2 Owner/Gear VR owner/CV1
  • ThmoasThmoas Posts: 109
    I accept that of course! If I'm one of the testers :D
  • ApollyonVRApollyonVR Posts: 64
    Hiro Protagonist
    @Thmoas @danneman, i PM'ed you a link, let me know how it works for you.

  • l0b0l0b0 Posts: 4
    Virtual Boy (or Girl)
    Nice work! Please send me link to OculusTrayTool
  • elbofforelboffor Posts: 1,538 Poster of the Week
    edited January 9
    He can only hack one pc at a time. Be patient guys, there's no point installing back doors on everyones pc's at once...

    Looks good though.
    This is my forum signature.
    There are many others like it, but this is mine.
  • danknugzdanknugz Posts: 1,255
    nice job
    But it could buy me a boat
    It could buy me a truck to pull it
    It could buy me a Yeti 110 iced down with some silver bullets
  • NayanakNayanak Posts: 2
    Virtual Boy (or Girl)
    interested in testing this out myself aswell
  • SuperTuckSuperTuck Posts: 119
    Works good.
  • dannemandanneman Posts: 10
    Virtual Boy (or Girl)
    edited January 11
    This tool is awesome. I love it! So convient to have supersampling profiles, and a easy way to restart the Oculus Service to get rid of the infamous 4-sensor-laggy-hands glitch. You should share it on reddit.com/r/oculus :-)
  • vermadasvermadas Posts: 11
    Virtual Boy (or Girl)
    I would like to try this out also. Great work!
  • saqsaq Posts: 7
    Virtual Boy (or Girl)
    I would love to have the oculus traytool!
  • Everlasting1Everlasting1 Posts: 1
    Virtual Boy (or Girl)
    Add me to the test list! :)
  • iTsLiKeAnEgGiTsLiKeAnEgG Posts: 21
    Virtual Boy (or Girl)
    Please send me a link as well! Application based profiles sounds great. 
  • OziOziOiOiOziOziOiOi Posts: 5
    Virtual Boy (or Girl)
    So many inconveniences solved! Sign me up too, please.
  • MarcBushidoMarcBushido Posts: 6
    Virtual Boy (or Girl)
    Hi I would love to try this out.  Would really appreciate a link!  Thanks
  • dougchismdougchism Posts: 86
    Hiro Protagonist
    I would also like to try this out. 
    PC Specs: 
    Intel i7-7700K @4.2GHZ
    MSI Z270 VR-Ready M5 Gaming MB
    MSI 1080Ti Armor 11G OC
    G-Skill 32GB 3200Mhz DDR4
    Samsung 960 EVO 1TB
    StarTech 4-Controller USB Card
    Fractal Design R5 Silent Case
    3 ( soon to be 4 ) Sensor Roomscale Setup

  • ApollyonVRApollyonVR Posts: 64
    Hiro Protagonist
    I've updated the original post with a download link. Thanks again to everyone who helped me test it!
Sign In or Register to comment.