Repository navigation
Home
This utility lets you use the Pimax Foveated Rendering feature with headsets other than Pimax, such as the Meta Quest Pro, PlayStation VR2, Play For Dream MR, Samsung Galaxy XR, Bigscreen Beyond2e, Varjo Aero and HP Reverb G2 Omnicept.
It re-implements a few parts of the Pimax PVR API (publicly available from Pimax's website) to allow the Pimax Foveated Rendering code to run without the rest of the Pimax software. It uses the MagicAttach tool available from the Pimax Play software to initiate Foveated Rendering into the currently running SteamVR OpenVR application.
Pimax is a Virtual Reality headset vendor, known for their Pimax Crystal, Crystal Super and Dream Air high-end headsets with support for eye tracking and therefore Dynamic Foveated Rendering (DFR) through their software suite.
!!! IF YOU USE A PIMAX HEADSET YOU DO NOT NEED THIS UTILITY !!!
| Headset | Dynamic Foveated Rendering | Fixed Foveated Rendering |
|---|---|---|
| Bigscreen Beyond 2e | Yes | Yes |
| HP Reverb G2 Omnicept Edition with Oasis | Yes | Yes |
| Meta Quest Pro with Virtual Desktop | Yes | Yes |
| Meta Quest Pro with Steam Link | Yes | Yes |
| Meta Quest Pro with Oculus Link | No [1] | Yes |
| Pico 4 Enterprise | No [2] | Yes |
| PlayStation VR2 with PSVR2Toolkit | Yes | Yes |
| Play For Dream MR with Virtual Desktop | Yes | Yes |
| Play For Dream MR with Steam Link | Yes | Yes |
| Samsung Galaxy XR with Virtual Desktop | Yes | Yes |
| Somnium VR1 | Yes | Yes |
| Valve Steam Frame with SteamLink | Yes | Yes |
| Varjo Aero / VR-3 / XR-3 | Yes | Yes |
| Vive Pro Eye | No [3] | Yes |
| Everything else | No | Yes [4] |
[1] Support with Oculus Link is not possible as Meta does not expose a low-level public API to retrieve eye tracking data. Please use Virtual Desktop or Steam Link instead.
[2] These headsets do not expose a low-level public API on the PC side to retrieve eye tracking data.
[3] The developer doesn't have time and/or resources to develop support.
[4] Compatibility in Fixed Foveated Rendering mode on all headsets is only indicative. I do not own every single headset in existence to try it out!
Pimax Foveated Rendering uses Variable Rate Shading (VRS) with Direct3D 11, therefore only some GPUs are capable of using it.
| Graphics card | Supported |
|---|---|
| Nvidia RTX 2000 series & above | Yes |
| Nvidia GTX 1600 series | Yes |
| Everything else | No |
Older Nvidia GPU architectures (such as Nvidia GTX 1000 series) do not work. AMD GPUs (including RX 7900 XTX) do not work. Intel ARC GPUs do not work.
These limitations are imposed by the graphics card vendors: only Nvidia had made the effort to support VRS with Direct3D 11, while AMD and Intel have elected to not support it.
Pimax Foveated Rendering does not work in all applications.
See more details on the Application Compatibility page.
PLEASE READ ALL THE INSTRUCTIONS BELOW CAREFULLY.
-
Install the latest Visual C++ Redistributable (if you don't have that already!).
-
Download the Foveated Rendering Utility from the Releases page. Unzip the Foveated Rendering Utility in the folder of your choice.
-
Follow the additional steps specific to your headset in order to enable eye tracking (when applicable):
- Bigscreen Beyond 2e
- HP Reverb G2 Omnicept Edition
- Meta Quest Pro
- Play For Dream MR
- PlayStation VR2
- Samsung Galaxy XR
- Somnium VR1
- Valve Steam Frame
- Varjo Aero/VR-3/XR-3
Double-click DFR-UI.exe.
This app must be running in order to initiate Foveated Rendering.
If you want to run a game WITHOUT Foveated Rendering, you can simply make sure that DFR-UI is NOT OPEN when you start your game!

Start SteamVR and the game of your choice. Enable Foveated Rendering in the user interface through the setting of your choice (Maximum means best performance but possibly more noticeable degradation in quality).
If all went well, you will now have foveated rendering in your app. In case of doubt, see Troubleshooting for ways to check whether a game is working properly.

Q: Is game XYZ compatible?
A: I don't know. I suggest you try games yourself (see Troubleshooting for ways to check whether a game is working properly) or ask the Pimax users community.
Q: I am having an issue with foveated rendering in game XYZ, can you fix it?
A: No, I have no control over the foveated rendering part, it is all done by Pimax's software.
Q: Foveated Rendering seems to be working in the game, but I am not seeing any performance improvements.
A: Foveated Rendering can only help if your game runs into performance bottlenecks through certain parts of your GPU pipeline. If your performance bottlenecks are elsewhere (eg: limited by CPU performance), then Foveated Rendering will not help you.
Q: I own a Pimax headset and also a second headset. How do I handle copying the libpvrclient64.dll file in my System folder?
A: You have no choice but to restore the original libpvrclient64.dll from Pimax before using your Pimax headset and copy back the PimaxMagic4All copy of it into your System folder when switching to your other headset.
-
Restart the
DFR-UI.exeutility. -
Try pressing the "Try Re-Attach" button.
You can inspect the log file at the bottom of the DFR-UI tool (which is loaded from %LocalAppData%\PvrEmu\PvrEmu.log).
2023-07-11 23:43:33 -0700: Hello World from 'F:\SteamLibrary\steamapps\common\assettocorsa\acs.exe'!
2023-07-11 23:43:33 -0700: Requested PVR SDK: 1.24
2023-07-11 23:43:33 -0700: Using eye tracking: Virtual Desktop
If you see the lines above, it's a good start, the loading into the game process succeeded, and eye tracking was initialized (if applicable to your headset). The key line you want to look for next is:
2023-07-11 23:43:33 -0700: Foveation is active
That line means that the process was successfully hooked and foveated rendering is possible. If you don't see that, then the app cannot support foveated rendering.
In certain applications (not all), the "Debug Mode" option can be used to visualize the eye gaze. This can both show that eye tracking is working, and also that variable rate shading is being injected into the application.

Donations are welcome and totally optional. You may use GitHub sponsorship or Ko-fi to make a donation.
Thank you!
You probably don't need to do this, but just in case Pimax publishes significant fixes/improvements...
-
Install Pimax Play from the Pimax website. This is temporary, you can uninstall it after we grab the necessary files. At time of writing, Pimax Play 1.41.2 is what is included in the binary release.
-
Go to
%ProgramFiles%\Pimax\Runtimeand copy theLibMagicD3D1164.dllandMagicAttach_x64.exefiles into the folder where you installed the Foveated Rendering Utility. TheLibMagicD3D1164.dllandMagicAttach_x64.exeshall be next to theDFR-UI.exefile. -
You can now uninstall Pimax Play.