Releases: SpecialKO/SpecialK
Special K v 25.1.27.2
- Various improvements for ReShade and Tales of Graces f.
- Fixed SKIF to support new Steam client art asset filesystem locations.
- Added Discord-friendly HDR AVIF screenshot support to SKIV and Special K.
Full Changelog: SK_25_1_3_3...SK_25_1_27_2
Special K v 25.1.3.3 (HOTFIXES)
Interim hotfix release, already published to the installer-based update system
- Fixed INI file not saving at exit
- Revert changes introduced in 25.1.1
- Fixed potential crash at exit in D3D12 games.
- Re-enable anti-cheat workarounds for various Asian gambling games.
- Add hack to workaround dgVoodoo thread sync wonkiness in 32-bit D3D12.
- Fixed local injection in D3D11 games not working.
- HOTFIX to continue installing queued hooks even if one of them fails due to
anti-cheat memory protection.
Full Changelog: SK_25_1_1_1...SK_25_1_3_3
Special K v 25.1.1.1
HOTFIX to install DXGI/D3D11 hooks immediately rather than deferring them.
Special K v 25.1.1
- Various optimizations for UI, input and D3D11 render state tracking.
- Added new ADHD Multi-Monitor Mode, refer to the overhauled Display menu...
Full Changelog: SK_24_12_27_2...SK_25_1_1
Special K v 24.27.2
Below are the highlights between v 24.12.20.2 - v 24.12.27.2:
- Fixed recent change that would cause the control panel to crash in Steam games
if Steam cloud is disabled or SteamAPI integration is turned off. - Revert scheduler changes related to Sleep (0) behavior in 24.12.15 that cause
Silent Hill 2 to crash. - Fixed CPU affinity mask potentially overflowing and not working in 32-bit.
[ReShade Stuff]
- When ReShade is used as dxgi.dll in D3D12 games, SK no longer gives warnings
about compatibility problems. - Avoid using explicitly constructed ReShade effect runtimes as much as
possible when SK is not running in Hookless ReShade (compatibility) mode,
to avoid confusing AddOns that think these are normal ReShade runtimes. - Added checks to detect ReShade's incorrectly reported D3D11 immediate device
context reference counts that may cause deadlock during game exit or when
temporary D3D11 devices are constructed and destroyed (ie. overlay init) - Avoid destroying the SwapChain that Special K creates during initialization
to setup D3D11 hooks, because poorly written ReShade addons may crash. - Create an IDXGIFactory2 rather than IDXGIFactory when initializing hooks to
avoid complications from ReShade calling QueryInterface to upgrade an
interface that SK has not yet wrapped. - Fixed potential deadlock in RenoDX mods, the ones that do not check for
nullptr before dereferencing ptrs will simply have to crash until fixed.
[QoL Stuff]
- Automatically apply anti-cheat bypass to all Hoyo games according to their
digital certificate, so I no longer have to manually do this when they
release a new game. - The option to disable the Steam overlay's rendering now also blocks it from
installing input hooks, making it finally inert. - Fixed absent custom resolutions caused by a typo in the Display menu a few
years ago... - Restored missing audio devices in the list of pairable display/audio output
mappings, lost about a month ago.
[Optimization]
- Lowered CPU overhead in D3D11 games related to third-party overlay color
correction shader replacement when an HDR display is attached.State tracking for them will only occur during Present (...) calls now.
- Further reduce performance overhead in D3D11 across the board for CPU-bound
scenarios in games that make a lot of draw calls. - Optimized Get/SetMute to avoid constructing a temporary ISimpleAudioVolume
COM object every time it is called. - Reduced performance overhead of the Steam and battery management sections of
the control panel (battery overhead applies to framepacing widget too...) - Ignore D3D11DeviceContext Set*Resource state tracking unless the render mod
tools window is open. - Added internal settings to control D3D11 state tracking for map/unmap and
set shader resources API calls, and disabled them for a few high overhead
games. - Optimized D3D11 state tracker to ignore set shader calls, and draw calls unless
specific combinations of render mods that actually need them are active. - Optimized shader tracker to avoid clearing active RTV cache at the end-of-frame
unless render mod tools window is open. - Optimized timer queries used by SK's shader profiler and HDR widget to suspend
while render mod toolkit / HDR widget are not active. - Optimized D3D11 Stateblock Restore code to bypass invoking SK's state tracking
hooks.
Full Changelog: SK_24_12_3...SK_24_12_27_2
Special K v 24.12.3
- Implemented support for GameInput in SK's UI
- Added PlayStation controller support to games using GameInput (Steam Input does not support this)
- Added Xbox Impulse Triggers -> DualSense Adaptive Triggers for Windows.Gaming.Input and GameInput games
Full Changelog: SK_24_11_24_2...SK_24_12_3
Special K v 24.11.24.2
- Fixed D3D11 screenshots occasionally causing display mode changes to fail if
resolution changes after taking a screenshot. - Cleaned-up Mouse Cursor section of Input Control Panel and removed the old,
"Low-Level Mouse Settings" section. - Update ReShade Add-on API headers to include new events in the next release.
- Enable Fake Fullscreen mode by default in STALKER 2, because it uses that
crap (in D3D12) for HDR... - Disable SteamAPI file hash checks on Fallout 4.
- Fixed problems with SK not re-initializing D3D11 when the active SwapChain
is destroyed and re-created.
Full Changelog: SK_24_11_5...SK_24_11_24_2
Special K v 24.11.5
-
Fixed SKIF not being able to disable GFE notifications due to disabled code
-
Increase delay between first drawing an achievement unlock popup and taking
screenshot, so that statistics such as unlock time reliably appear. -
Optimize SK_D3D11_SetShader_Impl (...)/SK_D3D11_EnsureMatchingDevices (...)
to use D3D11 Private Data lookups. -
Add Alt+F4 handler override to workaround Ys X's buggy Alt+F4 code that
tends to close the game window, but leave the game running. -
Add new fallback for WMAITX support testing on CPUs with CPUIDs that
claim the instruction is unsupported... just run the instruction and
see if it generates and Illegal Instruction exception or not, lol. -
Handle window position changes that occur without showing up a game's
window message queue. -
Cleanup various RawInput handling code.
-
Improved/made obsolete mouse anti-warp for games that move their cursor
to the center of the screen to implement mouselook (stupid devs...). -
Remove old compatibility hack for ReShade that was changing Flip Model
SwapChains to Flip Sequential. ReShade works with Flip Discard now. -
Added option block screensaver activation on controller input (default)
-
Added option to have Special K disable all game handling of screensavers,
and fully manage it based on its own configurable rules.Without this option, SK adds additional blocking rules, but respects
the game's own attempts to block screensaver activation.- Many games unconditionally block screensaver, and you may not want
that behavior if you have alt-tab to work a different application
and then go AFK while the game continues running.
- Many games unconditionally block screensaver, and you may not want
-
Changed screensaver activation prevention to use the Windows-defined timeout
interval and factor in gamepad input, since Windows only uses KB&M. -
Added a message when the system screensaver activates explaining how to
configure screensaver prevention. -
Always use the fully qualified path when looking up NVIDIA driver profiles
for the current game in order to avoid creating duplicates. -
Fix bug in Ys X where it may attempt to create 0x0 textures when its window
is minimized and then crash. -
Add explicit overrides for many of the most important SDL input settings
( -1 = No Override, 0 = Off, 1 = On )
-
Refer to SDL_hints.h for details on each,
"FullPlayStationBluetoothSupport" is a combination of
SDL_JOYSTICK_HIDAPI_PS4_RUMBLE and SDL_JOYSTICK_HIDAPI_PS5_RUMBLE...This setting is controversial, it will allow rumble and haptics over
Bluetooth, but will cause your gamepad to become incompatible with
games that use DirectInput until powered off and back on...^ If that sounds familiar, it is the entire reason ValvePlug was created.
*** Unlike the Steam Client, SDL never enables those things without consent,
and that means rumble may be missing from many games that use SDL. -
-
Allow SDL to use DirectInput gamepads at sanity level 1
-
Improve Vulkan/DXGI Layer detection for NVIDIA drivers to handle cases
where vulkan-1.dll is calling DXGI directly instead of nvoglv{32|64}. -
Turn Multitasking-on-Top off by default again, because at levels aggressive
enough to work, some windows will not be raised above the game. -
Make sure SK always calls the real ShowWindow (...) instead of its hook.
-
Handle undocumented special cases SWP_NOCLIENTMOVE and SWP_NOCLIENTSIZE,
to fix problems with Sonic Generations -
Added support for minimizing/restoring borderless games by pressing the
normal Windows keybinds to do so (Win+Down / Win+Up). -
Avoid unnecessary window position and border style API calls when no actual
change is required. -
Allow WS_ICONIC window style to be set if borderless override is not on.
-
Add WS_EX_WINDOWEDGE to list of extended window styles that have borders.
-
Fixed ReShade Plug-In selection UI not correctly turning Compatibility Mode
off (necessary for some ReShade Add-Ons to work). -
HDR Remastered tooltip now ONLY counts memory for remastered RenderTargets
and Unordered Access Views that are -still- in memory, and values decrease
as a game unloads remastered resources. -
Added INI setting to disable DirectStorage hooks.
[Render.DStorage]
EnableHooks={true|false} Default: true -
Disable DirectStorage integration in Monster Hunter Wilds
-
Win+Up/Down can minimize/restore a game, as can Xbox/PlayStation + Lt/Rt.
Full Changelog: SK_24_10_24...SK_24_11_5
Special K v 24.10.24
- Fix NVIDIA's Vulkan interop not being detected on SDR systems in newest driver
releases. - Add support for 8-bpc Render/Compute HDR remastering in Shadow Generations.
- Add D3D11/DXGI Debug Layer minimum severity level to message logging UI.
- Add anti-cheat workaround for Genshin Impact.
Full Changelog: SK_24_10_22...SK_24_10_24
Special K v 24.10.22 (HOTFIX)
Downgrade compiler version used, because games shipping with outdated copies of msvcp140.dll in their directory will crash otherwise (yay!)
- Added control panel option to enable/disable Metaphor thread scheduling fixes.
- SDR Gamma Boost no longer affects color saturation and Color Boost has been set to 33.3% by default.
- Fixed double keyboard input processing in Ys X.
- Added Texture Filtering settings (Anisotropy and LOD Bias) for D3D11.
- Fixed black HDR screenshots in D3D12 games.
- Workaround memory leaks on Proton caused by broken implementation of WASAPI session enumerator.
Full Changelog: SK_24_10_5...SK_24_10_21_2
Full Changelog: SK_24_10_21_2...SK_24_10_22