-
Notifications
You must be signed in to change notification settings - Fork 74
SpecialK
("Special K is an extensive game modifying framework allowing for various forms of in-depth tweaking of a game.")
Currently (2021.10) SpecialK stable
and testing
(see below) don't seem to work via Proton - so stl uses the old
version - see end of text @DISABLED
Additionally SpecialK old
does not work with current stable Proton 6.3-7, because it is missing several required dlls - f.e. api-ms-win-crt-string-l1-1-0.dll, api-ms-win-crt-stdio-l1-1-0.dll...
Looks like any newer Proton version does have those dlls (latest official experimental
, TKG, GE and even STL do). Tested successful with Proton-GE-6.18-GE-2!
stl won't switch the proton version automatically, but just launch a warning notifier when the first DLL wasn't found in the Wineprefix
and skip the SpecialK function, so the game can be started anyway!
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.
Additionally the version SPEKVERS
used can be configured. SpecialK doesn't have versioned releases (anymore), so the options are
- stable
- test
- old
- discord
Where stable
and test
are used from here
and the old
version 0.8.66
from here
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
This version does work, as it has a UsingWINE
configuration option, which disables all non-working functions automatically.
When SpecialK is enabled for a game, stl 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
oropengl32.dll
) into the gamedir - install
dxsetup
(and vcrun2019) from Steamworks-Shared
DISABLED
The default version used by stl is (currently) the old
version, 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)
I'm not interested in spending more time in enhancing the current implementation for obvious reasons, so
I only tested 4 games, two 64-bit
and 2 32-bit
games:
both 64-bit
games worked:
Witcher 3
Saints Row The Third Remastered
both 32-bit
games did not work:
Alien: Isolation
Bayonetta
Quick Links
- Changelog
- Installation
- Usage
- Main Menu
- Global Menu
- Tray Icon
- Modding
- Platform-Specific Documentation
- Tweaks
- Utilities
- Advanced