-
Notifications
You must be signed in to change notification settings - Fork 73
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.
stl 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 stl 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, 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
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)
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 todiscord
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
)
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)
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
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.
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
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