Intro
Henceforth libspeedhack
will be used in reference of the library/tool, to differentiate it from libSPEEDHACK, the project. speedhack
refers to the executable and will show up in commands.
Those already familiar with Cheat Engine's "speedhack" feature will be aware of the limitations of tools like this and the necessity of troubleshooting game behavior on a per-game basis. This guide will cover the installation and proper basic usage of libspeedhack
with the assumption that you are prepared to test and troubleshoot if the speedhack does not work as intended.
Disclaimers
- I am in no way affiliated with Evgeniy Zhabotinskiy or the libSPEEDHACK project; this guide is not official documentation nor should be treated as such.
- This guide is intended to be informative on the topic of using libSPEEDHACK on offline, singleplayer games; this is neither an endorsement nor recommendation of using this or similar tools on online or multiplayer games, or games where such usage is violation of the terms of use.
- This guide, much like the open-source project it is about, is offered “as-is”, without warranty, and disclaiming liability for damages resulting from using it.
- This guide comes with no guarantee of revision or update; due to changes to either the libSPEEDHACK software itself or the environment it is run in, this guide may become inaccurate without notice.
- libSPEEDHACK is technically outdated and, to my knowledge, not actively developed anymore. The AUR package, last updated in 2021, has been flagged out-of-date as of 2023, and the GitHub latest release is dated 2022. By proceeding you understand the risks of installing and using old, unsupported software: something I do not recommend. I will not be held liable to any problems, security-related or otherwise, that doing so may cause.
⚠️ Warning: never run console commands or execute scripts from unknown, untrusted sources, unless you have reviewed them and know exactly what they do. I am an unknown, untrusted source.
ℹ️ This guide was written and tested on Arch Linux 6.10.3.arch1-1
via EndeavourOS, with Steam version 1.0.0.79-2
. Testing was performed in July/August of 2024.
The Short Version
This guide is intended for quick-start reference and assumes you know how bash
and CLIs work, as well as how your Linux distro handles community packages that are not in the official repos.
Install libspeedhack
The project GitHub page offers three options:
Choose your preferred method and install. Make note of your install directory.
Find speedhack
After libspeedhack
is installed, the executable speedhack
should now be accessible. Make note of its location.
Depending on how exactly you installed libspeedhack
you may use which speedhack
(note! not which libspeedhack
) which will output the directory where it is located. Below is an example of my system's output (which works because I installed libspeedhack
via the AUR using the yay
helper).
$ which speedhack
/usr/bin/speedhack
⚠️ This location may vary depending on your distro!
Hook speedhack
Into Your Game
via Steam
Steam Library > Right click game title > Properties > General > Launch Options
In the text field, insert /path/to/speedhack %command%
; where %command%
is written verbatim. Using my system as example, the Launch Options field should say:
/usr/bin/speedhack %command%
ℹ️ Technically in my case, speedhack %command%
would suffice, but I like to use full paths as a general practice.
Steam will save your Launch Options and will now launch your game with speedhack
hooked every time you hit Play through the normal Steam UI.
Directly via Game Executable
If you choose to run your game executable directly from the commandline, you can ensure speedhack
is hooked in with /path/to/speedhack /path/to/game/executable [args]
Using my system as example, hooking into the game myman
:
$ /usr/bin/speedhack /usr/bin/myman
This launches the game myman
with speedhack
hooked and ready to use.
ℹ️ Again, in my case, I could simply run speedhack myman
to the same effect.
Adjust Gamespeed
Now that your game is running with speedhack
hooked, speedhack
is listening to /tmp/speedhack_pipe
. Simply feed /tmp/speedhack_pipe
your desired time factor/multiplier and speedhack
will adjust your gamespeed accordingly, live. You do this via echo n >/tmp/speedhack_pipe
where n is a floating-point number representing your time factor/multiplier.
Below is an example of telling speedhack
to halve gamespeed to 0.5x (50%)
$ echo 0.5 >/tmp/speedhack_pipe
And below is an example of telling speedhack
to double gamespeed to 2x (200%)
$ echo 2 >/tmp/speedhack_pipe
⚠️ Note the single angle bracket >
used here.
speedhack
is constantly listening to the /tmp/speedhack_pipe
file and you may continue to adjust your time factor as you like, while you play.
ℹ️ /tmp/speedhack_pipe
is cleared upon game close or crash. Every boot of your game will start at 1x speed and you will need to use one of these commands to adjust gamespeed again.
ℹ️ Although speedhack
does allow multiple hooked games to run simultaneously, it seems only the first hooked game will apply gamespeed adjustments, with all other instances running unaffected at 1x speed. I have not tested this extensively and YMMV.
Basic Troubleshooting
- In my experience Steam Overlay has not caused problems with speedhacks on both Linux and Windows but for troubleshooting purposes you can easily disable Steam Overlay for that specific game via Steam Library > Right click game title > Properties > General > Enable Steam Overlay
- If you really want to, you can disable Steam Overlay globally via Steam > Settings > In Game > The Steam Overlay
- An in-game FPS counter can be a helpful troubleshooting tool. Steam Overlay has its own built-in version which can be enabled via Steam > Settings > In Game > The Steam Overlay
- Games can encounter problems with extreme gamespeed multipliers. Test on 0.5x and 2x and gradually adjust instead of starting with 0.1x or 10x.
- Sometimes a speedhack works partially. In addition to character movement, check UI animations and in-game timers to see what is and is not affected by the speedhack.
- Per the
libspeedhack
wiki, "Libspeedhack does not work with any "Pressure Vessel"-packaged Steam runtime" and a potential fix is detailed in the notes.
Under the Hood
- The
libspeedhack
GitHub page and project GitHub wiki include some helpful explanations of how this hack library works, and some notes on compatibility. I highly recommend reading the README (the very first thing you see when you scroll down on the GitHub page!). - I have only done some basic testing of multiple
speedhack
instances running at once (noted above) and do not know if there is a way to get multi-instance working. - I have not tested
libspeedhack
on games with multiple/chained executables such as launchers.