# sdl12-compat

> software library and compatibility layer for using SDL 2.0 for programs written against SDL 1.2

**Wikidata**: [Q122552066](https://www.wikidata.org/wiki/Q122552066)  
**Source**: https://4ort.xyz/entity/sdl12-compat

## Summary
sdl12-compat is a software library and compatibility layer designed to allow programs written against the SDL 1.2 API to run using the SDL 2.0 framework. It serves as a bridge for legacy software, enabling cross-platform operation without rewriting the original code. The library is free software released under the zlib License.

## Key Facts
- **Entity Type:** Software library, compatibility layer, and free software.
- **Primary Function:** Provides a compatibility layer that maps SDL 1.2 API calls to SDL 2.0 functionality.
- **License:** zlib License.
- **Operating System:** Cross-platform.
- **Source Repository:** [https://github.com/libsdl-org/sdl12-compat](https://github.com/libsdl-org/sdl12-compat)
- **Latest Stable Version:** 1.2.72 (released December 2, 2025).
- **Package Availability:** Available in Fedora (`sdl12-compat`), Ubuntu (`libsdl1.2-compat`), Debian (`sdl12-compat`), openSUSE (`sdl12_compat`), Arch User Repository (`sdl12-compat-git`), and Homebrew (`sdl12-compat`).

## FAQs
### Q: What is the purpose of sdl12-compat?
A: It allows developers and users to run software originally written for the Simple DirectMedia Layer (SDL) 1.2 library on systems using the newer SDL 2.0 library. This ensures older games and applications remain functional without code rewrites.

### Q: Is sdl12-compat free to use?
A: Yes, it is classified as free software distributed under the zlib License, which allows users to freely run, study, change, and distribute it.

### Q: Where can sdl12-compat be installed?
A: It is cross-platform and available through various package managers, including Fedora, Ubuntu, Debian, openSUSE, Arch Linux, and Homebrew.

## Why It Matters
sdl12-compat is a critical tool for software preservation and backward compatibility in the open-source ecosystem. As the SDL library evolved from version 1.2 to 2.0, significant API changes threatened to render legacy software—particularly games and multimedia applications—obsolete or difficult to maintain.

By providing a compatibility layer, sdl12-compat solves the problem of running legacy binaries on modern systems that may no longer natively support SDL 1.2. It bridges the gap between the two major versions of the SDL standard, allowing users to benefit from the performance and features of SDL 2.0 (such as better hardware acceleration) while maintaining the ability to run older software. Its wide availability across major Linux distributions and package managers highlights its importance as a standard utility for maintaining the longevity of the SDL software ecosystem.

## Notable For
- **Backward Compatibility:** Uniquely bridges the gap between SDL 1.2 applications and the SDL 2.0 runtime.
- **License:** Distributed under the permissive zlib License, facilitating wide adoption and modification.
- **Broad Distribution:** Natively packaged for major Linux distributions (Fedora, Ubuntu, Debian, openSUSE) and macOS (Homebrew).
- **Active Maintenance:** As of late 2025, the project continues to receive stable updates (e.g., version 1.2.72), indicating ongoing support.

## Body

### Technical Functionality
sdl12-compat acts as a software library that implements the SDL 1.2 API. Unlike a wrapper that translates calls at runtime, it is designed to be binary compatible. When a program looks for the SDL 1.2 library, sdl12-compat can stand in its place, translating the calls internally to utilize SDL 2.0 features. This approach allows legacy programs to utilize modern graphics drivers and hardware acceleration provided by SDL 2.0.

### Version History
The project maintains a steady release schedule, with versions tracked in its GitHub repository. Key releases include:
- **1.2.52:** Released March 3, 2022.
- **1.2.56:** Released September 16, 2022.
- **1.2.60:** Released October 24, 2022.
- **1.2.64:** Released May 26, 2023.
- **1.2.68:** Released September 26, 2023.
- **1.2.70:** Released October 30, 2025.
- **1.2.72:** The current stable version, released December 2, 2025.

### Distribution and Installation
The library is widely supported across different computing platforms, reflected in its diverse package names:
- **Debian/Ubuntu:** `libsdl1.2-compat` (Ubuntu), `sdl12-compat` (Debian source).
- **Fedora/openSUSE:** `sdl12-compat` (Fedora), `sdl12_compat` (openSUSE).
- **Arch Linux:** Available in the AUR as `sdl12-compat-git` and `lib32-sdl12-compat-git` for 32-bit support.
- **macOS:** Available via Homebrew as `sdl12-compat`.

The source code is hosted on GitHub under the organization `libsdl-org`. The project is identified as copyrighted free software.

## References

1. [Source](https://github.com/libsdl-org/sdl12-compat/blob/main/LICENSE.txt)
2. [Release 1.2.52. 2022](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.52)
3. [Release 1.2.56. 2022](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.56)
4. [Release 1.2.60. 2022](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.60)
5. [Release 1.2.64. 2023](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.64)
6. [Release 1.2.68. 2023](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.68)
7. [Release 1.2.70. 2025](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.70)
8. [Release 1.2.72. 2025](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.72)
9. [Release 1.2.74. 2026](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.74)
10. [Release 1.2.76. 2026](https://github.com/libsdl-org/sdl12-compat/releases/tag/release-1.2.76)