Skip to main content
Up and Coming
December 23, 2016
Question

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

Oculus Tray Tool  
current version: 0.87.3

What is it?
In short; It’s a free application that helps you get the most out of your Rift. It is developed by me, ApollyonVR, with the support of the community for beta testing. Please note that this application is not an official piece software from Oculus, I am not affiliated with Oculus in any way. Any issues you
have with this application should be reported to me and not Oculus support. You can reach me here on the forums or by contacting me at *REDACTED*

Oculus Tray Tool (OTT) has many features that will hopefully help you get the very best VR experience. It has options that help you automatically switch audio and microphone to the Rift and back, handle the Oculus runtime service, voice commands, batch import Steam games (added to OTT by the awesome headkaze over at http://headsoft.com.au), replace icons for your games and more.

It’s primary feature however, is the ability to create “Profiles” for you VR Games and apps.
Within these Profiles, you set how Asyncronous SpaceWarp (ASW) should act, increase the perceived resolution by using Supersampling and increase the CPU Priority of a given app to get the most juice out of your system for that specific application.
Once a Profile has been created for a game or app, OTT will detect when it is started and apply the
profile for it, without the need for taking your headset of.

If you want to have a peek at all the things OTT can do for you before installing the application, check the User Guide pdf. The latest version of this application will always be right below this intro, but the app also checks for available updates on startup.

Enjoy, have fun and please report any issues, suggestion or feature requests to me using the above mentioned methods. Oh, and feel free to buy me a coffee by using the PayPal button in-app. 🙂
 
The very nice people over at Guru3d.com have been kind enough to host some mirrors for the setups, so make sure to pay them a visit!
-----------
 
UPDATE 03/08

Hi all!
It's been a while since i released a new version, but now the time has come! 😃
I'm looking for ppl who want to test the new version before public release.
There are primarily changes for the Quest but anyone is welcome to test it.
Just drop an email to *REDACTED* and i'll get you a download link
and some instructions. Also include what type of headset (Rift or Quest)
that you are using.

 

Also, i now have a proper domain for the website, so swing by www.ApollyonVR.com
and check out the new Forum! If you have questions, comments or suggestions

that is the place to post them. 😃

 

Below are the release notes for the new version. Please note that this is a Beta version

for testing the new features. If you just want to use a stable version of OTT then head

over to www.apollyonvr.com and simply download the latest version.

 

Version 0.87.7
* Oculus Dash will now use the same CPU Priority as what you set for OVR Server.
* Added a "Comments" option to Profiles.
* Implemented Paolod29's code for a permanent AirLink (https://github.com/pd29/oculus-airlink-enabler).
* Added more choices to the Quest Link settings for "Bitrate" and "Encode Resolution".
* Added option for "Force Mipmap generation on all layers" on the Game Settings tab.
* Added option for "Offset Mipmap bias on all layers" on the Game Settings tab.
* Added option for "Force Mipmap generation on all layers" to Profiles.
* Added option for "Offset Mipmap bias on all layers" to Profiles.
* Added option for "Encode Dynamic Bitrate" on the Quest Link tab.
* Added option for "Dynamic Bitrate Max" on the Quest Link tab.
* Added "FOV Multiplier" to Profiles. Setting this to a value lower than 1, for example 0.8,
will increase FPS due to less pixels being drawn at the expense of lower FOV.
* When creating a brand new Profile, the current settings from the Game Settings tab will be used.
This will make it even easier to create a new Profile! Simply experiment with different settings
on the Game Settings tab, and when you have found the perfect combo for a given game those
settings are copied over when you click "Create new Profile".

* Added option to Disable profiles.

* Redesigned the Profiles window a bit.
* Fixed some bugs.

 
Cheers!
This topic has been closed for replies.

1867 replies

Honored Contributor
November 20, 2017
Hi ApollyonVR, long time no see ;)

I'm back and reuse your tool with success. Anyway, I saw that my list of profiles have several entries which don't point on a viable executable. E.g. developers changed the exe name, like "Herobound2_pc.exe" vs "Herobound2 PC.exe", so I have 2 entries for HB with one obsolete. Could it be possible to purge/remove (through a button or an "auto-purge" when opening the profiles list or even the tool itself) those invalid entries? Unfortunately the "Remove" button don't work on those invalid entry. So a semi or full auto clean will be great IMO.

I hope I'm clear! ;)

Thanks for your work, I still enjoy it very much :)
“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 I7 10700K,  RTX 4070 TI Super, 64GB DDR4 3200Mhz, Oculus Rift CV1 and Quest 3
Participant
November 22, 2017
i have a question, i just bought 2 games on steam, i run the games in steam and play ok, but when i go back to oculus home, the games don't appear in my oculus library, why ????
Up and Coming
November 22, 2017
@jarick101 This his is probably more of a question for Oculus Support as that feature is part of the Oculus App/service, not OTT =) Is Oculus Home running when you start the Steam game? I do believe it needs to in order for third-party games to be added.

@YoLolo69 I will be changing the way i store profiles and use a SQLite database instead of a .xml file. This will open up for some more options i think. So instead of patching the current version i'd like to focus on making the profile system better from the ground. What you can do in the mean time is open up the config.xml using any texteditor and see if you have two entires in there, and remove the one that you don't want.

Cheers!
Up and Coming
November 23, 2017
Hey Guys - 
First, Thanks for the great tool!  I recently updated it as as others mentioned on this thread, I; too lost most of my 3rd party games/apps and cannot re-add them.  Also, when choosing the option to view removed apps, I get an error (below).  

I looked in \Manifests and all that exists for the apps that disappeared is a single BKP file.  I tried truncating the extension to end in just .json as they seem to be backups and restarting Oculus Service, but no change.  I also tried deleting one of the BKP files, restarting services, then re-launching the same game via EXE as when I originally added it but it did not add again.  Uhh ohh.

Finally, due to the error mentioned above; I uninstalled Oculus Tray Tool, renamed the install path which still had a few files in it, then installed the latest version in default path therefore starting with a brand new db file and settings.  Same errors persisted.

Any suggestions?  Error details below - Thanks

Details from Error:
(Windows 10 x64 / Oculus 1.20.0.495242)
If I click "Continue", it shows some (not all) of the missing titles as well as ones I removed on purpose - all with 3 questions marks for image.

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.SQLite.SQLiteException (0x80004005): SQL logic error or missing database
near "tKnockTwice_DontKnockTwice_LocalAppState": syntax error
   at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
   at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
   at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader()
   at OculusTrayTool.Injector.GetRemovedThirdPartyApps()
   at OculusTrayTool.Injector.CheckBox1_CheckedChanged(Object sender, EventArgs e)
   at System.Windows.Forms.CheckBox.OnCheckedChanged(EventArgs e)
   at System.Windows.Forms.CheckBox.set_CheckState(CheckState value)
   at System.Windows.Forms.CheckBox.OnClick(EventArgs e)
   at System.Windows.Forms.CheckBox.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2115.0 built by: NET47REL1LAST
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
OculusTrayTool
    Assembly Version: 0.82.1.0
    Win32 Version: 0.82.1.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Oculus%20Tray%20Tool/OculusTrayTool.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 14.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2110.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2117.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2110.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2102.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2114.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Management
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2102.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
System.Speech
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Speech/v4.0_4.0.0.0__31bf3856ad364e35/System.Speech.dll
----------------------------------------
System.ServiceProcess
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.ServiceProcess/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll
----------------------------------------
CoreAudioApi
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Oculus%20Tray%20Tool/CoreAudioApi.DLL
----------------------------------------
Newtonsoft.Json
    Assembly Version: 9.0.0.0
    Win32 Version: 9.0.1.19813
    CodeBase: file:///C:/Program%20Files%20(x86)/Oculus%20Tray%20Tool/Newtonsoft.Json.DLL
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Data.SQLite
    Assembly Version: 1.0.104.0
    Win32 Version: 1.0.104.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Oculus%20Tray%20Tool/System.Data.SQLite.DLL
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2102.0 built by: NET47REL1LAST
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2046.0 built by: NET47REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
HtmlAgilityPack
    Assembly Version: 1.5.1.0
    Win32 Version: 1.5.1
    CodeBase: file:///C:/Program%20Files%20(x86)/Oculus%20Tray%20Tool/HtmlAgilityPack.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.




Up and Coming
November 23, 2017
@bzowk  Not sure what you mean by third party apps have disappeared? Do you mean from Oculus Home or are they not visible in OTT? The .BKP files you mentioned are created as backups when you modify third-party apps, e.g. when you right-click an app in the Library and modify the properties. Have you done this then? Even if you do not modify it, clicking Verify will create a new file (with the exact same contents though) and create a .BKP of the original file. Looking at the error it looks like i might not be picking up the removed apps properly. I will PM you and we'll have a look in the logs.

Cheers!
Up and Coming
November 23, 2017
Thanks for the reply...

Disappeared as in they were shown in my Library in Oculus Home both in Windows and within the headset yet literally disappeared.  I have not edited properties of any of them recently, but I had like a dozen disappear at once.  As mentioned, I renamed the BKP file by removing ending characters with date up to ".json" so that it would be the file extension, yet after a services restart; no change.  

Thanks
New Participant
November 24, 2017
Setting a CPU priority for Elite Dangerous under profiles doesn't seem to work. Checking the details in task manager always shows normal after it launches and the tray tool log shows it changed the priority.

I made a quick batch file to compare launching and using wmic to set the priority and saw the same behaviour when setting the priority immediately after the process is launched. Setting a 60 second wait before setting the priority after discovering the process worked around the issue in my test. It seems setting the priority before the game finishes loading up causes it to revert back to normal by the time its done loading. Anything that can be done in the tray tool to address this issue?

Edit: Actually it seems you can easily crash EliteDangerous64.exe depending on the timing of changing the process priority while its loading up. Immediate or very close to immediately crashes every now and then while testing with various delays.
Up and Coming
November 24, 2017
@Einkoro Good catch, will see if i can add a delay to CPU priority.
November 25, 2017
I was using OTT 0.82.1  for two months.  Then it started displaying it's window(I had it set to start minimized) at startup.  And the option to start with Windows was unchecked, and so was the Start Minimized.  So, I checked these again and it crashed.  And on the Update screen the labels all just said Label1, Label2, etc.. 

So last week I installed the beta 0.82.2 and all was well, until today.  the same thing as described above happened.  I tried installing the beta again, but that didn't fix it.  When I installed 0.82.1 again, it fixed it.

It seems to work for a few weeks an then I have to change versions to fix it.
Participant
November 26, 2017
i have a error while opening oculus tray tool, it says "Failed to find manifest file cannot find C:/MANIFEST" 

and i had steamvr installed