Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Obligatory "Graphics Pipeline Library does absolutely nothing for games that don't do any precompiling". As evidenced by the very title I'm talking about. I mean if no shader download was necessary, then I wouldn't have ever had shader stuttering with the GoG version either, and this thread wouldn't have been posted.
I see this constantly whenever someone dare mentions dxvk async, "You don't need it anymore!", so many people fundamentally don't understand the issue with Unreal Engine 4 games and shader processing and what GPL actually is addressing.
GPL does nothing for these games as just like Windows, the driver has no idea of the shader until the draw call happens, because the developer did not make any attempt to precompile the shaders up front. For games like Batman: Arkham Knight, Days Gone, or the majority of other Windows games that do in fact, have a precompiling stage on bootup, with GPL you will indeed have little to no shader stutter without Steam's downloaded caches. It works great there.
For UE4 games that don't bother with that step though, it does nothing. Turn off shader downloading for example and fire up Borderlands 3. Massive, crippling stutter. You need that *6 GB* of shader cache download as that's the only way to have those precompiled. GPL does nothing here.
Shader compiling is a CPU bottleneck, not a GPU. The power of your GPU means nothing wrt how long a shader compiling stage takes. You would get the exact same length of shader stutter on a 4090 vs. a 3050 if both cards were installed in a system with the same CPU.
And obviously it needs them, or I wouldn't have had stutters. jfc.
I had over 20GBs of shaders before.
I suppose I unhecked that box in Steam's settings a bit too early.
You'll figure it out soon enough if you play games that don't have any precompiling step, they'll stutter without any downloaded caches. Most Windows games do some form of precompiling however.
Steam could really use a feature to enable downloadable shader caches on a game by game basis.
Shader pre-caching (downloading from steam servers) is a nuissance if on by default for all games, especially if a user has a big locally installed library and/or slow/metered internet and/or limited drive space
On the other hand the driver improvements haven't made the feature completely obsolete yet, it's a useful fix for some games
Ergo: let us use it as a fix only for games that need it
ps: to add to the confusion, valve distributes re-encoded game videos (to avoid issues on linux with lacking patent-encumbeted codecs in some setups) as if they were part of the shader pre-cachong feature, instead of exposing it as a separate option like it should be
so a lot of the size of shader pre-cache downloads sometimes is actually recoded videos... and disabling shader precaching can break in-game full motion videos, which doesn't make any sense unless you know the mess valve did
That has nothing to do with my reply. You don't understand what this thread is about.
...but that does generate a bunch of precompiled shaders that the game won't really ever use, which is part of the larger storage space occupied by the pre-cached shaders distributed by Steam
the other, probably larger, part of shader pre-caching storage space that exceeds storage space occupied via on-the-fly shader compilation is the re-encoded videos which i mentioned earlier
all that being said, each user will have a different reason to like or dislike shader precaching, given factors that were also mentioned earlier
Does Valve generate this pipeline data themselves or is it actually uploaded from gamers automatically? I understand Valve likely handles it for the Steamdeck at least, but I was under the impression for just regular Steam Linux PC, this data is shared from the community. This not the case?
Any site which goes into this process in detail? The fossilize github doesn't really explain it in these terms, or at least ways that I can understand.
https://github.com/ValveSoftware/Fossilize
AFAIK Steam runs fossilize as a background task and can grab the precompiled shaders from some users and redistributes them across the other users with similar setups (same gpu model + os version + gpu driver version + steam version + proton version if windows game + game version) if they have pre-caching enabled... but maybe there are other ways to generate the precompiled shaders without this workload being distributed between end-users...
IIRC those things were thoroughly explained when Valve first released fossilize and the pre-caching feature... Gaming-on-Linux most likely published something about this at the time, and it's likely Phoronix did too
edit:
https://www.gamingonlinux.com/2020/05/steam-beta-adds-vulkan-shader-processing/
https://www.phoronix.com/news/Valve-Fossilize-Vulkan