Tool-assisted game movies
When human skills are just not enough

Emulator Resources / lib TAS / Game Compatibility

<< Emulator Resources / lib TAS
<< Emulator Resources


libTAS has been initially developed to support games that are using Simple DirectMedia Layer (SDL) for rendering (both software and OpenGL rendering). SDL is a cross-platform library for developing games. It is used in many commercial Linux games, either directly, or by using a high level framework that uses SDL as an intermediate layer. This includes FNA, a reimplementation of Microsoft XNA, or Chowdren, a cross-platform runtime for Clickteam Fusion games.

There has been some development to handle low-level rendering/inputs to support more games, including GameMaker Studio or Unity games.

Also, Steam games are partially supported right now. We can't let the game connect to Steam because Steam is messing with our code injection by spawning multiple processes and injecting code itself (such as game overlay). To fix that, a dummy Steam library is implemented, but it is still under development and games have many ways to connect to Steam so this does not work for all games yet. On the game compatibility below, it is noted if the Steam version of the game is supported. If not, you must use a drm-free version, except if the Steam game is or can be made drm-free.


LibTAS supports SDL1 software rendering, SDL2 software and OpenGL rendering, and low-level GLX (OpenGL) rendering.


Supported inputs are:


Audio playback needs to be controlled for a correct playback when game is paused, and for audio dumping. Audio sources are intercepted from the audio library calls made by the game, and are mixed together by libTAS and played back at frame boundaries. The currently supported high-level audio libraries are SDL1 Audio, SDL2 Audio and OpenAL. Also, low-level ALSA API is supported, so that other high-level libraries (like FMOD) are still working.


There are libTAS settings that are common to all games of the same engine:

Game Compatibility

Be sure to check the above engine recommendation in addition to game-specific requirements

Game Framework Steam Comments
AM2R GM:S n/a Needs Time tracking > Backup savefiles in memory unchecked to prevent a debug window to prompt
Axiom Verge FNA/SDL2 Yes
Braid SDL1 or SDL2 ??? Offset between system and game cursor
Celeste FNA/SDL2 ??? Variable loading times
Dead Cells Heaps/SDL2 ??? Needs Time tracking > Main thread > gettimeofday() to prevent softlocks, randomness not controlled, audio effects not supported
Dustforce SDL2 ???
Escape Goat 2 MonoGame/SDL2 Yes
Flywrench GM:S Yes Steam Linux version was dropped so a previous version must be downloaded
Freedom Planet Chowdren/SDL2 ???
Hyper Light Drifter GM:S ???
Hollow Knight Unity ??? Audio not supported
Jazzpunk Unity ???
Limbo SDL2 ??? Needs Time tracking > Main thread > SDL_GetPerformanceCounter() to prevent a softlock at startup
Mari0 LÖVE/SDL2 n/a
Metal Slug SDL2 ???
Momodora: Reverie Under the Moonlight GM:S Yes
Minit GM:S Yes
Osmos ??? ??? Needs Time tracking > Main thread > gettimeofday() to prevent softlocks
Owlboy FNA/SDL2 ???
Risk of Rain GM:S Yes
Shovel Knight SDL2 ???
SteamWorld Dig None ??? Needs Time tracking > Main thread > clock_gettime() to prevent a softlock at startup
SteamWorld Dig 2 SDL2 ??? Needs Time tracking > Main thread > SDL_GetPerformanceCounter() to prevent a softlock at startup, variable loading times
Spacechem Tao/SDL2 ??? Savestates crash
Super Hexagon SDL2 ???
Super Meat Boy SDL2 ???
Teslagrad Unity ???
The End Is Nigh SDL2 ??? Variable splash screen time
TowerFall Ascension FNA/SDL2 ???
Undertale GM:S ???
Volgarr SDL2 ??? Needs -vsync=2 to get consistant startup. Variable loading time between levels, removed by a game setting
VVVVVV SDL2 ??? fps is 1000/34, letterbox mode forces 320x240 because logical size is not supported
Wonder Boy: The Dragon's Trap SDL2 Yes
Game Framework Steam Comments
1001 Spikes ??? No Connects to Steam somehow, then libTAS is not preloaded. No DRM-free version
Antichamber Unreal Engine ??? Crash at startup
Bastion FNA ??? Softlock at splashscreen
Enter the Gungeon Unity Yes Prompts the game window then crash. Spawns more than 30 threads!
Faster Than Light ??? ??? Crash at startup. ALSA function not hooked
Guacamelee SDL2 ??? Softlock at splashscreen
Hotline Miami Qt5 ??? Instable. Common freezes, relies entirely on time hack, rendering thread is not main thread (thanks Qt...)!
Iconoclasts Chowdren/SDL2 Yes SDL2 lib is bundle inside the game binary, so SDL functions cannot be hooked
La-Mulana Remake SDL2 ??? Only run with Uncontrolled time and Native events. At least three different threads render on screen (wtf)
Papers Please OpenFL ??? Softlocks at startup. Uses SDL Timer which is not supported
Rogue Legacy FNA/SDL2 ??? Crash at startup. Crash at audio buffer init
Steredenn Unity Yes Prompts the game window then crash. Spawns more than 30 threads!

Combined RSS Feed
EmulatorResources/libTAS/GameCompatibility last edited by feos on 2018-09-12 18:12:06
Page info and history | Latest diff | List referrers | View Source