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!