Skip to content

Latest commit

 

History

6,562 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dxvk-remix

Build Status

dxvk-remix is a fork of the DXVK project, which overhauls the fixed-function graphics pipeline implementation in order to remaster games with path tracing.

Thanks to all the contributors to DXVK for creating this foundational piece of software, on top of which we were able to build the RTX Remix Runtime.

While dxvk-remix is a fork of DXVK, please report bugs encountered with dxvk-remix to this repo rather than to the DXVK project.

dxvk-remix also contains a subproject in the bridge folder, which enables 32 bit games to communicate with the 64 bit dxvk-remix runtime.

Build instructions

Requirements:

  1. Windows 10 or 11
  2. Git
  3. Visual Studio
    • VS 2019 is tested
    • VS 2022 may also work, but it is not actively tested
    • Note that our build system will always use the most recent version available on the system
  4. Windows SDK
    • 10.0.19041.0 is tested
  5. Meson
    • 1.8.2 has been tested
    • Follow instructions on how to install and reboot the PC before moving on (Meson will indicate as much)
  6. Vulkan SDK
    • 1.4.313.2 or newer
    • You may need to uninstall previous SDK if you have an old version
  7. Python
    • 3.9 or newer
    • Ensure you are using python installed from the link above and not from the Microsoft Store
    • Python is required by developer build tooling; the packaged RTX Remix Runtime does not link against Python.
  8. DirectX Runtime
    • Latest version should work.
    • This includes d3d9x*.dll which are required to run the game
    • May already be installed if you have D3D9 games installed

Additional notes:

  • If dependency paths change (for example, after installing a new Vulkan SDK), reconfigure the affected build from the repository root, such as meson setup --reconfigure _Comp64Release.

Generate and build dxvk-remix Visual Studio project

  1. Clone the repository with all submodules:

    • git clone --recursive https://github.com/NVIDIAGameWorks/dxvk-remix.git

    If the clone was made non-recursively and the submodules are missing, clone them separately:

    • git submodule update --init --recursive
  2. Install all the requirements before proceeding further

  3. Make sure PowerShell scripts are enabled

    • One-time system setup: run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned in an elevated PowerShell prompt, then close and reopen any existing PowerShell prompts
  4. To generate and build dxvk-remix project:

    • Right Click on dxvk-remix\build_dxvk_all_ninja.ps1 and select "Run with Powershell"
    • If that fails or has problems, run the build manually in a way you can read the errors:
      • open a windows file explorer to the dxvk-remix folder
      • remove only the generated configuration that failed, such as _Comp64Debug/; remove _vs/ as well only if the generated Visual Studio solution must be recreated
      • type cmd in the address bar to open a command line window in that folder.
      • copy and paste powershell -command "& .\build_dxvk_all_ninja.ps1" into the command line, then press enter
    • Optional flags:
      • -SkipApics — skip downloading game test captures (requires auth token)
    • Examples:
      .\build_dxvk_all_ninja.ps1
      .\build_dxvk_all_ninja.ps1 -SkipApics
    • This will build all 3 configurations of dxvk-remix project inside subdirectories of the build tree:
      • _Comp64Debug - full debug instrumentation, runtime speed may be slow
      • _Comp64DebugOptimized - partial debug instrumentation (i.e. asserts), runtime speed is generally comparable to that of release configuration
      • _Comp64Release - fastest runtime
    • This will generate a project in the _vs subdirectory
    • This script builds the officially supported x64 targets. ARM64 and ARM64EC configurations are compile-tested in CI but are not part of this local build workflow.
  5. Open _vs/dxvk-remix.sln in Visual Studio (2019+).

    • Do not convert the solution on load if prompted when using a newer version of Visual Studio
    • Once generated, the project can be built via Visual Studio or via powershell scripts
    • A build will copy generated DXVK DLLs to any target project as specified in gametargets.conf (see its setup section)

Deploy built binaries to a game

  1. First time only: copy gametargets.example.conf to gametargets.conf in the project root

  2. Update paths in the gametargets.conf for your game. Follow example in the gametargets.example.conf. Make sure to remove "#" from the start of all three lines

  3. Reconfigure and rebuild each configuration you use so Meson reloads gametargets.conf. For example:

    meson setup --reconfigure _Comp64Release
    meson compile -C _Comp64Release

    The build deploys binaries to the game directories specified in gametargets.conf.

Profiling Remix

Remix has support for profiling using the Tracy tool, specifically the v0.8 release

To enable Tracy profiling:

  1. Open a command line window in a build folder (i.e. dxvk-remix/_Comp64Release/)
  2. Run meson --reconfigure -D enable_tracy=true
  3. Rebuild dxvk-remix-nv

To profile:

  1. Launch tracy.exe
  2. Launch the game and reach the section you wish to profile
  3. When ready, hit Connect in Tracy to begin profiling.
  4. It's best to collect at least 500 frames worth of data, so you can average out the results.

Remix API

If there's an intent to use the Remix Renderer in projects with available source code, Direct3D 9 API can be utilized, since Remix's d3d9.dll implements the Direct3D 9 API. Alternatively, Remix API can be used to programmatically pass the game data to the Remix Renderer, with or instead of Direct3D API. Click for more info.

Project Documentation

About

No description, website, or topics provided.

Resources

Contributing

Stars

417 stars

Watchers

28 watching

Forks

Releases

Packages

Used by

Contributors

Languages