Remix Plus is a community-maintained fork of NVIDIA's
dxvk-remix — created
and led by Kim2091 — that extends the
Remix SDK API for modern-game plugin integrations. It
brings the SDK extensions developed in the gmod-rtx community fork —
batched mesh and light creation, plugin-injected game state, UI state
plumbing, VRAM control, additional tonemap operators, the Numos
sky system, and more — onto a clean, NVIDIA-rebase-friendly
base, so plugin authors and game integrations can build on a
maintained codebase that's API-compatible with the broader Remix
ecosystem.
Like upstream dxvk-remix, Remix Plus is a fork of
DXVK that overhauls the D3D9
fixed-function pipeline for path-traced remastering. The bridge
subfolder enables 32-bit games to communicate with the 64-bit
runtime.
Bugs encountered with Remix Plus belong in this repo's issue tracker, not in upstream DXVK or NVIDIA
dxvk-remix.
- Batched mesh creation —
CreateMeshBatchedfor high-throughput geometry submission paths. - Batched light creation + deferred updates —
CreateLightBatched,UpdateLightDefinitionfor per-frame light churn. - UI state query/set —
GetUIState/SetUIStateso plugins can observe and drive Remix's developer UI from outside the runtime. - Texture-hash category mutation —
AddTextureHash,RemoveTextureHash,dxvk_GetTextureHashfor plugin-driven texture classification at runtime. - D3D11 shared-texture handles —
dxvk_GetSharedD3D11TextureHandlefor interop with D3D11-side rendering paths. - VRAM control —
RequestTextureVramFree,RequestVramCompaction,GetVramStatsgive plugins a driver-view handle on memory pressure. - Plugin-injected game state —
SetGameValuewrites named values into a fork-owned store;GameValueReadBoolandGameValueReadNumbergraph (Sense) components read them back inside replacement logic. externalMeshfield onRasterGeometryfor capture/replacement parity when geometry comes in via the Remix API path.InstanceCategoryBitABI synced to the gmod/plugin layout so category bits round-trip correctly across the API boundary.
- Eight tonemap operators in the UI dropdown: Hill ACES, Narkowicz ACES, Hable Filmic, AgX Minimal, Lottes 2016, PsychoV17_Beta, Gran Turismo 7 (SDR), and Neutwo. Each operator has its own parameter panel — controls are visible at a glance instead of buried.
- AgX Minimal (Benjamin Wrensch / MIT) replaces the older multi-knob AgX surface. Look presets: None / Golden / Punchy.
- PsychoV17_Beta — Slang port of renodx Psycho Test 17 (Carlos
Lopez Jr. / MIT). Stockman-Sharpe LMS + Naka-Rushton cone response
- gamut compression.
- Gran Turismo 7 reference — Slang port of Polyphony Digital's SIGGRAPH 2025 GT7 tone-mapping reference (MIT). SDR mode, ICtCp UCS.
- Hable presets (Hejl, Uncharted 2) with the original parameters.
- Perceptual auto-exposure — Stockman-Sharpe Yf histogram + geometric-mean adaptation + first-site cone-contrast law. Asymmetric in log-exposure space: cone-bleach is fast (~0.10–0.20 s), rod-recovery is slow (~0.50–1.50 s). Two tau sliders replace the old Adaptation Speed / EV-Min / EV-Max / Average Mode controls.
The legacy Tonemapping Mode (Global / Local / Direct) combo, the local tonemapper, the dynamic tone curve / Tuning Mode sliders, the User Brightness slider, and the exposure-compensation curve are removed — the apply pass always runs in operator-only mode.
- Numos atmosphere (Hillaire scattering) — physically-based atmospheric scattering ported from the gmod-rtx community fork. Daylight, sunset, and twilight all behave correctly without manual fog tuning.
- Volumetric clouds — procedural FBM cloud layer with weather-driven coverage and Nubis-style spatial variation. Anvil, shear, and vertical-profile shaping are artist-tunable. Renders through a sky-dome curvature with sample-seam jitter to hide stepping artifacts. Sun and any number of moons cast shadows through the volume; twilight and night cloud lighting are physically correct rather than tuned-by-eye. Shadow-tap cost is heavily reduced via multi-octave density approximation, cadence-decoupled shadow caching, combined-moon marching, and density-gated skipping.
- Night sky — stars, milky way, shooting stars, and airglow, with sidereal rotation so the celestial sphere actually moves. Multi-moon support: independent elevation / rotation / phase per moon, unified moon-disk eval with surface-style presets (Rocky, Volcanic), soft radial glow/halo, and physically-scaled lunar illumination on the cloud volume.
- HW skinning with capture and replacement parity, so skinned meshes injected via the Remix API path participate in capture and asset replacement the same as fixed-pipeline geometry.
- Overwrite-existing-capture checkbox in the capture dialog.
- Null-image / null-map / dimension guards on capture export paths — eliminates a class of crashes when capturing edge-case resources.
- Keyboard and mouse events forwarded to ImGui on the legacy
WndProcfallback path, so plugin-API-driven overlays receive input even when a game menu captures raw input. - Quieter logs — spammy swapchain-recreate throws and repeated mesh-registration warnings silenced.
- Fork-touchpoint pattern — fork logic is extracted into
dedicated
rtx_fork_*.cppmodules, with one-line dispatches in upstream files. Reduces NVIDIA-rebase pain by ~54% (measured) and makes the fork's surface area auditable. Seedocs/fork-touchpoints.mdfor the authoritative inventory. - PR template fridge-list reminder keeps the discipline honest.
Contributions are welcome. Whether you write Remix plugins, ship a game integration, or want to make this fork better — start with the contribution guide:
docs/CONTRIBUTING.md covers setup,
build, fork-touchpoint discipline, code style, and PR submission.
The short version:
- Fork
RemixProjGroup/dxvk-remix. - Branch on your fork — any name is fine.
- Keep PRs small and focused.
- Build clean (release flavor, exit code 0, zero errors).
- Open a PR against canonical's
mainbranch. - Add yourself to
src/dxvk/imgui/dxvk_imgui_about.cppunder "Github Contributors".
If you touch any upstream file, update
docs/fork-touchpoints.md in the same
commit — that's the one rigid rule.
Questions? File an issue or ask on the RTX Remix Discord.
Detailed requirements and walkthrough live in
docs/CONTRIBUTING.md. The compressed
version, assuming you have Visual Studio 2019 (with the v142
toolchain), the Windows SDK, Meson 1.8.2+, the Vulkan SDK
1.4.313.2+, and Python 3.9+:
git clone --recursive https://github.com/<your-fork>/dxvk-remix.git
cd dxvk-remix
.\scripts\build.ps1scripts/build.ps1 is the fork-side runtime build entry point — it
discovers Visual Studio via vswhere, runs meson setup/compile/
install, and verifies artifacts. It defaults to the release
flavor; pass -Flavor debug or -Flavor debugoptimized for the
instrumented flavors, -Clean for a fresh build dir, or
-EnableTracy for the Tracy profiler.
Output d3d9.dll lands in _Comp64Release/src/d3d9/ and is
installed to _output/. Configure game targets via
gametargets.conf (copy gametargets.example.conf) and the build
will deploy automatically.
To build the 32-bit-to-64-bit bridge separately, use the fork-side
bridge wrapper .\bridge\scripts\build.ps1 (builds the x64 server
and x86 client + launcher into bridge/_output/).
If you're integrating Remix into a game with available source, you
can either use the D3D9 surface directly (Remix's d3d9.dll
implements D3D9) or program against the Remix C API to push game
data into the renderer. Start with
docs/RemixSDK.md for setup and the mental
model, then see docs/RemixApi.md for the full
API reference. The C header is
public/include/remix/remix_c.h,
with a type-safe C++ wrapper at
public/include/remix/remix.h.
- Anti-Culling System
- Cloud System
- Contributing Guide
- Contributing Style Guide
- Foliage System
- Fork Touchpoints
- GPU Print
- Opacity Micromap
- Remix API (hub reference)
- Remix API Changelog
- Remix API Surface (auto-generated)
- Remix Config
- Remix Logic
- Remix SDK Setup
- Remix Sky API
- Rtx Options
- Terrain System
- Unit Test
- Kim2091 — project lead and lead maintainer
- CR — maintainer
- TheGreatHMMMM — contributor
- Gokuwashere — contributor
Remix Plus stands on the work of:
- DXVK — D3D9 → Vulkan translation layer.
- NVIDIA
dxvk-remix— path-traced remastering fork of DXVK. - The gmod-rtx community fork — origin of most of the SDK extensions Remix Plus carries.
Thanks to all the contributors whose work makes this possible.