Hi all!UPDATE 02/21:
New version is progressing nicely. I have gotten some feature requests that i am currently looking into so it will take a few more days until i upload the new version. I have implemented ASW for profiles and also a option to lock framerate to 45 fps with ASW on. UPDATE:
can be downloaded here: http://bit.ly/2lH8Ztt
As always, please let me know of any issues or suggestions you encounter.
Hope you guys enjoy it!
Currently tracking the following issues in 0.65
, which should be fixed in a few days
Seems like i got everything working now *fingers crossed*, just need a little more time to confirm some things then the new version will be up. It will include all the below fixes and also with a new feature added, just testing that one a bit now. HUGE
thanks to @Slochy @dburne @JesseDeya @Globespy
, and all others how i forgot to mention, who have helped me find bugs and test fixes!*
Voice recognition not working unless "Use Rift for audio/mic" was ticked and fallback devices setup: Problem found, fix in progress*
Voice recognition not working on non-english Windows: Problem found, fix in progress*
Audio/Mic fallback not working on non-english Windows: Problem found, fix in progress*
"Path not found" message: Problem found, fix in progress*
Will change the fallback devices to not be mandatory settings, and to not require both to be set.
- Added ASW Auto/Off dropdown list. When Ouclus Home/any VR game is running, you can use this to Enabled/Disable ASW
if you do not want to use voice commands. ASW is default Enabled on tool start.
- Added option to automatically disable ASW on Oculus Home start.
- Added "start/stop listening" commands for voice control. If voice commands are Enabled the only thing Oculus Tray Tool
will accept at first is whatever the "start listen" phrase is set to. After that the rest of the commands are accessible.
- Added the option to configure the phrases for voice commands, so now you can edit it to say whatever you want to say
to execute a function. Wanna say "i love melted cheese
" to show ASW status? Now you can
- Added an option to spoof CPU ID. This is for those who see the "Your computer doesn't meet the recommended...
and want to get rid of it. Checking this should fool the Oculus service into thinking you have a i7-4770K @ 3.90GHz
- Now getting Oculus path from OVR service instead of registry.
- Fixed some bugs.
- Added a proper User Guide with better info.Thanks to all the ppl who help me test this tool and find the bugs. Please read the readme.txt and UAC.txt 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.
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.
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.