Skip to content

About

No description, website, or topics provided.

Resources

Stars

153 stars

Watchers

2 watching

Forks

Latest commit

 

History

219 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cheeky Foveated DLSS

Reduce the cost of DLSS Super Resolution by concentrating it on the center of the image. Available as a UEVR plugin, or standalone integration, for Vulkan, Direct3D 11 and Direct3D 12 games. With DLSS Performance FPS gains of 20%+ are standard, even more with eye tracked headsets which can make the foveated region even smaller.

This also supports foveating DLSS Neural Resolution (DLSS5), including running it pre-upscale and at lower resolutions (improves performance at a cost of quality).

Diagram

Requirements

  • Windows 10/11, 64-bit, and an NVIDIA RTX GPU.
  • A Vulkan, D3D11 or D3D12 game with DLSS Super Resolution.

Compatibility

This should work with most games that have DLSS. Here is a non-exhaustive list of community reports whether a game is supported.

Compatibility List

Disclaimer: If a game is not on this list or the game is marked as not-working, this does not necessarily mean it is not supported. These are user submitted reports and issues may be user specific.

Please help maintain and expand this list by submitting if a game has worked for you using the Survey Link

Installation

Close the game and choose one Cheeky integration. Do not load multiple Cheeky loaders together.

Standalone

Use the Standalone ZIP for native DLSS games: extract dxgi.dll and the CheekyFoveatedDLSS folder beside the game executable. If dxgi.dll already exists, do not overwrite it.

Press F8 by default for Cheeky's in-game controls. The standalone menu key can be changed in its General tab. Installation, layout and limitations

Complete the OpenXR setup below when using OpenXR. The overlay controls appear on the desktop; an in-headset settings menu is not included.

UEVR plugin

  1. Extract the UEVR ZIP into the game's UEVR configuration directory, normally %APPDATA%\UnrealVRMod\<game-executable-name>. Keep the plugins/ and scripts/ folders intact. Do not extract it beside the game executable. Folder layout
  2. Complete the required VR setup below, start the game and inject UEVR. Open the controls under UEVR → LuaLoader → Cheeky Foveated DLSS. You may need to enable 'Show Advanced Options' in top left to see these menus.

UEVR Menu

Required VR setup

For OpenXR, run CheekyOpenXRSetup.exe from the matching release. This is required even without an eye-tracked headset. It installs the shared layer used for automatic stereo alignment and eye calibration. Install it once for all OpenXR games, and update it alongside Cheeky.

Game's VR API OpenXR installer
OpenXR, including UEVR in OpenXR mode Required
OpenXR through SteamVR or OpenComposite Required
Native OpenVR/SteamVR, such as ACC in SteamVR mode Not needed; calibration is built in
Oculus LibOVR, such as R.E.A.L. VR with PreferredAPI2=1 on Pimax Not needed; calibration and Pimax gaze are built in
Flat-screen play Not needed

SteamVR's presence alone does not identify the game's API. OpenXR games still need the installer when SteamVR is their OpenXR runtime.

Keep Automatic stereo alignment and Automatic eye calibration enabled. Manual offsets are not a reliable replacement: eye assignments can change between loading videos, menus and gameplay.

First launch

  1. Enable DLSS in the game's graphics settings and open Cheeky's controls.
  2. Start with the defaults and Foveation center → Fixed. Fixed placement still uses automatic stereo alignment and calibration in VR.
  3. Enable the red alignment border. Verify it overlaps 100%, it should appear as one rectangle. If it does not in Diagnostics → Eye calibration (under Stereo and gaze in UEVR), check for Active and correctly placed regions in both eyes. Turn the border off afterward.
  4. Adjust fovea width/height, height offset and transition width to taste. Sliders apply on release.

If calibration stays inactive or reports manual fallback, check the installed layer and collect a support report. Do not rely on a manual eye-order adjustment staying correct across scenes, but you can use it to see the effect.

Settings

Start with defaults, then compare native and foveated DLSS timings in the performance panel. Smaller foveas reduce processing cost; higher center supersampling improves center resolution at additional cost. Results depend on the game and GPU.

Troubleshooting

  1. Use latest DLSS files using DLSS Swapper
  2. Make sure no overrides are set in NVidia Profile Inspector, NVidia App, or DLSS Swapper
  3. Some games smear with certain center presets (for example, Preset K in Mortal Shell 2). Try another preset, including J, or enable Fix motion-vector blur beneath the center preset selector. This opt-in workaround copies only the center motion vectors to a zero-offset GPU texture; it fixed Preset K blur in AC Rally testing. It currently applies to DX12 NGX DLSS-SR with input-resolution motion vectors, including UEVR's lower hook. It adds GPU work, so leave it off in games that already look clear.
  4. UEVR AFW supports DX12 SR and NR with fixed or gaze-driven coverage using the public AFW UEVR build. Start with Automatic under Stereo and gaze; performance figures and reporting are under Performance and Support. See the AFW setup and compatibility notes.
  5. Eye Tracking: You can use https://github.com/maluoi/openxr-explorer to verify eye tracking works

Eye tracking (experimental)

I do not own an eye tracked headset, however due to the open source nature of the project @Williem3 was able to add in the initial implementaiton. I cannot fully validate the eye tracking experience but rely on community reports if there are issues.

Eye tracking uses the OpenXR layer installed in the main installation steps. It requires an eye-tracked headset and a runtime that supplies usable gaze input. Automatic stereo alignment works without eye tracking; Quest 3 users should use Fixed with Automatic stereo alignment and adjust Height offset as needed.

LibOVR games on Pimax, including R.E.A.L. VR in LibOVR mode, read gaze from the game's own Pimax PVR session without OpenXR; see LibOVR games and Pimax eye tracking.

To enable real tracking, select Foveation center > Runtime gaze (OpenXR / OpenVR / LibOVR). For validation, disable the game's built-in eye-tracked foveation, enable the red alignment border, and open Diagnostics > OpenXR eye tracking. Check System support, Gaze action active, Tracking valid, and Using gaze, along with stable, distinct DLSS-view mappings for both eyes. Eye gaze extension: Yes alone does not mean the headset supplies eye tracking.

Valid gaze sets both eye centers directly; it needs no manual stereo X offset. SR and foveated NR share gaze and automatic alignment. NR continues tracking with SR foveation disabled; Use DLSS-SR size and shape only links region settings. Fallback height offset only adjusts fixed placement when gaze is unavailable and does not shift valid gaze. If tracking is unavailable, a red message appears directly below the selector and the add-on falls back to fixed placement, using automatic alignment where available and saved manual placement otherwise. Temporary signal loss, such as a blink, holds the last valid gaze for Hold gaze on signal loss (default 400 ms, under Advanced eye tracking) without resetting DLSS history, then returns toward the fixed fallback over 150 ms.

Separate, packed and array-slice submissions can use marker calibration on D3D11 and D3D12. Quad views are not supported. See Eye calibration for path-specific limits. Missing, stale, or ambiguous data also causes fallback. To test motion without an eye tracker, use Simulated gaze; this does not validate real eye-tracker input or latency.

Updating and removing

Close the game. For ReShade, replace the .addon64 in the game folder. For UEVR, replace both plugin DLLs and the Lua script using the complete ZIP. For OpenXR, also run the matching CheekyOpenXRSetup.exe. Keep existing settings.

To remove the shared layer, uninstall Cheeky OpenXR Support in Windows Settings → Apps. Remove the add-on or plugin separately. OpenXR stereo calibration requires the layer to remain installed.

Compatibility and help

Previously tested games include Forza Horizon 6, Red Dead Redemption 2, Assetto Corsa Competizione, Stellar Blade Demo, and Hogwarts Legacy with UEVR. Compatibility varies by build and integration; this list is not a guarantee for every update. New OpenXR/D3D12 calibration paths still need broader game testing.

Use Report an issue... in Cheeky's panel to create a diagnostic ZIP and open a GitHub report. Describe the problem and attach the ZIP; nothing is uploaded automatically. Report details

Development and support

Build instructions

Show your appreciation

If Cheeky Foveated DLSS has given you smoother VR, extra FPS, or room to turn up the resolution, please consider donating.

Donate

Any amount helps toward the goal of funding an eye tracked headset, donating is entirely optional. Cheeky Foveated DLSS is free and open source under the GNU GPL v3; third-party components retain their own licenses.

About

No description, website, or topics provided.

Resources

Stars

153 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages