Skip to content

SpecialK

frostworx edited this page Oct 5, 2021 · 40 revisions

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

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

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

Features

When SpecialK is enabled for a game, stl will

  • download and extract (requires 7zip) the corresponding version SPEKVERS (!=discord - see above) 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

Versions

stl distinguishes between four different SpecialK versions SPEKVERS:

  • stable (automatically downloadable, but doesn't work via Proton currently - see DISABLED below)
  • test (automatically downloadable, but doesn't work via Proton currently - see DISABLED below)
  • old (automatically downloadable, pretty ancient, but works via Proton. This version is used by default, but stl automatically switches to discord if that is available)
  • discord (not automatically downloadable, needs to be manually downloaded from SpecialK discord and placed into ~/.config/stl/downloads/specialk/discord/SpecialK.7z)

stable and test Version

DISABLED, because both stable and test need (at least) this missing function: wine: Call from 7BC321D0 to unimplemented function POWRPROF.dll.PowerSettingRegisterNotification, aborting (see @DISABLED below) That's why the copied stable and test destination dll is disabled by appending DISABLED suffix to the filename (else the game would crash on start) (for testing stable or test just comment out the SPEKDST="${SPEKDST}_DISABLED" line in stl)

old Version

The default version used by stl, because it is the only (partily) working version which can be downloaded automatically. It is recommended to use the discord-Version though. I only tested 4 games, two 64-bit and 2 32-bit games with the old version: both 64-bit games worked:

  • Witcher 3
  • Saints Row The Third Remastered

both 32-bit games did not work:

  • Alien: Isolation
  • Bayonetta

discord Version

recommended version The newest SpecialK version can only be found on the SpecialK discord channel and therefore needs to be installed manually to ~/.config/stl/downloads/specialk/discord/SpecialK.7z when using discord When found there it is used automatically, no matter which Version is currently configured for the game. This version does work, as it has a UsingWINE configuration option, which disables all non-working functions automatically. stl auto-enables the UsingWINE configuration option.

The new discord version seems to work pretty good: Sucessfully tested so far:

  • Witcher 3
  • Alien: Isolation
Clone this wiki locally