Giter VIP home page Giter VIP logo

dxvk-caches's Introduction

dxvk-caches

Important information:

DXVK state caches aren't really useful anymore since DXVK 2.0 because of the graphics pipeline library.

Version 2.1 also brought a new version of cache v17, which is no longer compatible with the dxvk-cache-tool.

Use DXVK 2 or this fork of async.


DXVK caches to reduce stuttering!

Feel free to contribute new caches or for merge with existing ones in:

Note: don't submit caches that have been upgraded from v10, as this may cause crashes with the latest v15 version.

issues: search to see if the issue already exists, if not create a new one (preferably per one game), compress with zip and attach;

pull requests: compress with zip and attach, change Readme.md (nick, entries and sha512sum of .dxvk-cache) or (if it's a new cache) add it to the appropriate directory (game or franchise->game) and add an empty name.dxvk-cache.md (I'll change it with my download link) if it doesn't exist (new game);

Discord: compress and send in #your-dxvk-caches channel.

DxvkCacheHost: it's a site where you can upload your caches, although after adding a new cache if you can open an issue here or send a message on Discord to notify me.

Files are hosted here.

For merging and checking I'm using: dxvk-cache-tool

sha512sums apply to .dxvk-cache, not compressed files.

F A Q

How to get

To get all caches try TUTORIAL or just ctrl+f->.dxvk-cache in x directory.

How to use

Extract .tar.xz file to get .dxvk-cache->paste to x directory.

There are also:

DXVKoTool application by DATL4G. Works best for Steam games.

DxvkCacheHost site by Crashdummy however it doesn't have every cache from this repo.

Directories

Wine: next to .exe or specified path with environment variable.

Steam: /path/to/steamapps/shadercache/APPID/DXVK_state_cache default is ~/.local/share/.. or next to .exe if shader pre-caching is turned off.

To find out which ID corresponds to a particular game, simply search it on Steam (app/ID/name).

Security

Read dxvk/issues/764

If you're concerned, use dxvk-async instead but it won't give as much of a performance boost as a (especially mature) precompiled state cache.

Cache versions

Some state cache versions break compatibility and therefore can't be merged with older ones, but DXVK can update them including entries however it can't do a downgrade e.g. v15->v10 and in that case it starts with 0 entries.

Be aware that using v10 caches (v11-v14 are recognized as v10) with DXVK 2.0+ might result in crashes, for more info read: State cache interactions.

v10 caches (up to DXVK 1.10.3) are in another branch.

This repository is in no way related to the DXVK project.

dxvk-caches's People

Contributors

begin-theadventure avatar lphd12 avatar shighost avatar snappiersoap318 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dxvk-caches's Issues

Call of Duty: Black Ops 4

Caches for Call of Duty: Black Ops 4, should be at least partially complete for Multiplayer, and mostly complete for Zombies (Blackout is basically unplayable).
BlackOps4.zip

Genshin Impact

I noticed your provided cache was only 18kb after extracting it which is pretty small compared to my own cache so here's mine:
GenshinImpact.zip
.

[Question] Would it be possible to separate the v10 caches and v15 ones in different branches?

What do you think about separating the v10 caches of the v15 ones in different branches? on my opinion, will be more easy to submit and separate those caches, beside that, downloading a v10 cache, to play with the DXVK 2.0+ will cause some game crashes for some people, as mentioned here. (i was playing RE4 yesterday with my old cache converted to v15, and the game crashed some times, creating a new one fixed the issue.) what do you think? will be ideal? thanks in advance. :-)

PS: I have some fresh v15 caches ready to upload, but i think i can hold these caches for some more time, playing other games, to catch more, and do a PR. :-)

Multiple Games

Hi, i want to provide caches for multiple games, it would be nice if we would have a method to make a merge request with caches. Can't wait till all of this is automated with DXVKoTool

List of Games:

β”œβ”€β”€ Battlefield 1
β”œβ”€β”€ Fallout New Vegas
β”œβ”€β”€ Far Cry 2
β”œβ”€β”€ Far Cry Primal
β”œβ”€β”€ FINAL FANTASY IX
β”œβ”€β”€ Genshin Impact
β”œβ”€β”€ Heroes of Might and Magic V
β”œβ”€β”€ Kingdom Come Deliverance
β”œβ”€β”€ Medieval Dynasty
β”œβ”€β”€ Metro Exodus
β”œβ”€β”€ Monopoly Plus
β”œβ”€β”€ Overwatch
β”œβ”€β”€ Saints Row - The Third Remastered
β”œβ”€β”€ Sekiro Shadows Die Twice
β”œβ”€β”€ Tales of Arise
└── TUNIC

cache.tar.gz

Battlefield V

They're from the Origin version of the games but I don't think it matters. Uploaded as zip because Github won't accept .tar.xz archives (at least for new issues, they're in the repo obviously).

bfv.zip
starwarsjedifallenorder.zip

State cache versions.

Soon DXVK will have a release with a new state cache version (v15) this is due to a new feature called "graphics pipeline library" but fortunately it's backward compatible which means DXVK will update the cache including entries!
In my case, I tested with Titanfall 2 using custom git build (credit)
Most entries were updated 6268 -> 4618.
However this new feature will apparently reduce stuttering but interestingly Sporif wrote that async is still better.

After the new DXVK release I'll be uploading v15 caches and of course moving the old ones to the archives in addition from now on I will be writing the versions at the top of Readme (State cache version: vX).

Tomb Raider

Cache for Tomb Raider:

TombRaider.dxvk-cache.zip

  • sha512sum: be2210ddcd5f3dd2eef840b474d457883883ebecacc1d3c15420f588ff4cef8eb137853552d38c700fa6ba26ce637e2f32de855861f19052ecc0cb5b9f8aa4f0

:-)

Assassin's Creed Unity

Wish the game was better :(
ACU.dxvk-cache.tar.gz
but on the better side here is the cache files for the game [:
(the cache file is v15)

SHA512sum for .gz: ad88b86735ba61590df49465797c31aaff2d377dc337f821d79d43281d7e72b36143235bbb3a97a4df5289a7c32ebd0d0de31e6b820c14e1bd61e27d55b1ef85

Assassin's Creed III

Normal campaign is completed with this cache

Sha512sum for .gz: 63974fd3447c8baee94c4a144215f7d7e8945987f2d559b48c8c2e5fa51f82deae25ff5ea3852cccff237aedf13583f3347905d195cfc0c7351ce9d77e54939a
AC3SP.dxvk-cache.tar.gz

get-dxvk-caches.sh does not work with files that contains spaces

The problem

The script fails on files that contains spaces

cp $(find "/var/data/steam/steamapps/shadercache" -iname "*dxvk-cache") dxvk
cp: cannot stat '/var/data/steam/steamapps/shadercache/632360/DXVK_state_cache/Risk': No such file or directory
cp: cannot stat 'of': No such file or directory
cp: cannot stat 'Rain': No such file or directory
cp: cannot stat '2.dxvk-cache': No such file or directory

This is because the output of find is actually one long string with line breaks.

The solution

I suggest swapping the commands around. So for every file we find, we copy it.
find "directoryhere" -iname "*dxvk-cache" -exec cp "{}" dxvk \;

Can this be archived?

So DXVK got a new release

And it compiles the shaders now when starting the game and not on-draw.

THIS APPLIES ONLY FOR COMPATIBLE DRIVERS

So since the caches won't be generated while playing a game instead before loading the game, we probably won't need to merge any of them any longer.

(DXVK-Native got up streamed into this as well, not sure if the pre-playing generation applies for this as well, but probably yes)

What do you think?

Additional point to think of:
Custom maps in game may produce shader caches that can't be compiled previously (e.g. CSGO)

As I'm still developing the DXVKoTool and not sure if it's worth to maintain now.

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.