cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Quest 2 Windows 11 Performance. can never hit maximum FPS with link cable.

Gifted83
Level 4

I decided to give windows 11 a go and everything on my PC is working flawlessly apart from one big one... Oculus Link performance. Before I go back to windows 10 I wonder if anyone has figured this out already.

 

Oculus software works fine and the Quest 2 link connects, but it can never hit the required fps settings no matter what they are. So if I have link set to 90hz, then in game it will be about 82-85fps and stuttering, it never hits 90fps even though the game says its locked at 90 on my monitors no problem, and I have loads of headroom in performance monitor (I have a 5900x and RTX 3090!) - If i use the 120hz option then i will get about 105fps but never 120. Even if i choose 72hz ill get about 65fps. super annoying.

 

I went onto the beta channel on the software and got the latest updates but still no luck.

 

I dont mind going back to windows 10 and i get windows 11 might not be ready yet, but literally EVERYTHING else on my pc works fine, only the vr performance, so its a shame. Any ideas of things to try before I reinstall windows 10?

453 REPLIES 453

Mike12306
Level 6

Alvr seems to be working well. I tried it on phasmophobia and it felt faster than virtual desktop.

Mike12306
Level 6

Lol guess it's dead here

Could anyone confirm if Cactus Cowboy's audio workaround still works for you?  I tried it today and don't seem to be getting the same results as you all.  Specifically:

 

1) I set system audio to something other than Oculus Virtual Audio: my Nvidia HD audio (routing through my monitor speakers);

2) Set Oculus app audio setting so the first option is enabled (Hear VR Audio From Computer) and the second is disabled (not sure that matters);

3) set steamVR audio to Manual (System Default) and Mirroring (System Default) on.

 

If I missed a step, let me know.  Unlike the console trick, this didn't seem to produce any benefit and I still get stuttering, wobbling, and artifacting in games, often in SteamVr before launching a game, and sometimes even in the Oculus menu before launching SteamVr.  Performing the console trick still seems to work most of the time, but it doesn't play nicely with all games and I was really hoping for a better solution.  

 

i9-12900H

3080 TI (120W laptop version)

No solution worked for me. I had to install Windows 10 as a system for VR and everything works fine there.

Not sure what you did wrong. It works fine for me as development solution and I use it every day. One thing, you need to tick both Audio switches in the Oculus menu.

You're right, that did it!  It's running great now, even without the console.  Thank you so much!

CactusCowboy
Level 6

Did they just delete the posts regarding the win11fix.exe file and it's source code? Hey Oculus, I do freelance work, the Cactus Studios will implement this fix into ovr_server for a small fee if you want to.

Holy crap, they did!! I just came here to download it and it is gone. So they are knowingly looking at this thread and refusing to do or say anything, despite these workarounds we are finding. Fascinating.

 

Its part of the FPSVR program on Steam, if you need to look it up. So it is legitimate and not a virus or anything. 

CactusCowboy
Level 6

#include <cstdio>
#include <windows.h>
#include <tlhelp32.h>
#include <iostream>
#include <processthreadsapi.h>


HANDLE GetProcessByName(PCSTR name)
{
DWORD pid = 0;
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 process;
ZeroMemory(&process, sizeof(process));
process.dwSize = sizeof(process);
char buf[MAX_PATH] = { 0 };
size_t charsConverted = 0;
if (Process32First(snapshot, &process))
{
do
{
wcstombs_s(&charsConverted, buf, process.szExeFile, MAX_PATH);
if (_stricmp(buf, name) == 0)
{
pid = process.th32ProcessID;
break;
}
} while (Process32Next(snapshot, &process));
}
CloseHandle(snapshot);
if (pid != 0)
{
return OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
}
// Not found
return NULL;
}

 

int main(int argc, char* argv[])
{
std::cout << "\n\n";
std::cout << "***************************************************************************************************\n";
std::cout << "fpsVR - https://store.steampowered.com/app/908520/fpsVR/ \n";
std::cout << "Windows 11 fix for VR : disables PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION for VR processes\n";
std::cout << "***************************************************************************************************\n";

PROCESS_POWER_THROTTLING_STATE PowerThrottling;
RtlZeroMemory(&PowerThrottling, sizeof(PowerThrottling));
PowerThrottling.Version = PROCESS_POWER_THROTTLING_CURRENT_VERSION;
PowerThrottling.ControlMask = PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION;
PowerThrottling.StateMask = 0;

HANDLE h1 = GetProcessByName("OVRServer_x64.exe");
if (h1 != NULL)
{
SetProcessInformation(h1, ProcessPowerThrottling, &PowerThrottling, sizeof(PowerThrottling));
std::cout << "OVRServer_x64.exe: Done\n";
}
else
{
std::cout << "OVRServer_x64.exe: not running\n";
}

HANDLE h2 = GetProcessByName("vrcompositor.exe");
if (h2 != NULL)
{
SetProcessInformation(h2, ProcessPowerThrottling, &PowerThrottling, sizeof(PowerThrottling));
std::cout << "vrcompositor.exe: Done\n";
}
else
{
std::cout << "vrcompositor.exe: not running\n";
}

HANDLE h3 = GetProcessByName("vrserver.exe");
if (h3 != NULL)
{
SetProcessInformation(h3, ProcessPowerThrottling, &PowerThrottling, sizeof(PowerThrottling));
std::cout << "vrserver.exe: Done\n";
}
else
{
std::cout << "vrserver.exe: not running\n";
}

HANDLE h4 = GetProcessByName("vrmonitor.exe");
if (h4 != NULL)
{
SetProcessInformation(h4, ProcessPowerThrottling, &PowerThrottling, sizeof(PowerThrottling));
std::cout << "vrmonitor.exe: Done\n";
}
else
{
std::cout << "vrmonitor.exe: not running\n";
}

std::cout << "***************************************************************************************************\n";
std::cout << "\n\n";
std::cout << "\n\n";
if (argc == 1)
{
system("pause");
};
}

 

Mike12306
Level 6

The latest update (KB5012643) for windows 11 kills virtual desktop performance. Avoid it.