Skip to content

SpecialK

Eamonn Rea edited this page Sep 6, 2023 · 40 revisions

(Project Website) (GitHub Repository) (PCGamingWiki Article)

Overview

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

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

SpecialK can be enabled on the Game Menu by checking the USESPECIALK checkbox (as well as explicitly setting USESPECIALK=1 directly in the Game Config). You can also add your game(s) to a SpecialK Steam Collection.

Features

When SpecialK is enabled for a game, SteamTinkerLaunch will perform the following:

  • Download and extract the corresponding Special K version (stored in SPEKVERS variable internally) if not downloaded before
  • Checkbox option to automatically download and use the latest SpecialK
  • Determine the architecture of the game executable to know what SpecialK DLL to use
  • Download/update the SpecialK Compatibility List to know which rendering API to use
  • Copy the matching 32bit/64bit SpecialK DLL under the correct name into the same directory as the game executable (depending on the rendering API this could be dxgi.dll, d3d9.dll or opengl32.dll, similar to ReShade)
  • Auto-enable the SpecialK UsingWINE configuration option, in case it is not picked up manually

Tested Games

Below is a list of tested games, with the approximate date they were tested on

  • Witcher 3 (November 2021)
  • Alien: Isolation (November 2021)
  • Saints Row The Third Remastered (November 2021)
  • Bayonetta (November 2021)
  • Dishonored 2 (November 2021)
  • Fallout 4 (November 2021)
  • Thief (November 2021)
  • NieR:Automata (September 2023)
  • NieR:Replicant ver.1.22474487139... (September 2023)

However, there is no fundamental reason why a game from the Compatibility List should not work, as the install process is generic.

Versions

steamtinkerlaunch distinguishes between two different SpecialK versions (tracked in SPEKVERS):

The list of versions available for the menu dropdown is only automatically downloaded if USESPECIALK is enabled.

(See also #894 and #897)

SpecialK supports loading ReShade as a plugin, but unfortunately this leads to a crash when running under Linux. The functionality is already implemented (apart from auto-adding ReShade to the SpecialK ini if enabled), but commented out because it crashes.

It is possible to manually enable this functionally by editing the steamtinkerlaunch code and uncommenting various lines in function setShadDestDir, function useReshade and function prepareSpecialKReshade, but this is for developers only!

Caveats

Older SpecialK Releases

Older versions of SpecialK may require a Proton version which ships at least the api-ms-win-crt-string-l1-1-0.dll, which is typically older Proton 7.0 versions, or some games (i.e. XCOM 2) may ship this DLL in their game files. This used to be a requirement for using Special K on Linux but this has since changed.

Clone this wiki locally