Retour au classement

SpecialKO/SpecialK

C++special-k.info

Lovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything.

gamingmodding-gamesreverse-engineeringframerate-fixerhdrlatency-analysis
Croissance des étoiles
Étoiles
2k
Forks
91
Croissance hebdomadaire
Issues
139
5001k1.5k
janv. 2022juil. 2023janv. 2025juil. 2026
README



Builds  Discord

Special K  "Lovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything. It is best known for fixing and enhancing graphics, its many detailed performance analysis and correction mods, and a constantly growing palette of tools that solve a wide variety of issues affecting PC games."

License  Primary Language


Contents of Repository

This repository contains source code for Special K's code injection payload (SpecialK(32|64).dll).

Supporting utilities such as SKIF (Special K Injection Frontend) and the now deprecated SKIM (Special K Install Manger) are maintained as separate projects. Additionally, some older mods built using Special K exist as standalone plug-in DLLs; plug-ins and SKIM are no longer actively maintained, but are accessible via Kaldaien's GitHub profile.


Build Dependencies

All of Special K's build dependencies are included when you clone the repo beginning with 23.5.7. Older versions have an additional dependency on the June 2010 DirectX SDK.

Special K requires Visual C++ 2022 or newer to compile due to language features not present in older compilers.


Platform Dependencies

Special K is not supported on anything older than Windows 8.1, though (as of 23.5.7) still builds and runs (massively feature-reduced) on Windows 7 (Platform Update).

It does run in WINE and is compatible with DXVK, but must be configured with UsingWINE=true in its per-game INI file to work on Linux.


Miscellaneous

There is a good chance the project will not compile correctly if you use the Debug build configuration, Special K is designed to produce debuggable Release builds.


High-Level Overview of Special K Code Injection

Special K's DLLs are capable of injecting their code in one of two ways:

Local Injection   Proxy / Wrapper DLL

  1. Rename SpecialK(32|64).dll to (dxgi|d3d11|d3d9|d3d8|ddraw|dinput8|OpenGL32).dll and catch a ride via Static Imports or calls to LoadLibrary (...).

Global Injection   Win32 Global Hookchain

  1. Globally Inject using CBT / Shell hooks

    This is the preferred technique, and the DLL is capable of bootstrapping the hook without any outside assistance via RunDLL_InjectionManager (...) (rundll32.exe will host the DLL as a normal Win32 UI process).


There are many more possible ways to inject the DLLs, the two outlined above are useable without any additional tools.

Special K will happily inject into a game that is already running if you want to build your own tool using something like CreateRemoteThread (...), but keep in mind that late injection will prevent some of Special K's features (particularly those related to D3D overrides and shader/texture mods) from working.

CBT Hooks were chosen due to hookchain order. Since most graphics APIs on Windows need a window before they can do non-trivial initialization, a CBT hook reliably gets us into the application before D3D9/11/12 swapchain creation.

Dépôts similaires
Atlas-OS/Atlas

🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and usability.

BatchfileGNU General Public License v3.0windowsperformance
atlasos.net
21.1k737
doitsujin/dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine

C++zlib Licensevulkandxbc
17.7k1.2k
JosefNemec/Playnite

Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

C#MIT Licenselaunchergaming
playnite.link
13.6k649
Heroic-Games-Launcher/HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.

TypeScriptnpmGNU General Public License v3.0play-gameslinux
heroicgameslauncher.com
11.8k645
ClassicOldSong/Apollo

Sunshine fork - The easiest way to stream with the native resolution of your client device

C++GNU General Public License v3.0gamingremote-control
10.3k369
lutris/lutris

Lutris desktop client

PythonPyPIGNU General Public License v3.0gaminggame-launcher
lutris.net
10.1k859
utkarshdalal/GameNative

Native PC gaming with Steam, Epic, GOG and Amazon integrations on Android

KotlinGNU General Public License v3.0gamingmobile-gaming
gamenative.app
9.3k337
ublue-os/bazzite

Bazzite makes gaming and everyday use smoother and simpler across desktop PCs, handhelds, tablets, and home theater PCs.

JustApache License 2.0desktopfedora-linux
bazzite.gg
8.8k993
azerothcore/azerothcore-wotlk

Complete Open Source and Modular solution for MMO

C++GNU General Public License v2.0azerothcoretrinitycore
azerothcore.org
8.6k3.6k
bottlesdevs/Bottles

Run Windows software and games on Linux

PythonPyPIGNU General Public License v3.0winewineprefix-manager
usebottles.com
8.6k367
mumble-voip/mumble

Mumble is an open-source, low-latency, high quality voice chat software.

C++Othervoicechatvoip
mumble.info
8.1k1.4k
itsfatduck/optimizerDuck

Free, open-source Windows optimization tool for performance, privacy, and simplicity.

C#Otheroptimizerperformance
optimizerduck.vercel.app
7.1k289