Skip to content

RemixProjGroup/dxvk-remix

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,610 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remix Plus

Build Status

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.

What's new vs upstream dxvk-remix

Remix SDK API extensions

  • Batched mesh creationCreateMeshBatched for high-throughput geometry submission paths.
  • Batched light creation + deferred updatesCreateLightBatched, UpdateLightDefinition for per-frame light churn.
  • UI state query/setGetUIState / SetUIState so plugins can observe and drive Remix's developer UI from outside the runtime.
  • Texture-hash category mutationAddTextureHash, RemoveTextureHash, dxvk_GetTextureHash for plugin-driven texture classification at runtime.
  • D3D11 shared-texture handlesdxvk_GetSharedD3D11TextureHandle for interop with D3D11-side rendering paths.
  • VRAM controlRequestTextureVramFree, RequestVramCompaction, GetVramStats give plugins a driver-view handle on memory pressure.
  • Plugin-injected game stateSetGameValue writes named values into a fork-owned store; GameValueReadBool and GameValueReadNumber graph (Sense) components read them back inside replacement logic.
  • externalMesh field on RasterGeometry for capture/replacement parity when geometry comes in via the Remix API path.
  • InstanceCategoryBit ABI synced to the gmod/plugin layout so category bits round-trip correctly across the API boundary.

Tonemapping & auto-exposure

  • 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.

Atmosphere

  • 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.

Hardware skinning

  • 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.

Capture and overlay quality-of-life

  • 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 WndProc fallback 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.

Engineering

  • Fork-touchpoint pattern — fork logic is extracted into dedicated rtx_fork_*.cpp modules, with one-line dispatches in upstream files. Reduces NVIDIA-rebase pain by ~54% (measured) and makes the fork's surface area auditable. See docs/fork-touchpoints.md for the authoritative inventory.
  • PR template fridge-list reminder keeps the discipline honest.

Contributing

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:

  1. Fork RemixProjGroup/dxvk-remix.
  2. Branch on your fork — any name is fine.
  3. Keep PRs small and focused.
  4. Build clean (release flavor, exit code 0, zero errors).
  5. Open a PR against canonical's modern-games-sdk-api branch.
  6. Add yourself to src/dxvk/imgui/dxvk_imgui_about.cpp under "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.

Quick build

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.ps1

Output d3d9.dll lands in _Comp64Release/src/d3d9/. Configure game targets via gametargets.conf (copy gametargets.example.conf) and the build will deploy automatically.

Remix API

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.

Project documentation

Team

Credits

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.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 73.8%
  • C 16.5%
  • GLSL 8.0%
  • Python 0.7%
  • Meson 0.5%
  • PowerShell 0.2%
  • Other 0.3%