Difference between revisions of "Special K"
From PCGamingWiki, the wiki about fixing PC games
SirYodaJedi (talk | contribs) m |
m (ReShade) |
||
Line 229: | Line 229: | ||
* {{file|'''modules.log'''}} - Stores DLL files loaded by the game that Special K was able to detect and log. | * {{file|'''modules.log'''}} - Stores DLL files loaded by the game that Special K was able to detect and log. | ||
** Note that tools or applications using more obscure ways of injecting themselves to avoid detection will not listed in this log file. | ** Note that tools or applications using more obscure ways of injecting themselves to avoid detection will not listed in this log file. | ||
− | * {{file|ReShade.log}} - Stores logs related to the custom ReShade plug-in of Special K, if used. | + | * {{file|ReShade.log}} - Stores logs related to the custom [[ReShade]] plug-in of Special K, if used. |
* {{file|steam_api.log}} - Stores logs related to the Steam API and enhancements. | * {{file|steam_api.log}} - Stores logs related to the Steam API and enhancements. | ||
Line 589: | Line 589: | ||
{{ii}} Underlying cause of the issue seems to be a change in how Windows 10 handles the '''Disable fullscreen optimizations''' option in the application compatibility engine.<ref>{{Refurl|url=https://steamcommunity.com/groups/SpecialK_Mods/discussions/1/1736588252384465942/#c1736588252387977752|title=Steam Group - Special K - Local injection to any DX9 title causes crash - Reply #11|date=2018-08-20}}</ref> | {{ii}} Underlying cause of the issue seems to be a change in how Windows 10 handles the '''Disable fullscreen optimizations''' option in the application compatibility engine.<ref>{{Refurl|url=https://steamcommunity.com/groups/SpecialK_Mods/discussions/1/1736588252384465942/#c1736588252387977752|title=Steam Group - Special K - Local injection to any DX9 title causes crash - Reply #11|date=2018-08-20}}</ref> | ||
{{ii}} A workaround is to uncheck '''Disable fullscreen optimizations''' or use another {{file|[[#Local (game-specific)|<wrapper-DLL>]].dll}} as injection point. | {{ii}} A workaround is to uncheck '''Disable fullscreen optimizations''' or use another {{file|[[#Local (game-specific)|<wrapper-DLL>]].dll}} as injection point. | ||
− | {{mm}} This issue also affects ReShade, although SweetFX is not affected. | + | {{mm}} This issue also affects [[ReShade]], although SweetFX is not affected. |
====Using dxgi.dll prevents fullscreen optimizations from being disabled==== | ====Using dxgi.dll prevents fullscreen optimizations from being disabled==== | ||
{{ii}} Underlying cause of the issue seems to be a change in how Windows 10 handles the '''Disable fullscreen optimizations''' option in the application compatibility engine.<ref>{{Refurl|url=https://steamcommunity.com/groups/SpecialK_Mods/discussions/1/1736588252384465942/#c1736588252387977752|title=Steam Group - Special K - Local injection to any DX9 title causes crash - Reply #10|date=2018-08-20}}</ref> | {{ii}} Underlying cause of the issue seems to be a change in how Windows 10 handles the '''Disable fullscreen optimizations''' option in the application compatibility engine.<ref>{{Refurl|url=https://steamcommunity.com/groups/SpecialK_Mods/discussions/1/1736588252384465942/#c1736588252387977752|title=Steam Group - Special K - Local injection to any DX9 title causes crash - Reply #10|date=2018-08-20}}</ref> | ||
{{ii}} A workaround is to uncheck '''Disable fullscreen optimizations''' or use another {{file|[[#Local (game-specific)|<wrapper-DLL>]].dll}} as injection point. | {{ii}} A workaround is to uncheck '''Disable fullscreen optimizations''' or use another {{file|[[#Local (game-specific)|<wrapper-DLL>]].dll}} as injection point. | ||
− | {{mm}} This issue also affects ReShade. | + | {{mm}} This issue also affects [[ReShade]]. |
===Windows 7 issues=== | ===Windows 7 issues=== |
Revision as of 19:14, 27 January 2020
Cover image missing, please upload it | |
Developers | |
---|---|
Kaldaien | |
Release dates | |
Windows | July 29, 2015 |
Key points
- Extensive game modifying framework allowing for various in-depth tweaking of a game. The focus is primarily on the graphics pipeline but it also includes various features such as input device blocking/configuring, etc.
- As with other third-party stuff, Special K can have an adverse effect if used in multiplayer titles where anti-cheat protection exist.
- Includes a number of game-specific changes and optimizations, although minor ones are not exposed.
- Supports multiple graphics APIs as well as injection methods, making it compatible with a lot of games. DirectX 7 and older versions are supported through dgVoodoo 2.
- Does not support DirectX 12 or 10, nor Vulkan.
- Causes performance issues on Windows 7, when the Desktop Window Manager (DWM) is disabled.
General information
Availability
Source | DRM | Notes | Keys | OS |
---|---|---|---|---|
Steam | GPL v2 Prohibits DRM on all distributions of Special K |
Installation
Global (system-wide)
- Allows Special K to inject automatically in all Steam games/applications it detects, as well as non-Steam games the user manually allows.
- Stop the global injection before playing a multiplayer game where Special K might have an adverse effect.
Install the global injector of Special K: |
---|
Notes
|
Enable for non-Steam games: |
---|
|
Local (game-specific)
- Installs Special K for a specific game, making it possible to use with said game without having global injection enabled.
- Use at own risk in multiplayer games where Special K might have an adverse effect.
- Does not support automatic updates.
Convert global injection to local wrapper DLLs: |
---|
|
Manually install local wrapper DLLs: |
---|
|
Custom game-specific mods
- There are also custom versions available of Special K tailored to certain games. These often features more in-depth changes or fixes that might not exist in the main branch, or are essentially "frozen" versions of Special K guaranteed to have the highest compatibility with their respective game. All game-specific mods are usually also embedded into the main Special K project, although future compatibility can suffer as the main project evolves.
- Some of these mods supports automatic updates despite being a local install of Special K; although as the update channel is separate from the main release channel these mods might not be frequently updated, if ever.
- In the below table,
Manual
refers to a game-specific mod that requires the user to manually download, install, and update the mod.Automatic (SKIM)
refers to a game-specific mod that supports automatic installation through the Special K Install Manager (see instructions below the table) as well as auto-updates post-install.
Game | Install Type | Comment |
---|---|---|
.hack//G.U. Last Recode | Automatic (SKIM) | Fixes texture shimmering, performance issues, and over-powered bloom lightning. |
Assassin's Creed Odyssey | Manual | Thread scheduling changes. |
Dark Souls III | Automatic (SKIM) | Focuses on render and usability enhancements. |
Disgaea PC | Automatic (SKIM) | Focuses on render, usability, performance, and stability enhancements. |
Dragon's Dogma: Dark Arisen | Manual | Fixes UI/aspect ratio scaling for ultra-widescreen resolutions. |
Fallout 4 | Automatic (SKIM) | Improves frame pacing. |
Final Fantasy X/X-2 HD Remaster | Automatic (SKIM) | A ton of changes, improvements, and features. |
Final Fantasy XV | Manual | Improves frame pacing. |
Lego City Undercover | Manual | Solves issues with fullscreen mode, uncap the framerate and fixes multi-threading performance problems. |
Monster Hunter: World | Manual | Enables HDR10/scRGB output, improves frame pacing and CPU utilization. |
Ni no Kuni II: Revenant Kingdom | Automatic (SKIM) | Fixes timing issues and frame pacing. Not fully functional with v1.03 of the game. |
Nier: Automata | Automatic (SKIM) | Increases performance, fixes cutscene stuttering, and various other improvements. |
Sekiro: Shadows Die Twice | Manual | NVidia HDR improvements, improves performance, and unlocks framerate. |
Shenmue I & II | Manual | Anisotropic filtering, mipmap generation, pillarbox remover for cutscenes. |
Tales of Berseria | Automatic (SKIM) | A ton of stuff. |
Tales of Symphonia | Automatic (SKIM) | A ton of stuff. |
Tales of Vesperia | Manual | Eliminate most micro-stutter, disable DoF, Bloom, and Blur. adds MSAA support and HDR display output. |
Tales of Zestiria | Automatic (SKIM) | A ton of stuff. |
Yakuza 0 | Manual | Toggles for disabling blur, depth of field, ambient occlusion. Allows HUD-less screenshots. Not working with latest game version. |
Yakuza Kiwami 2 | Manual | Toggles for disabling depth of field and various other minor stuff. |
Install a "Manual" game-specific mod: |
---|
|
Install an "Automatic (SKIM)" game-specific mod: |
---|
Notes
|
Disable for specific executables
- Disable injection for a specific executable if it is found to cause issues.
- Only available for global injection. Local injection requires removal of the local wrapper DLL files.
Do either of the following: |
---|
|
Game data
-
game-specific
in the below tables refers to either the title of the game (Steam releases) or the executable filename of the game (other platforms).
Configuration file(s) location
- Some game-specific mods use a separate
*.ini
file to store the configuration for game-specific tweaks, such asFAR.ini
for the "FAR" (Fix Automata Res.) mod for Nier: Automata. - Configuration for some modules (e.g. achievements, macros, on-screen display) are stored in
%USERPROFILE%\Documents\My Mods\SpecialK\Global\*.ini
Type of install | Location |
---|---|
Global Local (converted from global) |
%USERPROFILE%\Documents\My Mods\SpecialK\Profiles\game-specific \SpecialK.ini
|
Local (manual / game-specific mod) |
<path-to-game>; in the game executable folder. Filename mirrors DLL file, e.g. dxgi.ini .
|
Log file(s) location
- The crash handler of Special K will move all logs related to a crash to a time-specific
<path-to-game>\logs\crash\<timestamp>\*.log
folder if it manages to capture data about the crash.
Type of install | Location |
---|---|
Global Local (converted from global) |
%USERPROFILE%\Documents\My Mods\SpecialK\Profiles\game-specific \logs\*.log
|
Local (manual / game-specific mod) |
<path-to-game>\logs\*.log |
List of log files and what they capture:
- Log files marked with bold formatting are generally more important.
CEGUI.log
- Stores logs related to the Crazy Eddie's GUI System component used for custom achievement popups and the on-screen display monitoring.crash.log
- Stores captured crash data if the crash handler of Special K were able to capture data related to the crash.SpecialK.log
or<wrapper-DLL>.log
- Main log file for Special K, stores injection, render pipeline, and other related events.dxgi_budget.log
- Stores DXGI memory statistics at shutdown.game_output.log
- Stores everything the game outputs to the standard output stream of the operating system.modules.log
- Stores DLL files loaded by the game that Special K was able to detect and log.- Note that tools or applications using more obscure ways of injecting themselves to avoid detection will not listed in this log file.
ReShade.log
- Stores logs related to the custom ReShade plug-in of Special K, if used.steam_api.log
- Stores logs related to the Steam API and enhancements.
Video settings
- Compatibility for features varies for games; most usually works, but at times a game might not function properly with some. Hold down Ctrl+⇧ Shift while launching a game if you need to reset the config file of Special K.
Windowed
Force window mode for games that do not natively support it: |
---|
|
Borderless fullscreen windowed
Force borderless fullscreen windowed for games that do not natively support it: |
---|
|
Vertical sync (Vsync)
Force a custom vertical sync behavior: |
---|
|
Refresh rate (Hz)
Force a custom refresh rate: |
---|
Notes
|
Scan type
- Controls if the game outputs in progressive or interlaced scanning. This is normally more relevant for a television than a computer monitor, as typically computer monitors only support progressive display modes.
- This override should only be used if the game does not properly output to the correct scan mode.
Force a custom scanning method: |
---|
|
Limit resolution
- Limits the minimum and maximum reported resolution to a game. In some games, this can be used to override the resolution to one not supported by the game.
- DirectX 11 only.
Limit the minimum and maximum reported resolution for a DirectX 11 game: |
---|
Notes
|
Override resolution
- Overrides the framebuffer resolution in windowed modes, forcing games to render at a higher resolution than what they might natively support.
Force an override resolution in windowed modes for games that do not natively support it: |
---|
Notes
|
Continue rendering
- Prevents games from pausing when they lose focus.
Instructions |
---|
|
Frame rate limiter
- Limits the FPS of a game to the desired value, potentially improving frame pacing and timing consistency at the loss of a somewhat lower averaged FPS.
Instructions |
---|
Notes
|
Flip model presentation
- Flip model is a presentation model designed to make windowed mode effectively equivalent or better when compared to the classic "fullscreen exclusive" mode.[1]
- Windows 10's fullscreen optimizations for DirectX 9-11 tries to automatically convert some games configured to use "fullscreen exclusive" mode into using flip model presentation in a maximized borderless window instead.
- Allows the use of variable refresh rate (VRR, G-Sync, FreeSync, VESA Adaptive-Sync, HDMI 2.1 VRR) in borderless maximized windows even without the display driver configured to allow VRR in windowed mode.
- Special K only supports forcing flip model presentation for games using DirectX 11, and even then it might not function properly for all games.
Force a game to use flip model presentation: |
---|
|
Input settings
Mouse locking
Lock the mouse to the game window for games that do not natively support it: |
---|
|
Haptic feedback
- The control panel of Special K uses haptic UI feedback; this can cause a controller to rumble even if the keyboard/mouse is being used to navigate the UI.
Toggle haptic feedback: |
---|
|
Disable type(s) of input
- This will block the game from receiving input of the blocked type. It can be used to e.g. prevent input devices from messing with the game. The block only affects the game itself and not Special K.
Instructions |
---|
|
Audio settings
Localizations
Language | UI | Audio | Sub | Notes |
---|---|---|---|---|
English |
Separate volume controls
- Special K allows muting or changing the volume per individual speakers for a game.
- While using a 7.1 audio output device (virtual or physical) this can be helpful to determine what surround sound a game supports.
Instructions |
---|
|
Mute on focus lost
- This will mute the game when it does not have focus.
Instructions |
---|
|
Steam enhancements
- Special K makes heavy use of the Steam API to enhance the experience of Steam players with various features, including custom notifications for unlocked achievement, smarter screenshot capturing, real-time player count, and various other enhancements.
- Due to the nature of these enhancements, third-party Steam API emulators is known to cause conflicts and crashes unless the enhancements are disabled.
Change position of Steam Overlay notifications
- This allows changing what corner the default Steam Overlay notifications appear in.
- There is no way to disable or hide the notifications, as this option is not exposed through the Steam API.
Instructions |
---|
|
Customize achievement enhancements
Instructions |
---|
Notes
|
Throttle Steam API callbacks
- Some games might not be limiting the number of callbacks performed to the Steam API, which can have an adverse effect on other parts of the game.
- The effect of throttling the callbacks differ between games. Some might not see a difference at all, while other games might see a noticeable improvement. For example, in Final Fantasy XV throttling the Steam API callbacks saw a decrease in loading times and minor improvements to frame pacing when data were streamed from the drive.
Throttle the Steam API callbacks for a game: |
---|
Notes
|
Disable all enhancements
- The Steam enhancements can be disabled if troubleshooting compatibility issues with a game, or if not desired.
- Note that this also prevents game-specific fixes that rely on the enhancements from being applied, such as the Steam API callback throttling for Final Fantasy XV.
Disable Steam enhancements for a game: |
---|
[Steam.Log] Silent=true |
Issues fixed
Game crashes with Special K injected
- Occurs most commonly at launch of a game, and is usually caused by conflict(s) with other running third-party tool(s) or application(s).
- Note that the crash handler of Special K is capable of capturing data for crashes that occurred unrelated to the mod itself.
- Disable FRAPS if it is being used! FRAPS is known to conflict with Special K, and the nature of the crash prevents Special K from properly logging its presence (
modules.log
will be partially incomplete).
Troubleshoot the issue: |
---|
|
The Alert (!) sound from Metal Gear Solid plays when the game crashed
- The crash handler of Special K plays the iconic Alert (!) sound from Metal Gear Solid if it managed to capture data related to a crash.
- This does not mean that Special K was involved in the crash; it just means a crash occurred and Special K was able to capture data related to it.
Troubleshoot according to Game crashes with Special K injected. |
---|
Problematic XInput software detected (infinite haptic feedback loop)
- Special K throws this warning if it detects a circular dependency issue involving different versions of XInput.[2]
Restart all applications drawing an overlay (e.g. Steam, Origin, Uplay) and/or disable said overlays. |
---|
Disable the use of XInput in Special K (does not affect the game): |
---|
[Input.XInput] Enable=false Rehook=false PlaceholderMask=0 UISlot=0 SlotReassignment=0,1,2,3 |
Issues unresolved
Direct3D 9 issues
Injecting Special K caps the frame rate to the refresh rate
- Injecting Special K globally (including delayed) or locally into a DirectX 9 game will cause the frame rate to cap to the refresh rate of the monitor.[3]
- A workaround is to use Disable fullscreen optimizations and configure the game to exclusive fullscreen mode.
Windows 10 v1803 and 'Disable fullscreen optimizations' issues
Using d3d9.dll prevents games from launching
- Underlying cause of the issue seems to be a change in how Windows 10 handles the Disable fullscreen optimizations option in the application compatibility engine.[4]
- A workaround is to uncheck Disable fullscreen optimizations or use another
<wrapper-DLL>.dll
as injection point. - This issue also affects ReShade, although SweetFX is not affected.
Using dxgi.dll prevents fullscreen optimizations from being disabled
- Underlying cause of the issue seems to be a change in how Windows 10 handles the Disable fullscreen optimizations option in the application compatibility engine.[5]
- A workaround is to uncheck Disable fullscreen optimizations or use another
<wrapper-DLL>.dll
as injection point. - This issue also affects ReShade.
Windows 7 issues
Special K causes performance issues when used with DWM disabled
- Using Special K with a game when DWM is disabled on Windows 7 causes immense performance issues.[3]
Other information
API
- This refers to the APIs supported by and compatible with Special K as an injection point.
- DirectInput 8 is also supported as an injection point.
Technical specs | Supported | Notes |
---|---|---|
Direct3D | 8, 9, 11 | D3D8 requires dgVoodoo plugin. |
DirectDraw | 7 | Requires dgVoodoo plugin. |
OpenGL | 1, 2, 3, 4 | |
Vulkan | 1.0 | Rendering is not available; manual edit of the config file is required. |
Executable | 32-bit | 64-bit | Notes |
---|---|---|---|
Windows |
Configuration file(s) parameters
- See config.cpp for a list of all parameters that can be used, as well as their section and configuration file.
- Below is a table of what the tab-based columns of the source code correspond to.
Column | Comment |
---|---|
1 | Internal parameter name. |
2 | Description of what the parameter does. |
3 | Lists what configuration file the parameter resides in (e.g. dll_ini for dxgi.ini/dinput8.ini/etc).
|
4 | Lists the section of said configuration file (e.g. [Input.Cursor] ).
|
5 | Lists the key for the parameter used in the configuration file (e.g. UseHardwareCursor )
|
Keybindings
General
Keyboard | Controller | Function |
---|---|---|
Ctrl+⇧ Shift+← Backspace | Back/Select+⊞ Win | Toggle the control panel |
Ctrl+⇧ Shift+O | N/A | Toggle the on-screen display (OSD) |
Hold Ctrl+⇧ Shift while launching game | N/A | Opens the injection compatibility options |
Control Panel
Keyboard | Controller | Function |
---|---|---|
⇪ Caps Lock | Hold Back/Select for 0.5 seconds | Toggle exclusive input mode (game vs. control panel) |
↑+↓+←+→ | ↑+↓+←+→ | Cycle through UI items |
↵ Enter | A / × | Activate selected item |
Ctrl+⇧ Shift+← Backspace | B / ○ | Exit control panel |
Ctrl+Alt+↑+↓+←+→ (exclusive keyboard mode only) |
X / □+Left Analog Stick | Move the control panel window |
On-Screen Display (OSD)
- Color and scale config is stored in
%USERPROFILE%\Documents\My Mods\SpecialK\Global\osd.ini
Keyboard | Controller | Function |
---|---|---|
Ctrl+⇧ Shift+O | N/A | Toggle the on-screen display (OSD) |
Ctrl+⇧ Shift++ / - | N/A | Resize the on-screen display (OSD) |
Ctrl+⇧ Shift+F | N/A | Toggle framerate counter |
Ctrl+⇧ Shift+T | N/A | Toogle clock / version |
Ctrl+⇧ Shift+G | N/A | Toggle GPU monitor |
Ctrl+⇧ Shift+C | N/A | Toggle CPU monitor |
Ctrl+⇧ Shift+M | N/A | Toggle memory monitor |
Ctrl+⇧ Shift+I | N/A | Toggle I/O monitor |
Ctrl+⇧ Shift+D | N/A | Toggle disk monitor |
Ctrl+⇧ Shift+P | N/A | Toggle page file monitor |
Ctrl+⇧ Shift+R | N/A | Toggle D3D11 shader analytics |
Advanced
Keyboard | Controller | Function |
---|---|---|
Ctrl+⇧ Shift+Tab ↹ | N/A | Toggle the command console. See the console documentation for more information. |
System requirements
- Requires Visual C++ 2017 Redistributables (32-bit, 64-bit) and the DirectX End-User Runtime.
- Windows 7 also requires KB2670838 and KB2533623, although one/both might be superseded by another already installed update(s).
Windows | ||
---|---|---|
Minimum | Recommended | |
Operating system (OS) | 7 | 8.1, 10 |
Processor (CPU) | ||
System memory (RAM) | ||
Hard disk drive (HDD) | 150 MB | |
Video card (GPU) | DirectX 11 compatible |
References
- ↑ Microsoft - Programming Guide for DXGI - For best performance, use DXGI flip model - last accessed on 2018-07-25
- ↑ Steam Group - Special K - Special K - v 0.9.24 <Alpha> Ryzen CPU Driver - (9/28/18) - Reply #7998 - last accessed on 2018-10-16
- ↑ 3.0 3.1 Steam Group - Special K - Special K - v 0.9.24 <Alpha> (Ryzen CPU Driver) - (7/31/18) - Reply #6277 - last accessed on 2018-08-20
- ↑ Steam Group - Special K - Local injection to any DX9 title causes crash - Reply #11 - last accessed on 2018-08-20
- ↑ Steam Group - Special K - Local injection to any DX9 title causes crash - Reply #10 - last accessed on 2018-08-20