Thanks for the report; how long ago was this Steam library folder created? I'm surprised you ended up with SteamApps; we might need to fix them up in the wild.
I guess since the time you announced Steam for Linux? :) The directory is obviously modified now, but I see some files around from Feb 2013, which is the time when I created a Steam account.
This is fixed, next Beta that contains cache fixes should have the fix.
Thanks. If you want me to test it, just let me know once the new Beta is released and I'll give it a try.
Can you test with today's Beta client update?
With the latest Beta, this works correctly with both steamapps and SteamApps dirs. Thanks.
MESA_GLSL_CACHE_DIRx1 2017-09MESA_GLSL_CACHE_DIR=/data/Steam/steamapps/shadercache/4920x1 2017-09
Your system information
(please allow copy&paste)
Please describe your issue in as much detail as possible:
After some recent Steam update the Mesa shader cache stopped working for Steam games, making their load times very long. I found out that Steam is overriding
MESA_GLSL_CACHE_DIRbut pointing it to an invalid directory.For example, for Natural Selection 2:
(I use
/data/Steamas my primary game library, but that's not the point here, the problem is present even when using the default library location of~/.local/share/Steam).The problem is, there's no
/data/Steam/steamapps/shadercache/4920directory:Because there's no
/data/Steam/steamapps:But there is
/data/Steam/SteamApps! :Due to some included hack, I found out that by renaming
SteamAppstosteamapps, all my library is still loaded and shader cache starts working. Steam probably looks for both folders and accepts any of them as valid. But it hardcodes theMESA_GLSL_CACHE_DIRvariable tosteamappsrather than using the actual name of the directory.I checked with a new user account that Steam now creates
steamappsfolder by default. I assume thatSteamAppshas been the default in the past, and it was changed tosteamapps. But rather than renaming the directory, Steam devs decided to accept both as valid. But this peculiarity was not remembered when implementingMESA_GLSL_CACHE_DIRfunctionality.Please fix. Either make
MESA_GLSL_CACHE_DIRpoint to the right folder, or renameSteamAppstosteamappsfor all existing users.Thanks.
Steps for reproducing this issue:
SteamAppsdir (as used to be the case in the past) instead of thesteamappsdir (as it is the case now)MESA_GLSL_CACHE_DIRis exported to an non-existing directory, and it's not populated, therefore the shader cache is not being used (you can also see that games still load slow, or with GALLIUM_HUD that they make lots of shader compilations on every start)