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 Hillaire
atmosphere model, 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.
- Hillaire atmosphere — 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
modern-games-sdk-apibranch. - 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, 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
.\build_dxvk_all_ninja.ps1Output d3d9.dll lands in _Comp64Release/src/d3d9/. Configure
game targets via gametargets.conf (copy gametargets.example.conf)
and the build will deploy automatically.
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. See
docs/RemixSDK.md for the full SDK
documentation.
- Anti-Culling System
- Contributing Guide
- Foliage System
- Fork Touchpoints
- GPU Print
- Opacity Micromap
- Remix API
- Remix API Changelog
- Remix Config
- Remix Logic
- 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.