-
Notifications
You must be signed in to change notification settings - Fork 72
SpecialK
("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-6.18-GE-2, but latest Experimental, TKG, STL 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 Category.
When SpecialK is enabled for a game, steamtinkerlaunch will
- download and extract (requires 7zip) the corresponding version
SPEKVERS
(!=discord
- see below) 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
oropengl32.dll
) into the gamedir - install
dxsetup
(and vcrun2019) from Steamworks-Shared
Witcher 3
Alien: Isolation
Saints Row The Third Remastered
Bayonetta
Dishonored 2
Fallout 4
Thief
(looks like all games from the Compatibility List to work)
steamtinkerlaunch 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 steamtinkerlaunch automatically switches todiscord
if that is available) -
discord
(not automatically downloadable, needs to be manually downloaded from SpecialK discord and placed into~/.config/steamtinkerlaunch/downloads/specialk/discord/
- either asSpecialK.7z
orSpecial_K.7z
)
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 steamtinkerlaunch)
The default version used by steamtinkerlaunch, 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
recommended version
The newest SpecialK version can only be found on the SpecialK discord channel and therefore needs to be installed manually
to ~/.config/steamtinkerlaunch/downloads/specialk/discord/SpecialK.7z
when using discord
.
Upstream calls the archive Special_K.7z
since mid 2021.11, steamtinkerlaunch should find and prefer archives with that name automatically.
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.
steamtinkerlaunch auto-enables the UsingWINE
configuration option.
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.
Quick Links
- Changelog
- Installation
- Usage
- Main Menu
- Global Menu
- Tray Icon
- Modding
- Platform-Specific Documentation
- Tweaks
- Utilities
- Advanced