Implement NGX's Vulkan API over the existing CUDA backend. Compute shaders pack the game's sampled images into buffers shared with CUDA (device-local memory exported through the Wine bridge), and a device event in the game's command buffer holds its queue until the result is written back, keeping frame age at zero. DLSS reads inputs through pitch-linear textures and its native output kernel writes the shared buffer directly; input and completion waits are adaptive. Make it work across engines: shared buffers are concurrent over every compute-capable queue family (Indiana Jones records DLSS on async compute), depth kept in an R32F colour image is accepted under a depth aspect, and the extension-requirement query allows a null list. Spare buffer sets are imported on the first frame and never while a frame is pending, since an import can block on GPU work that is waiting for us; host staging covers any shortfall. Fix two exit hazards. A game quitting without NGX shutdown left the GPU waiting on an event that only a killed thread would set, resetting the ring 10 s later: the bridge now runs a shim hook before teardown and skips all CUDA destroy/sync calls once Wine is shutting the process down. The shim's own entry point skips CRT static destructors at process termination, where locks held by killed threads made the exit spin forever. Add a Vulkan DLSS harness (dynamic, recreate, discard, invalid, exit, compute-queue and in-flight modes), staging/depth probes, ABI/config tests, and an OptiScaler settings overlay for Vulkan games.
4.2 KiB
Supported games
The following DirectX 12 games run DLSS Super Resolution through d4r on the tested Radeon RX 7700 XT Linux setup with GE-Proton 11-3. All three documented DLSS models run in each game; image-quality issues are noted in the table.
| Game | E: DLSS 3 CNN | K: DLSS 4 | M: DLSS 4.5 |
|---|---|---|---|
| SILENT HILL Townfall | Works | Works | Works |
| Ghost of Tsushima DIRECTOR'S CUT | Works | Works | Works |
| Ready or Not | Works | Works; visible graphical artifacts with hdr enabled | Works |
| Clair Obscur: Expedition 33 | Works | Works | Works |
| Marvel's Spider-Man: Miles Morales | Works | Works; minor artifacts when HDR enabled and while the game is paused | Works |
| The Last of Us Part I | Works | Works; visible graphical artifacts, including with HDR enabled | Works |
| Control Ultimate Edition | Works | Works | Works |
| Cyberpunk 2077 | Works; occasional visual artifacts during gameplay | Works | Works |
| Alan Wake 2 | Works | Works | Works |
| SILENT HILL 2 (2024) | Works | Works | Works |
| Subnautica 2 | Works | Works; visible artifacts at Quality (other quality modes are fine) | Works |
| Horizon Zero Dawn Remastered | Works; stutters | Works | Works |
| Ratchet & Clank: Rift Apart | Works; occasional artifacts in the pause menu | Works; minor artifacts with HDR enabled and occasionally in the pause menu | Works; occasional artifacts in the pause menu |
| Dying Light: The Beast | Works | Works | Works; small visual artifacts throughout |
General notes:
- Select DLSS in the game's graphics settings where it is offered. OptiScaler can also feed DLSS from a game's FSR or XeSS inputs, but those are a fallback for games that hide DLSS and can ghost or show a black screen.
- d4r supports DLSS Super Resolution only. Keep DLSS Ray Reconstruction off in games that offer it (such as Cyberpunk 2077 and Alan Wake 2); Control requests it whenever ray tracing is on and crashes.
- Saving settings from the OptiScaler overlay ("Save INI") rewrites
OptiScaler.iniand resets d4r's values toauto, including frame generation ([FrameGen] Enabled=false,FGInput=nofg,FGOutput=nofg) and[Inputs] EnableDlssInputs=true. Restore them afterwards, or keep a copy of the original file.
Game-specific setup:
-
The Last of Us Part I: the game's Streamline integration crashes on boot with OptiScaler. Rename
sl.common.dllin the game folder tosl.common.dll.bakand select FSR 3.1 in the game's graphics settings; OptiScaler passes it to DLSS through d4r. -
Control Ultimate Edition: turn ray tracing off. With ray tracing on, the game requests DLSS Ray Reconstruction, which d4r does not support, and crashes when loading into gameplay.
-
Cyberpunk 2077: GE-Proton 11-3 loads Wine's own ICU libraries instead of the game's, and the game aborts at launch (
unimplemented function icuuc.dll.u_setMemoryFunctions_65). AddWINEDLLOVERRIDES="icuuc,icuin=n,b"to the launch options (fixed in GE-Proton 11-4). -
Alan Wake 2: with the game's own DLSS inputs, every model shows heavy ghosting. Set
AutoExposure=trueunder[InitFlags]inOptiScaler.ini(or enable auto exposure in the OptiScaler overlay), or select FSR 3.1 in the game instead so OptiScaler passes FSR inputs to DLSS. -
Horizon Zero Dawn Remastered: the game loads
dxgi.dllonly from the Windows system folder, so OptiScaler is never loaded under that name. Renamedxgi.dlltoversion.dlland addWINEDLLOVERRIDES="version=n,b"to the launch options. d4r'sd3d12core.dllis still picked up from the game folder. -
Ratchet & Clank: Rift Apart: set
Dxgi=falseinOptiScaler.ini. With ray tracing on, OptiScaler's DXGI spoofing crashes the game at startup on AMD GPUs; thePROTON_FORCE_NVAPI=1launch option already reports an NVIDIA GPU. -
Dying Light: The Beast: use DLSS inputs; with FSR or XeSS inputs the screen stays black. The game passes its motion vectors as
R16G16B16A16_TYPELESS, which needs a d4r build from 2026-09-28 or later (older builds reject every frame and show a black screen).
Choose a model with Model = E, Model = K, or Model = M under [DLSS] in the game's d4r/d4r.ini. Model compatibility does not imply equal performance; see the Townfall measurements for measured frame rates.