# libTAS

> Linux software for creating tool-assisted speedruns

**Wikidata**: [Q113519247](https://www.wikidata.org/wiki/Q113519247)  
**Source**: https://4ort.xyz/entity/libtas

## Summary

libTAS is a free and open-source software tool designed for creating tool-assisted speedruns (TAS) on Linux operating systems. It enables users to record, manipulate, and replay game inputs with frame-perfect precision, allowing for the creation of optimized gameplay recordings. The software is developed by Clément Gallet and hosted on GitHub under a free software license.

## Key Facts

- **Purpose**: Software for creating tool-assisted speedruns on Linux
- **License**: Free software (copyleft license)
- **Operating System**: Linux (Unix-like operating systems)
- **Source Repository**: https://github.com/clementgallet/libTAS
- **Official Website**: https://clementgallet.github.io/libTAS/
- **Initial Release (v1.0.0)**: February 9, 2018
- **Latest Documented Version (v1.3.5)**: November 26, 2019
- **Programming Language**: C++ (Q2407)
- **AUR Package**: libtas (available for Arch Linux users)
- **Copyright Status**: Copyrighted (as free software)

## FAQs

### Q: What does libTAS stand for and what does it do?
A: libTAS stands for "Library for Tool-Assisted Speedruns." It intercepts game calls to system libraries to control timing, inputs, and recording, allowing users to create frame-perfect gameplay manipulations on Linux.

### Q: Is libTAS free to use?
A: Yes, libTAS is free software distributed under terms that allow users to freely run, study, modify, and distribute it and modified versions, while remaining copyrighted.

### Q: What operating systems does libTAS support?
A: libTAS is designed specifically for Linux, a family of Unix-like operating systems. It does not natively support Windows or macOS.

### Q: Where can I download libTAS?
A: libTAS can be downloaded from its GitHub releases page at https://github.com/clementgallet/libTAS, or installed via the Arch User Repository (AUR) as the "libtas" package.

## Why It Matters

libTAS fills a significant gap in the tool-assisted speedrun community by providing a native Linux solution for creating TAS recordings. Prior to libTAS, most TAS tools were developed primarily for Windows or console emulators, leaving Linux users with limited options for participating in TAS creation. By leveraging the open-source nature of Linux and intercepting system library calls, libTAS enables frame-precise input recording and playback for native Linux games and applications.

The software's development represents an important step toward cross-platform accessibility in the speedrunning community. As game development increasingly embraces Linux as a target platform—particularly through platforms like Steam and tools like Proton—having native TAS capabilities becomes essential for researchers, speedrunners, and content creators who prefer Linux environments. libTAS allows users to create entertainment content, analyze game mechanics at frame-level granularity, and discover programming exploits or glitches that would be impossible to execute in real-time gameplay.

The project's active development cycle from 2018 through 2019, with ten version releases, demonstrates sustained commitment to improving functionality and addressing user needs within the TAS community.

## Notable For

- **First native Linux TAS solution**: Pioneered tool-assisted speedrun creation specifically for the Linux platform
- **Free and open-source**: Fully accessible source code allowing community contributions and modifications under free software principles
- **Active development history**: Released ten documented versions between February 2018 and November 2019
- **Native library interception approach**: Works by hooking into system libraries rather than emulating hardware, enabling TAS for native Linux applications
- **Community integration**: Maintains a Discord server (ID: 726811446498820198) for user support and collaboration

## Body

### Development History

libTAS was publicly released as version 1.0.0 on February 9, 2018, by developer Clément Gallet. The project underwent rapid development throughout 2018 and 2019:

**2018 Releases:**
- v1.0.0 (February 9, 2018): Initial stable release
- v1.1.0 (February 25, 2018): Feature update released 16 days after initial launch
- v1.1.1 (March 25, 2018): Maintenance release
- v1.2.0 (May 28, 2018): Major feature addition
- v1.3.0 (July 30, 2018): Significant update
- v1.3.1 (August 30, 2018): Minor update
- v1.3.2 (November 16, 2018): Refinement release

**2019 Releases:**
- v1.3.3 (February 10, 2019)
- v1.3.4 (April 10, 2019)
- v1.3.5 (November 26, 2019): Last documented version in provided sources

### Technical Architecture

libTAS is written in C++ and operates by preload-hooking system libraries that games use for input, timing, and video output. This approach allows it to:
- Control game timing at the frame level
- Record and replay precise input sequences
- Provide deterministic execution for reproducible results

The software is classified as "free software," meaning it respects user freedoms to run, study, change, and distribute the program. Despite being free software, it maintains copyrighted status, consistent with standard free and open-source licensing models.

### Distribution and Availability

libTAS is available through multiple channels:
- **GitHub Repository**: Primary source code hosting at https://github.com/clementgallet/libTAS
- **Official Website**: Documentation and guides at https://clementgallet.github.io/libTAS/
- **Arch User Repository (AUR)**: Package name "libtas" for Arch Linux distribution
- **Repology**: Tracked under project name "libtas" for cross-distribution package monitoring

### Community Resources

The project maintains an active Discord community server (numeric ID: 726811446498820198, invite code: 3MBVAzU) for user support, collaboration, and development discussions. All reference materials and documentation are available in English.

## References

1. [README](https://github.com/clementgallet/libTAS#license)
2. [Release 1.0.0. 2018](https://github.com/clementgallet/libTAS/releases/tag/v1.0.0)
3. [Release 1.1.0. 2018](https://github.com/clementgallet/libTAS/releases/tag/v1.1.0)
4. [Release 1.1.1. 2018](https://github.com/clementgallet/libTAS/releases/tag/v1.1.1)
5. [Release 1.2.0. 2018](https://github.com/clementgallet/libTAS/releases/tag/v1.2.0)
6. [Release 1.3.0. 2018](https://github.com/clementgallet/libTAS/releases/tag/v1.3.0)
7. [Release 1.3.1. 2018](https://github.com/clementgallet/libTAS/releases/tag/v1.3.1)
8. [Release 1.3.2. 2018](https://github.com/clementgallet/libTAS/releases/tag/v1.3.2)
9. [Release 1.3.3. 2019](https://github.com/clementgallet/libTAS/releases/tag/v1.3.3)
10. [Release 1.3.4. 2019](https://github.com/clementgallet/libTAS/releases/tag/v1.3.4)
11. [Release 1.3.5. 2019](https://github.com/clementgallet/libTAS/releases/tag/v1.3.5)
12. [Release 1.4.0. 2020](https://github.com/clementgallet/libTAS/releases/tag/v1.4.0)
13. [Release 1.4.1. 2021](https://github.com/clementgallet/libTAS/releases/tag/v1.4.1)
14. [Release 1.4.2. 2021](https://github.com/clementgallet/libTAS/releases/tag/v1.4.2)
15. [Release 1.4.3. 2022](https://github.com/clementgallet/libTAS/releases/tag/v1.4.3)
16. [Release 1.4.4. 2022](https://github.com/clementgallet/libTAS/releases/tag/v1.4.4)
17. [Release 1.4.5. 2023](https://github.com/clementgallet/libTAS/releases/tag/v1.4.5)
18. [Release 1.4.6. 2024](https://github.com/clementgallet/libTAS/releases/tag/v1.4.6)
19. [Release 1.4.7. 2025](https://github.com/clementgallet/libTAS/releases/tag/v1.4.7)
20. [README](https://github.com/clementgallet/libTAS)