Releases: pythonlover02/DXVK-Sarek
DXVK-Sarek v1.12.0 "Late Anniversary" Released
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial continuation of the 1.10.x branch designed to assist users still relying on the 1.10.x releases by backporting per game configurations, fixes and a little more.
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
Also, huge thanks to @WinterSnowfall (the d7vk developer), as his work made it possible to bring D3D3, 5, 6 and 7 support to DXVK-Sarek.
The "Name":
"Late Anniversary", it comes from the fact that this release was originally planned as 1.11.1, but as time passed i decided to keep working on it and turn it into a bigger release instead. It ended up taking way longer than expected, hence the "late anniversary" :).
Contributors:
@pythonlover02
@WinterSnowfall
@zeyadadev
@UMU618
Changelog:
This release brings two major additions: dyasync (Dynamic Asynchronous Pipeline Compilation, replacing the old async patch) and the port of d7vk, which adds D3D3, 5, 6 and 7 support to DXVK-Sarek. On top of that, a huge amount of upstream fixes and backports have been integrated, so a lot more games should now run better (or at all) under DXVK-Sarek. As always, feel free to try your fav games and report anything that doesn't work :).
- [d3d7] Port d7vk to DXVK-Sarek (#38)
- [d3d7] Backport latest d7vk features (#39)
- [d3d8] Backport latest upstream d3d8 fixes (#20)
- [d3d8/9] Backport upstream fixes and optimizations
- [d3d8] Backport ZBIAS precision fix, UB shifts, cast safety and member init fixes
- [d3d9] Disable instancing for non-indexed draws
- [d3d9] Use drawInfo.vertexCount instead of vertexCount
- [d3d9] Clamp stage and type in [G,S]etTextureStageState
- [d3d9] Avoid depth degenerate viewports
- [d3d9] Saturate viewport depth range
- [d3d9] Only apply viewport zBias if minZ is below 0.5
- [d3d9] Return empty buffer slice for out-of-bounds offsets
- [d3d9] Fix off-by-one when copying shader defined constants
- [d3d9] Fail GetRTData if src and dst have mismatching sizes
- [d3d9] Only upload mip 0 of managed automipgen textures
- [d3d9] Only set initial NeedsUpload for D3DPOOL_MANAGED textures
- [d3d9] Only enable ATOC when rendering to MS RT
- [d3d9] Do not support cube textures with depth formats
- [d3d9] Fix ordinal values in the DEF file
- [d3d9] Don't clear mipGenBit if texture is bound as attachment
- [d3d9] Fix barriers with staging buffers
- [d3d9] Fix spec constant derp
- [d3d9] Fix recording MultiplyTransform
- [d3d9] Gate clip distance emission on Vulkan feature support
- [d3d9,dxso] Fix push constant validation errors
- [d3d9/d3d11] Backport validation fixes, early-outs and format/sampler compatibility fixes
- [d3d9/11] Make more features optional on the project
- [d3d9] Remove the FF shaders (no longer needed after the d7vk port cleanup)
- [d3d11] Shared texture flags handling fixes
- [d3d11] Fix error return on MAP_WRITE_NO_OVERWRITE on deferred context
- [d3d11] Do not touch row/depth pitch on failed map
- [d3d11] Fix MiscFlags check in GetDescFromResource
- [dxgi] Unchain DxgiSwapChain::Present1 and Present
- [dxgi] Unchain DxgiFactory::CreateSwapChain and CreateSwapChainForHwnd
- [dxgi] Backport VRAM reporting fixes, float bpp correction and const refactors
- [dxvk] Keep more empty system memory chunks alive
- [dxvk] Fix xfb counter buffer draw tracking
- [dxvk] Add dyasync (Dynamic Asynchronous Pipeline Compilation)
- [dxvk] Rework dyasync internals, faster lookups and smarter workers
- [dxvk] Replace mutex-based pipeline compilation with lock-free implementation (dyasync)
- [dxvk] Backport default shader cache path logic from upstream DXVK
- [dxvk] Fix isoline tessellation enum order
- [dxvk] Fix bool bitwise AND in UMA check, backport FNV-1a hash and explicit constructors
- [dxso] Don't assume 32 registers
- [dxso] Clamp Exp when fast float emulation is enabled
- [dxso] Backport NaN comparison fix, default inits and FLT_MAX portability fix
- [dxbc] Fix Mali GPU black screen caused by unbound texture optimization (#36) (thanks @zeyadadev)
- [dxbc] Disable clip/cull builtins when Vulkan features are off
- [dxbc] Fix patch vertex count, remove debug logging, add sparse/ROV early-outs
- [spirv] Use opFUnordNotEqual instead of opFOrdNotEqual
- [spirv] Fix typo
- [vulkan] Backport loader null-check, color space and debug enum printers
- [util] Rewrite the thread wrapper again
- [util, d3d9] Add support for arm64 and arm64ec
- [util] Backport small fixes: force_inline, operator bool and div-by-zero guards
- [util] Fix MSVC build
- [util] Add upstream changes to the config file
- [misc] Fix color error on Windows (thanks @UMU618)
- [submodules] Update SPIR-V and Vulkan headers
Dyasync (Dynamic Asynchronous Pipeline Compilation):
Starting with this release, DXVK-Sarek includes dyasync, enabled by default. This replaces the traditional async patch and removes the need for separate async builds, so from now on there will be no more async-only or non-async releases, only a single unified build.
When a shader is encountered for the very first time, it must be compiled synchronously, this is unavoidable and may cause a brief stutter. However, every variant after that is handled differently. A variant is created whenever the game uses the same shaders with a different combination of fixed-function state (blend mode, depth test, cull mode, render pass, etc.), each unique combination counts as a new variant.
When a new variant is needed, dyasync does not stall the game to compile it. Instead, it grabs the closest already compiled pipeline for those same shaders (perhaps one compiled with different blend settings) and uses it as a placeholder while the correct variant builds in a background thread. Once the background compilation finishes, it silently swaps in the correct pipeline. This reduces stuttering and improves frametimes.
This approach is safer than the traditional async patch because something valid is always being rendered on screen, there are no invisible or missing objects. That said, during the brief placeholder period, minor visual inaccuracies are possible (e.g. slightly wrong blending). Use in multiplayer games at your own discretion.
Dyasync can be disabled by setting dxvk.enableDyasync = False in dxvk.conf, in the DXVK_CONFIG environment variable, or by using the environment variable DXVK_DISABLE_DYASYNC=1.
About Proton-Sarek:
Starting with this release, Proton-Sarek is officially discontinued. I want to be upfront about the reasoning so there are no doubts:
I currently work, go to university and take care of my little brothers from time to time, so I do not have a lot of free time, let alone time to dedicate to opensource projects (which I still really enjoy as a hobby). Keeping up with Proton upstream while also working on DXVK-Sarek and handling issues for both projects simply isn't sustainable for me anymore.
Thankfully, I'm on really good terms with the Proton-CachyOS developer. He's a good guy and, a while ago, already added DXVK-Sarek support since he has a laptop that needs it, so the integration was already done by the time I decided to drop Proton-Sarek. From now on, he will handle the Proton side of things and I will focus solely on DXVK-Sarek and my other small projects.
CachyOS is also one of the few distros that officially still supports some of the older drivers DXVK-Sarek targets, like nvidia-470 (available on the official servers). So it's genuinely a great fit.
Every change I made here had a reason, and dropping Proton-Sarek frees me up to keep improving DXVK-Sarek itself, as I'm already doing with dyasync.
That said, this is not a blanket "no" to other Proton builds. If Valve, GE, or anyone else wants to ship DXVK-Sarek in their releases, they'll have my full support on the DXVK-Sarek side of any issues that come up. I just wanted to drop the Proton part personally. For now, Proton-CachyOS is the only officially supported way to use DXVK-Sarek with Proton.
Using DXVK-Sarek with Proton-CachyOS:
To use DXVK-Sarek with Proton-CachyOS you have to add PROTON_DXVK_SAREK=1 and to also use the added D3D3, 5, 6 and 7 support PROTON_DXVK_SAREK=1 PROTON_D7VK_DDRAW=1.
Hope this clarifies things :)
Extras:
If you'd like to support my work in the FOSS community, you can do so by contributing to any of my projects or by donating.
Every contribution no matter the amount is greatly appreciated and helps keep these tools alive, maintained, and evolving.
That's all for now, thank you for using my projects! If you can, please consider donating, and as always, GLHF!
Release:
DXVK-Sarek v1.11.0 "Red River" Released
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial continuation of the 1.10.x branch designed to assist users still relying on the 1.10.x releases by backporting per game configurations and fixes.
It will later be integrated into my custom Proton version designed for low end PCs: Proton-Sarek.
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
The "Name":
Considering this is a special release that marks the beginning of a new series (the 1.11.x family), i have decided to give it a special name: "Red River"
The name comes from Operation Flashpoint: Red River, one of my fav games that i used to play a lot back when I was on Windows.
Sadly, it has some issues when running on Linux, but thanks to this release, you’ll now be able to at least enjoy the singleplayer mode :).
Contributors:
@pythonlover02
@WinterSnowfall
@Fartopblu
Changelog:
Quite some work have been done for the 1.11.0 release, it should make more games playable under DXVK-Sarek. So feel free to try your fav game that dint work before, and if it still doesn't work report it, will see what i can do :).
- [d3d8] Backport fixes and W11V11U10 support (#17)
- [d3d8/9] Backport several d3d8 changes and SM0 support (#13)
- [d3d9] Fix for missing restriction check in UpdateSurface.
- [d3d9] Fix for missing restriction check in ProcessVertices
- [d3d9] Only fail on DISCARD|READONLY locks of D3DPOOL_DEFAULT resources
- [d3d9] fix build error because of the duplicate D3DDEVINFO_RESOURCEMANAGER
- [d3d9] add Operation Flashpoint: Red River fixes
- The game now its totally playable on singleplayer, but i couldn't get working the multiplayer (Internet/LAN) :(.
- [d3d10] Mark D3D10ShaderReflection classes as final
- [d3d11] Make transformFeedback optional, so old/low-end Adreno 6xx GPU can run DX10/11 on proprietary drivers (#15)
- Note: I am not against marking some Vulkan extensions as optional to make certain GPUs run DXVK-Sarek. But i hope you understand that even if it runs now, the experience will most likely not be ideal. You might encounter visual bugs or stuttering. If you run into issues on a GPU that was allowed to run it this way (Adreno and Mali), check on other Vulkan compatible hardware before reporting the issue, as it's more likely related to your Vulkan drivers.
- [d3d11] Validate viewport parameters and skip invalid calls
- [d3d11] Fix bad signature of various BindToContext methods
- [d3d11] Fix some possible constant buffer binding bugs
- [d3d11] Fix shared textures that export both NT and KMT handles
- [d3d11] Fix broken image readback for mapped default images
- [d3d11] Fix D3D11Texture2D reference counting
- [d3d11] Fix various D3D10 interface queries
- [d3d11] Fix crash when srv is submitted to ClearUnorderedAccessViewUint
- [d3d11] Fix potential crash when mapping a default image fails
- [d3d11] Fix rectangle check in ClearView
- [d3d11] Fix missing argument reference
- [dxgi] Fix potential division by zero in log statement
- [dxgi] Fix behavior of GetWindowAssociation
- [dxgi] Unlock presenter lock early during presentation
- [dxgi] Change reported UMD driver version
- [dxso] Fix for illegal OpCompositeConstruct while translating Crs opcode
- [dxso] Fix uninitialized m_maxDefinedConstant variable
- [dxso] Respect all PS input elements for registers
- [dxbc] Fix array register anaylsis with multiple dst operands
- [dxbc] Fix broken barrier around TGSM init code
- [dxbc] Emit new block only after emitting switch instruction
- [dxbc] Declare dynamically indexed UBOs with the maximum possible size
- [spirv] Emit the grad and const offset image ops in the correct order
- [util] backport config for Pirate Hunter
- [util] backport config for Battle Engine Aquila
- [util] backport config for Wargame: European Escalation
- [util] add config for VLADiK BRUTAL and ASTRONEER
- [meta] Update GitHub Action workflows (#16)
- [async] backport and adapt some changes from https://gitlab.com/Ph42oN/dxvk-gplasync/-/merge_requests/12
- The main change its to skip some unnecessary cycles.
- [async] add the
ASYNC_DRAW_CALL_THRESHOLDenv var (only for the Async version)- This env var allows the user to configure how many draw calls a shader must be involved in before it's eligible for asynchronous pipeline compilation. This helps balance compilation latency and runtime performance by prioritizing commonly used shaders
- The value should be bigger or equal than
1.
There are also some changes that i am reserving for futures releases as they are rather unstable, but hopefully i can get them fully working in the close future.
A volunteer?:
I think it would be good if someone does some benchmarks on various games of DXVK vs DXVK-Sarek and DXVK-GPLAsync against DXVK-Sarek-Async, i would like to see how its our performance when compared with the mainline DXVK :). (remember to delete the shader cache before every single test)
Extras:
If you’d like to support my work in the FOSS community, you can do so by contributing to any of my projects or by donating.
Every contribution no matter the amount is greatly appreciated and helps keep these tools alive, maintained, and evolving.
That’s all for now, thank you for using my projects! If you can, please consider donating, and as always, GLHF!
Release:
DXVK-Sarek v1.10.9 Released
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial build designed to assist users still relying on the 1.10.x releases by backporting per game configurations and fixes.
It will later be integrated into my custom Proton version designed for low end PCs: Proton-Sarek.
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
Contributors:
@icyllite (Indirectly as i cherry picked a commit from his DXVK-Sarek Fork)
@pythonlover02
Changelog:
- [dxvk/async] rewrite the dxvk_pipecompiler.cpp and dxvk_pipecompiler.h again
- [dxvk] Don't skip CPU devices when a device filter is set
DXVK_FILTER_DEVICE_NAME="llvmpipe"now works. You can use this instead of forcing it with VK_DRIVER_FILES for software rendering.
- [util] update config for Hitman 2
- [util] backport config for Lego Indiana Jones, Lego Batman and Thumper
- [util] add config for Romancing Saga 3
- Needs testing, as i do not own the game, if you do, please go to this bug report and help us.
- [dxvk/async] make that numWorkers can be override
- [dxvk] Reduce worker count on 32-bit to save adderss space
- [dxvk] mark VK_KHR_image_format_list as optional
- [dxvk] add the env var DXVK_ALL_CORES
- When this env var is used, it overwrites the default way we assign cores to compile shaders. By default, DXVK-Sarek compiles D3D shaders at draw time, using half the available CPU cores and leaving the rest free for the game. The problem with this is that on CPUs with weak per core performance which rely on using all cores for good performance might experience longer loading times and a worse overall experience. When
DXVK_ALL_CORES=1is set, DXVK-Sarek uses all available cores for both the game and shader compilation. This might cause the game to become unresponsive at times while compiling shaders. This non-default behavior may improve, worsen, or have no effect on performance, depending on the system. In the case you will use this env var i will recommend using it with the Async built
- When this env var is used, it overwrites the default way we assign cores to compile shaders. By default, DXVK-Sarek compiles D3D shaders at draw time, using half the available CPU cores and leaving the rest free for the game. The problem with this is that on CPUs with weak per core performance which rely on using all cores for good performance might experience longer loading times and a worse overall experience. When
Extras:
Well its 5am, time to sleep i guess. Thanks for reading and using DXVK-Sarek, GLHF.
Release:
DXVK-Sarek v1.10.8 Released
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial build designed to assist users still relying on the 1.10.x releases by backporting per game configurations and fixes.
It will later be integrated into my custom Proton version designed for low end PCs: Proton-Sarek.
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
Contributors:
Changelog:
- [d3d8] Backport d3d8 fixes from dxvk (#8)
- [d3d8] Backport dref scaling and other minor fixes (#11)
- [util] fix config for Styx: Shards of Darkness
- [util] Backport config for CivCity: Rome
Slowing Down the Projects:
First, a big thank you to WinterSnowfall for your help and dedication to this project.
I want to inform everyone that I will be slowing down the development pace for both DXVK-Sarek and Proton-Sarek. Both projects will continue to be supported; I am not stepping down. However, due to personal commitments, including another year of university, family responsibilities, work, and a game currently in development, the development pace will be slower. This means fewer releases for DXVK-Sarek and fewer new features for Proton-Sarek.
Thanks for reading and GLHF.
Release:
DXVK-Sarek v1.10.7 Released
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial build designed to assist users still relying on the 1.10.x releases by backporting per game configurations and fixes.
It will later be integrated into my custom Proton version designed for low end PCs: Proton-Sarek.
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
Contributors:
Changelog:
- Always consider env var configuration as active. Fixes this issue
- Make some features optional, so the project can run on Mali GPUs.
- Note: If you are using a Mali GPU, do not report issues related to performance or visual artifacts. These problems are almost certainly caused by the GPU's lack of support for critical Vulkan extensions. While I have made efforts to allow Mali GPUs to run the project, I cannot provide fixes or support for these devices. Thank you for your understanding.
- Rewrite the thread wrapper, cherry picking commits to make it almost a 1:1 version of the one currently used on the DXVK project.
- Rework the package-release.sh, to fix compiling issues.
- Update software cursor position using SetCursorPosition.
- Note: It fixes software cursor behavior on Windows.
- Rewrite the dxvk_pipecompiler.cpp and dxvk_pipecompiler.h for the async patched version.
- Config Changes:
| Game | Config Change |
|---|---|
| TRAHA Global | Remove (The Game no longer exist) |
| The Hurricane of the Varstray | Backport |
| Granblue Relink | Backport |
| Vindictus | Backport |
| Arcana Heart 3 Love Max + Xtend version | Backport |
| Styx: Shards of Darkness | Create |
| Garden Warfare 2 | Update |
| Far Cry 5 and New Dawn | Backport |
| May Payne 3 | Backport |
| Star Wars Empire at War & expansion | Backport |
| Battlefield 2/2142/PR | Update |
About Issues:
Feel free to report any issues you encounter, i’ll do my best to address them. Please keep in mind that i'm working on this project alone (aside from the contributions by WinterSnowfall; thanks a lot for those, mate!).
The codebase is quite extensive, and while i dont know the ins and outs of every file, i have a decent overall understanding of how it fits together, witch should be enough to fix some issues.
Anyway, GLHF and Happy New Year!!
Release:
DXVK-Sarek v1.10.6 Released
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial build designed to assist users still relying on the 1.10.x releases by backporting per game configurations and fixes.
It will later be integrated into my custom Proton version designed for low end PCs: Proton-Sarek.
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
Contributors:
Changelog:
- Update
d3d9.apitraceModetod3d9.cachedDynamicBuffers - Compile the Releases without the
-msse3- Note: This will allow DXVK-Sarek to run on CPUs that do not support SSE3, expanding the list of CPUs that DXVK-Sarek can run on. The performance loss for SSE3 available users its around a 0.29% as on benchmarks it went from this score 25760 to 25685.
- Backport of the
DXVK_CONFIGparameter- Note: Can be used to set config variables through the environment instead of a configuration file using the same syntax. ; is used as a seperator.
- Example:
DXVK_CONFIG="dxgi.hideAmdGpu = True; dxgi.syncInterval = 0"
- Config Changes:
| Game | Config Change |
|---|---|
| The Vanishing of Ethan Carter Redux | Remove (Not Longer Needed) |
| NieR Replicant | Update |
| Star Wars Battlefront (2015) | Update |
| Hitman 3 | Remove (Not Longer Needed) |
| DIRT 5 | Remove (Not Longer Needed) |
| The Sims 2 | Update |
| Borderlands 1, 2 and The Pre-Sequel | Update |
| Dragon Age Origins | Backport |
| Codename Panzers Phase One/Two | Update |
| SkyDrift | Backport |
| Injustice: Gods Among Us | Backport |
WinterSnowfall, thank you for your continued contributions and support!
About Issues:
I’m the sole developer working directly on this project, so please limit issues to features or functionality that work correctly with the official 1.10.3 version or the other DXVK-Sarek releases, but do not work with this custom build. Thanks.
Re-Release:
This is a re-release, as this repo was missing a commit from the local one, the builds are the same as where they were built locally.
DXVK-Sarek v1.10.5 Released
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial build designed to assist users still relying on the 1.10.x releases by backporting per game configurations and fixes.
It will later be integrated into my custom Proton version designed for low end PCs: Proton-Sarek.
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
Contributors:
Changelog:
- Backported the D3D8
dxvkfrontend.- Note: Some games, such as Cossacks II and Impossible Creatures, crash on swapchain resize. Unfortunately that's an unavoidable consequence of the old d3d9 code.
- Backported support for the D3D9 software cursor.
- Note: This is not what is currently in use in mainline dxvk, but it should be good enough.
- Implemented several bug fixes to D3D9 and D3D9 software cursor.
- Silenced a build warning.
- Removed DXVK tests entirely for a cleaner build process.
- Resolved the issue with the async build not performing asynchronous compiling by default.
- Standardized the
dxgi.nvapiHackoption todxgi.hideNvidiaGpuand added support forDXVK_ENABLE_NVAPI. This change makes dxvk-nvapi work out of the box with DXVK-Sarek when using Proton.- Note: Advanced features like HDR will not be available as they rely on code that its not on the current DXVK-Sarek Builds.
- Added support for:
dxgi.hideAmdGpudxgi.hideIntelGpu
- Updated configuration file so the games to utilize the newly added options.
WinterSnowfall, thank you for your continued contributions and support!
About Issues:
I’m the sole developer working directly on this project, so please limit issues to features or functionality that work correctly with the official 1.10.3 version or the other DXVK-Sarek releases, but do not work with this custom build. Thanks
Next release:
A possible v1.10.6 release will take time, as I will be going on a family trip, and I will not have much time to check the DXVK project up and down, to see how everything works and what I can backport. Remember that this involves me reading a lot of commits that have occurred over two years of constant development.
Anyway the v1.10.5 should be good enough, thats all for now, hope it helps and GLHF :).
Release:
DXVK-Sarek v1.10.4 Released
First of all:
Unofficial DXVK 1.10.x Build:
This is not an "official" build created by doitsujin/ドイツ人 (Philip Rebohle), the developer of DXVK.
Instead, it is an unofficial build designed to assist users still relying on the 1.10.x releases by backporting per game configurations and fixes.
It will later be integrated into my custom Proton version designed for low end PCs: Proton-Sarek.
Acknowledgments:
A huge thank you to the following contributors for their invaluable support in bringing this project to life:
- @Blisto91: For inspiring the project, providing the initial idea, helping me get it started and help with the versioning of the build.
- @WinterSnowfall: Helped with the versioning of the build.
- @AmerXz: For sharing information about other DXVK projects, which proved immensely helpful.
- @Gcenx: Creator of DXVK-macOS. For providing build fixes, backporting code from newer versions, and creating the default branch for me to work with.
- @pythonlover02, thats me lol.
Your contributions are deeply appreciated!
Credits:
Full credit goes to doitsujin/ドイツ人 (Philip Rebohle) and everyone that have worked on the dxvk project. You can find the original DXVK repository here: dxvk.
Changes:
What i have done so far:
- Backport: Adapted from a modern build and integrated into the 1.10.x branch.
- Update: Enhanced an existing configuration to match the latest build settings.
| Game | Config Change |
|---|---|
| Alpha Protocol | Backport |
| Far Cry 2 | Backport |
| Secret World Legends | Backport |
| F.E.A.R 1 & expansions | Backport |
| Prince of Persia (2008) | Backport |
| Battle Mages | Backport |
| APB: Reloaded | Backport |
| Splinter Cell Conviction | Backport |
| WRC4 | Backport |
| Battle for Middle-earth 2 and expansion | Backport |
| Dungeons and Dragons: Dragonshard | Backport |
| Fallout New Vegas | Backport |
| Prototype | Backport |
| Delta Force: Xtreme 1 & 2 | Backport |
| 9th Dawn II | Backport |
| Dark Void | Backport |
| Operation Flashpoint: Red River | Backport |
| UK Truck Simulator 1 | Backport |
| Sonic CD | Backport |
| Battlestations Midway | Backport |
| Age of Empires 2 | Backport |
| Codename Panzers Phase One/Two | Backport |
| King Of Fighters XIII | Update |
| Warhammer: Online | Update |
| Riders Republic | Backport |
| Drakensang: The Dark Eye | Backport |
| Aviary Attorney | Backport |
| Project: Snowblind | Backport |
| Conflict Vietnam | Backport |
| The Incredibles | Backport |
| STEINS GATE ELITE | Backport |
| Halo Online | Backport |
| Battle Fantasia Revised Edition | Backport |
| Time Leap Paradise SUPER LIVE | Backport |
| Borderlands 2 and The Pre Sequel | Update |
| Tomb Raider: Legend, Anniversary, Underworld | Update, Backport |
| BF2 and BF2142 | Update, Backport |
| GTA IV | Update |
| Dead Space 2 | Backport |
| Kena: Bridge of Spirits | Backport |
| Crysis 1 | Backport |
| Kenshi | Backport |
| Ghost Recon Wildlands | Backport |
| Bladestorm Nightmare | Backport |
| Fallout76 | Backport |
| SnowRunner | Backport |
| Crash Bandicoot N. Sane Trilogy | Backport |
| GTA V | Backport |
| Tom Clancy's Ghost Recon Breakpoint | Backport |
| SpellForce 3 Reforced & expansions | Backport |
| Final Fantasy XV | Backport |
| Atelier games | Update |
| Modern Warfare 2 Campaign Remastered and H2M-Mod | Backport |
| Nioh | Update |
| Far Cry 4 and Primal | Update |
| Far Cry 3 | Update |
| Batman Arkham Knight | Backport |
- I also created an Async Patched Build for those who prefer using the Async version over the original.
- Updated the
Loggerstring indxvk/src/dxvk/dxvk_instance.cppand therenderer.drawTextstring indxvk/src/dxvk/hud/dxvk_hud_item.cppto display "DXVK-Sarek" instead of "DXVK". This ensures clarity that the build is a custom version and not from the original DXVK repository.- Note: The engine name remains unchanged to preserve compatibility with tools like MangoHUD, which rely on the original
DXVKidentifier.
- Note: The engine name remains unchanged to preserve compatibility with tools like MangoHUD, which rely on the original
These are changes I made. There are additional settings that never made it into DXVK 1.10.3, as the 1.10.x branch continued development for quite some time after that release. I’m only reporting the fixes i implemented.
About Issues:
I’m the sole developer working directly on this project, so please limit issues to features or functionality that work correctly with the official 1.10.3 version but do not work with this custom build. Thanks
Future:
I will update this repository from time to time and see which settings can be backported from newer builds. Unfortunately, I can't backport everything, mainly due to missing code dependencies. However, some settings might still be possible to backport. If I can backport them, I will also be able to backport the configurations that rely on those settings. As always, I will do my best, and everyone is welcome to collaborate.
Thats all for now, hope it helps and GLHF :).