View Page Source

Back to Page
Revision 30 (current)
Edited by dwangoAC on 8/19/2024 8:35 PM
%%TOC%%

[https://files.tasvideos.org/2095/pics/libTAS.png]%%%
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 ([user: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 [https://github.com/clementgallet/libTAS/releases|libTAS releases page].
* Installation and compilation instructions can be found on the main [https://github.com/clementgallet/libTAS|repository page].
* libTAS documentation can be found on the [http://clementgallet.github.io/libTAS/help/|Official documentation page].

!!! Documentation and Help

On GitHub:
* https://clementgallet.github.io/libTAS/help/

On TASVideos:
* [EmulatorResources/libTAS/Usage|Usage]
* [EmulatorResources/libTAS/MenuOptions|Menu Options]
* [EmulatorResources/libTAS/GameCompatibility|Game Compatibility]
* [EmulatorResources/libTAS/LTMFormat|Movie File Format]
* [EmulatorResources/libTAS/FAQ|FAQ]

!!! 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 [EmulatorResources/MAME|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 [/EmulatorResources/NekoProject2|Neko Project 2 page].

! PCem

Submissions using PCem for __DOS__ or __Windows__ games are allowed: Please see our [EmulatorResources/PCem|PCem page] for details on how to use it with libTAS.

! PICO-8

__PICO-8__ submissions are allowed: Please see our [EmulatorResources/PICO8|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 [EmulatorResources/Ruffle|Ruffle page].