Skip to content

Shader Management

Andres edited this page Oct 1, 2024 · 12 revisions

steamtinkerlaunch has a built in shader management with the following features:

  • Shader Repos: Global list of shader repos to use

  • Game Shader Selection Menu ( controls what shaders are installed per game)

    • all checked shaders repos will be installed into the current game directory using symlinks
    • all unchecked shaders repos will be removed from the current game directory using symlinks
    • all installed shaders repos which belong to a blocked repo (see Shader Repos) are removed automatically
    • The Shader Selection Menu can be started
      • via Command Line (with any directory as destination path)
      • directly from the Extra Button from the Main Menu
      • automatically before game start
      • via Tray-Icon (so Shaders could be installed while the game is already running)
  • for games with launchers not being in the same path as the actual game exe the destination path can be overridden (used for both Shaders and ReShade)

  • added ShaderMenu Steam Collection which installs ReShade into the game directory and opens the Shader Selection Menu

  • additional files required by installed Shaders (f.e. textures) are automatically installed as well into the game directory

shader dialog

The following (slightly modified) test by @Bananaman ([via[(https://github.com/frostworx/steamtinkerlaunch/issues/383#issuecomment-1012444942)) might help to understand better how steamtinkerlaunch integrates ReShade and the Shaders:

Enable "ReShade install":

The DLLs are installed with d3d9.dll_off d3dcompiler_47.dll_off dxgi.dll_off ReShade.txt_off.

ReShade.txt_off contains:

d3d9.dll
d3dcompiler_47.dll
dxgi.dll

There is no reshade.ini and no shader folder.

So it properly installed itself in a disabled state.

Enable "ReShade install" and "ReShade enable":

  • All files above are rename to without _off.
  • ReShade.ini is created with this content:
[GENERAL]
EffectSearchPaths=.\reshade-shaders\Shaders
TextureSearchPaths=.\reshade-shaders\Textures
PreprocessorDefinitions=RESHADE_DEPTH_LINEARIZATION_FAR_PLANE=1000.0,RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN=0,RESHADE_DEPTH_INPUT_IS_REVERSED=1,RESHADE_DEPTH_INPUT_IS_LOGARITHMIC=0

Clicking "Game Shaders" in the main menu of STL:

  • It first downloads all shaders. (Trying this later on a different game was instant, no need to download the shaders again for the next game, nice.)
  • The new GUI for selecting shaders is perfect, with entire collections enabled/disabled at once.
  • There is a subfolder reshade-shaders/enabled which contains files that tell you which shader collections are enabled.
  • All files in the Shaders and Textures directories are symlinks to a universal location. Awesome!

Deleting some "Game Shaders" via STL:

  • It lists the ones I had enabled previously.
  • Disabling some of them removes those symlinks from the game's shader directory. Great.

Unchecking "Reshade enable" again:

  • All files are now marked _off, d3d9.dll_off d3dcompiler_47.dll_off dxgi.dll_off ReShade.ini_off ReShade.txt_off
  • ReShade.txt_off contains:
d3d9.dll
d3dcompiler_47.dll
dxgi.dll

Unchecking "Reshade install" again:

  • All of the files remain: d3d9.dll_off d3dcompiler_47.dll_off dxgi.dll_off ReShade.ini_off ReShade.txt_off reshade-shaders (directory)
  • I guess the install isn't meant to be reversible. That's okay. Disabling is good enough.

Everything is great.

Clone this wiki locally