📈 GH Trending Explorer 🎲 Surprise me

← all repos

ItsAdeline / NVSmooth30

git clone https://github.com/ItsAdeline/NVSmooth30.git

—

+0
stars, 24h · #29,074
+~0
stars, 7 days · #29,549
+~0
stars, 30 days · #35,902
125
★ total
4
forks · 1 open issues

Star history (as recorded here)

2026-10-20 · 124 ★ 2026-10-23 · 125 ★
LanguageC++
LicenseMIT
Created2026-09-20 (1mo ago)
Last push1mo ago
Watchers4
OwnerUser

Links

README excerpt
# NVSmooth30
NVSmooth30 is a clean-room, source-available compatibility experiment for
running NVIDIA's `NvPresent64.dll` Smooth Motion path on SM86/RTX 30-series
hardware. It is not NVIDIA software and contains no NVIDIA binaries or copied
source code.
##Download Release##
https://www.nexusmods.com/site/mods/2344
1. Extract the version.dll into the game folder with the executable (Rename the version.dll into a .asi if needed, use Ultimate ASI Loader only if using ASI).
2. Download Nvidia Profile Inspector.
3. Open up Nvidia Profile Inspector and enable Smooth motion for your game and hit "Apply Changes" (You will need to do this everytime your drivers are updated)
4. Launch your game.
## Status and safety
This is an **alpha interoperability project**. It was designed against the
observed behavior of one reference `NvPresent64.dll` build, SHA-256:
`cd395d58f41c6e393c31a9898f2be3da83f7bc109a2228935c23e8c89b944c15`
It does not hard-code that build's internal RVAs. Runtime scanners require the validated compare/capability structure used by
the reference path and abort without patching when that structure is unknown. New NVIDIA versions can still change semantics, kernel formats, or
presentation behavior.
The CUDA step is conservative metadata retargeting, not a general SASS binary
translator. It is suitable only while the shipped SM89 kernels use instructions
that are valid on SM86. Unknown fatbin layouts are rejected instead of edited.
Do not use this in competitive or anti-cheat-protected games. Keep a backup of
every replaced file. A driver reset, game crash, corrupted frame, or black
screen remains possible.
## Building
Requirements:
- 64-bit Windows 10 or 11;
- Visual Studio 2022 with **Desktop development with C++**;
- Windows 10/11 SDK;
- CMake 3.24 or newer.
Run:
 [code] 
The result is `build\Release\version.dll`. Copy it beside the game's main
executable. Do not copy `NvPresent64.dll`; NVSmooth30 loads the installed driver
copy from DriverStore.
## Configuration
Set environment variables before launching the game:
| Variable | Default | Purpose |
|---|---:|---|
| `SM86_ENABLE_OSD` | `0` | Draw the lightweight status OSD; F11 toggles it. |
| `SM86_ENABLE_D3D11_BRIDGE` | `1` | Enable the experimental D3D11-to-D3D12 bridge; set to `0` to disable it. |
| `SM86_FORCE_VSYNC` | `0` | Force swapchain sync interval 1. |
| `SM86_DIAGNOSTICS` | `0` | Reserve verbose diagnostic behavior. |
| `SM86_LOW_LATENCY` | `1` | Request maximum frame latency 1 when supported. |
| `SM86_HALF_REFRESH_CAP` | `0` | Pace base frames at half the active refresh rate. |
| `SM86_BASE_FPS_CAP` | `0` | Explicit base-frame cap; zero disables it. |
| `SM86_BRIDGE_LINEARIZE` | `0` | Map sRGB source formats to linear for the bridge; default keeps source format. |
| `SM86_NVPRESENT_PATH` | auto | Override the full path to `NvPresent64.dll`. |
Example launcher:
 [code] 
Diagnostics are written to `nvsmooth30.log` beside the game executable.
## Offline driver inspection
The regres