Table of contents
libTAS is a Linux software program that provides TAS tools such as frame advance, inputs recording, and savestates for games and applications. It is not a Linux emulator as games are running natively on the user system, but it creates an intermediate layer between the game and the operating system, feeding the game with altered data (such as inputs, system time). We can call such tool an API translation layer (dwangoAC prefers the term "rerecording framework" to describe these kinds of tools). libTAS tries to make the game run deterministically, although issues may still arise when dealing with multithreaded games. libTAS connects to an external program to provide a graphical interface to the user, with tools such as input editor or RAM watch/search.
Repository
- You can download the latest version from the libTAS releases page.
- Installation and compilation instructions can be found on the main repository page.
- libTAS documentation can be found on the Official documentation page.
Documentation and Help
On GitHub:
On TASVideos:
Movie submissions
When you submit a libTAS movie to TASVideos, the following rules apply.
Use stable versioned releases
Only use stable releases of games, Linux distributions, dependencies, and libTAS itself. Install everything from versioned packages to prevent issues with dependencies. You are allowed to use any distro you want, however your run must sync on one of the following distros:
- CentOS
- Debian
- Fedora
- Mint
- OpenSuSE
- Ubuntu and its derivatives (Kubuntu, Lubuntu, Linux Mint, etc)
Allowed Architectures:
- i386 / i486 / i586 / i686 / x86-32
- AMD64 / x86-64
Document sync requirements
We want common and easy configuration steps to simplify the submission and verification process for libTAS movies. You must provide the full installation instructions required for your submission, including your distro and kernel versions, the required dependencies for your game, and any installation steps needed for them.
- Example:
Debian Stretch AMD64, Linux 4.15.0-1-amd64
- Execute this command in the terminal to get the OS information:
uname -a && lsb_release -a
If any libTAS settings were changed, these changes must be documented as well. This should be written in the movie annotations or in the submission description. Providing links for everything is also highly recommended.
Avoid stray save data
If you've played the game outside libTAS, it may leave config or in-game save files on the disk. While editing config before starting the movie is okay, stray save data can mess up your run's startup state and break movie sync for other people.
The libTAS option Runtime -> Prevent Writing to Disk (enabled by default) is meant to protect the user from accidentally editing or creating files that affect movie sync, so only uncheck it with caution.
- If your movie is going to contain a machine reboot using libTAS's Restart input, files will still be written to disk, even if you have Prevent writing to disk enabled.
Emulators in libTAS
We allow libTAS submissions running several approved emulators:
MAME
Submissions using MAME for Arcades and some other machines are allowed: Please see our MAME page for details on how to use it with libTAS.
Neko Project II
We allow PC-98 game submissions using Neko Project II kai. For guidelines and instructions on how to use it with libTAS, please see our Neko Project 2 page.
PCem
Submissions using PCem for DOS or Windows games are allowed: Please see our PCem page for details on how to use it with libTAS.
PICO-8
PICO-8 submissions are allowed: Please see our PICO-8 page for details on how to use it with libTAS.
Ruffle
We allow Flash game submissions using Ruffle. For guidelines and instructions on how to use it with libTAS, please see our Ruffle page.