Coder Social home page Coder Social logo

xoxor4d / dxvk-remix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvidiagameworks/dxvk-remix

0.0 0.0 0.0 20.3 MB

License: zlib License

Shell 0.07% C++ 71.61% Python 0.28% C 20.44% PowerShell 0.14% CMake 0.02% GLSL 7.04% Batchfile 0.07% Meson 0.33%

dxvk-remix's Introduction

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.

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 - v0.61.4 has been tested, v1.2.0 does not work (missing library)
    • Follow instructions on how to install and reboot the PC before moving on (Meson will indicate as much)
  6. Vulkan SDK - 1.3.211.0 or newer
    • You may need to uninstall previous SDK if you have an old version
  7. Python - version 3.9 or newer
  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 any dependency paths change (i.e. new Vulkan library), run meson --reconfigure in _Compiler64 directory via a command prompt. This may revert some custom VS project settings

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 artifacts from the previous attempt by deleting all folders that start with _, i.e. _vs/ and _Comp64Debug
      • 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
    • 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
    • Only x64 build targets are supported
  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. Open and, simply, re-save top-level meson.build file (i.e. via notepad) to update its time stamp, and rerun the build. This will trigger a full meson script run which will generate a project within the Visual Studio solution file and deploy built binaries into games' 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.

Project Documentation

dxvk-remix's People

Contributors

aeikum avatar alexdunn avatar anon-apple avatar apanteleev avatar cdavis5e avatar cjacek avatar cme42 avatar dadschoorse avatar doitsujin avatar guy1524 avatar hakzsam avatar joshua-ashton avatar jp7677 avatar k0bin avatar liam-middlebrook avatar libcg avatar markehenderson avatar mixaill avatar nsubtil avatar nv-nfreybler avatar nvzkupu avatar pchome avatar pendingchaos avatar pkristof avatar raffarti avatar ssertel avatar sultim-t-nv avatar xbei-nv avatar yomoma avatar zerofault avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.