Skip to content

SpecialK

frostworx edited this page Jul 2, 2022 · 40 revisions

("Special K is an extensive game modifying framework allowing for various forms of in-depth tweaking of a game.")

NOTE: SpecialK currently requires a Proton version which ships at least the api-ms-win-crt-string-l1-1-0.dll, only tested with Proton GE, but latest Experimental, TKG, probably work as well. steamtinkerlaunch won't automatically change the Proton version, but warns (log & notifier) that above dll wasn't found.

Using SpecialK can lead to a ban, so make sure to check this Compatibility List before using!

SpecialK can be enabled in steamtinkerlaunch by enabling USESPECIALK either in the Game Menu, directly in the Game Config or by adding the game to a SpecialK Steam Collection.

Features

When SpecialK is enabled for a game, steamtinkerlaunch will

  • download and extract (requires 7zip) the corresponding version SPEKVERS if not available yet (download also available via Command Line)
  • determine the architecture of the game exe
  • download/update the Compatibility List if required
  • read the Render Api used by the game from above List
  • copy the matching (32 or 64 bit) SpecialK dll under the correct name (depending on the render api dxgi.dll, d3d9.dll or opengl32.dll) into the gamedir
  • install dxsetup (and vcrun2019) from Steamworks-Shared
  • auto-enable the SpecialK UsingWINE configuration option.
  • option to automatically download and use the latest SpecialK version when version "default" or "latest" is used

Sucessfully tested so far (with the discord version):

  • Witcher 3
  • Alien: Isolation
  • Saints Row The Third Remastered
  • Bayonetta
  • Dishonored 2
  • Fallout 4
  • Thief

(looks like all games from the Compatibility List do work)

Versions

steamtinkerlaunch distinguishes between four different SpecialK versions SPEKVERS:

(the list of versions available for the menu dropdown is only automatically downloaded if USESPECIALK is enabled, else only "default" and "latest" are available)

using ReShade and SpecialK together

SpecialK supports loading ReShade as a plugin, but unfortunately this leads to a crash (currently). The functionality is already implemented (apart from auto-adding ReShade to the SpecialK ini if enabled), but commented out because it crashes. Edit function setShadDestDir, function useReshade and function prepareSpecialKReshade if you want to play with it.

issues?

maybe user/configuration problem, but seems like toggling the OSD window freezes the gfx (no longer responsive, closed the game via KillSwitch)

Clone this wiki locally