AROS Research Operating System
The AROS Research Operating System (AROS) is a free and open-source, lightweight, efficient, and flexible desktop operating system that implements API-level compatibility with AmigaOS 3.1, while being designed for portability across multiple hardware architectures such as x86, PowerPC, ARM, and others.[1][2] AROS originated in the mid-1990s amid concerns over the future of the Amiga platform following Commodore's mismanagement and the company's liquidation in 1994, which prompted Amiga enthusiasts to initiate projects aimed at preserving and modernizing the AmigaOS ecosystem.[1] In 1993, early discussions focused on fixing bugs and updating AmigaOS, evolving into the AOS project, but formal development of AROS began in winter 1995 after Aaron Digulla issued a request for comments (RFC) to create a compatible, open-source alternative.[1] Initially named Amiga Research Operating System, the project adopted the recursive acronym AROS in 2007 to avoid trademark conflicts with the Amiga name.[3] The primary goals of AROS include achieving maximum binary compatibility on Amiga hardware where feasible, source-level compatibility on other platforms, and the ability to run either as a native OS or hosted on existing operating systems like Linux or Windows.[1] It seeks to enhance AmigaOS functionality with modern improvements, such as support for wide-character and multibyte strings, optimizations for SSE and AVX instructions, and integration of subsystems like the AHI audio system and Poseidon USB stack.[1][4] Key features encompass a modular design with datatypes for handling image formats (e.g., TIFF, AVIF), portable graphics libraries, and community-contributed ports like SDL2 for broader application support.[2] As of 2025, AROS remains an actively developed project under the Apache License 2.0 (with some components under GPL-2.0 and LGPL-2.1), with ongoing nightly builds for various architectures and toolchains, including GCC and LLVM.[4] The development team maintains repositories on GitHub and SourceForge, encouraging contributions, and provides stable distributions alongside experimental live USB images for easy testing on modern PCs.[4][3] While still considered alpha- or beta-quality in some areas, recent updates have focused on stability, EFI booting, and hardware compatibility, sustaining its niche as a bridge between legacy Amiga software and contemporary computing.[2][5]History
Origins and Early Development
The AROS project originated in the mid-1990s amid the declining support for the Amiga platform following Commodore's bankruptcy in 1994, as enthusiasts sought to modernize and preserve its operating system legacy. In the winter of 1995, Aaron Digulla, frustrated by the fragmented efforts of the earlier AOS (AmigaOS replacement) community and the lack of progress toward a unified, forward-looking OS, posted a request for comments on the AOS mailing list to identify minimal common goals for a new implementation. This initiative stemmed from a desire to create a lightweight, portable operating system that could replicate the efficiency and user-friendliness of AmigaOS 3.1 while addressing its hardware dependencies and limitations, serving as a brief reference to the target compatibility baseline.[6][7] Digulla founded the project as a hobby endeavor, initially naming it the Amiga Research Operating System (AROS), with the goal of reimplementing AmigaOS APIs from scratch in the C programming language to ensure cross-platform portability across architectures such as x86, PowerPC, Alpha, Sparc, and HPPA. The focus was on achieving binary compatibility at the API level without relying on proprietary Amiga hardware or source code, enabling the OS to run on commodity PCs and other non-Amiga systems. Early development emphasized modularity and openness, attracting a small group of volunteer developers who contributed to core libraries like exec, dos, and intuition through reverse engineering due to the absence of official AmigaOS documentation from Commodore or its successors.[6][7] Key challenges in the initial years included the scarcity of verifiable AmigaOS internals, necessitating extensive reverse engineering of binaries and disassembly of executables to reconstruct APIs accurately, which slowed progress and led to ongoing debates within the community about design priorities. Despite these hurdles, the project gained traction as a proof-of-concept for a free, Amiga-inspired OS. In 2007, amid legal concerns over the "Amiga" trademark held by Amiga, Inc., the name was officially changed to AROS Research Operating System to avoid potential disputes while retaining the recursive acronym. A significant milestone came in 2004 with the release of the first bootable version on x86 hardware, marking the transition from hosted prototypes to a standalone system capable of independent operation.[6][8][7]Key Milestones and Releases
The AROS project originated in 1995 with the goal of developing a portable, open-source reimplementation of the AmigaOS application programming interface.[2] Key releases began with the introduction of nightly builds in 2004, which provided developers and testers with daily compilations of the latest code changes from the source repository, enabling rapid iteration and feedback on the system's evolving components. In 1996, the first hosted version for Linux was made available, allowing AROS to run as an application within a Linux environment, which facilitated cross-platform development and testing without requiring dedicated hardware.[9] Networking capabilities advanced significantly with the integration of a TCP/IP stack ported from AmiTCP, enabling basic internet connectivity for AROS systems, including support for protocols like BSD sockets. This laid the groundwork for applications requiring network access, such as web browsers and file transfers. By 2013, ABIv0 was released as a stable application binary interface, serving as a foundational layer for compiling and running Amiga-compatible applications on x86 architectures while maintaining backward compatibility.[3] Hardware support expanded in 2015 with the addition of USB functionality through the Poseidon stack, integrated via libusb for Linux-hosted environments, allowing access to USB storage devices and peripherals like mice and keyboards.[10] A major technical achievement came in May 2017, when developers announced near-complete implementation of the AmigaOS 3.1 API, covering most libraries and executive functions with only minor gaps remaining, significantly enhancing compatibility for legacy Amiga software.[2]Recent Developments
In 2023 and 2024, the AROS development team focused on stabilizing the system through extensive bug fixes, enhancing multimedia capabilities with support for modern image formats such as AVIF and HEIC via updates to the heic.datatype, and improving boot mechanisms including EFI support for better compatibility with contemporary hardware.[2][11] These efforts addressed longstanding issues in rendering, file systems, and portability, laying groundwork for future architectural transitions while maintaining compatibility with AmigaOS 3.1 APIs, whose core completion dates back to 2017.[12] A major milestone arrived in April 2025 with the release of the first stable bootable 64-bit AROS ISO, marking the culmination of years of development to extend the operating system's architecture beyond 32-bit limitations and enable support for larger memory addressing and modern x86-64 processors.[13] This ISO provided a foundational platform for testing and deployment, demonstrating reliable booting on x86 hardware without requiring installation.[14] Building on this, May 2025 saw the rollout of the first full 64-bit distribution, featuring USB-bootable live versions optimized for x86 systems, which allowed users to run AROS directly from removable media for evaluation and temporary use.[15][5] These distributions emphasized ease of access, preserving the lightweight nature of AROS while introducing 64-bit enhancements for improved performance in resource-intensive applications. By August 2025, further refinements included updates to the Software Development Kit (SDK) and U1.B packages, incorporating fixes accumulated over preceding months to bolster system stability and developer tools.[16] Concurrently, advancements in porting efforts enabled the successful adaptation of SDL2, facilitating the launch of an updated Doom 3 port and initiating broader conversions of 32-bit programs to 64-bit compatibility.[16][17] Ongoing development continued into late 2025 with further stability improvements and community contributions. These developments underscore AROS's ongoing evolution toward a more robust, future-proof operating system.Development Process
Team and Community
The development of AROS is driven by a small core team of active developers, primarily volunteers drawn from the longstanding Amiga enthusiast community. These individuals contribute on a part-time basis, focusing on maintaining compatibility with AmigaOS 3.1 while expanding portability across modern hardware. Key current maintainers include Nick Andrews (known as Kalamatee) and Matthias Rustler, who handle core repository management and integration of community-submitted changes.[18] Early leadership of the project traces back to founders such as Aaron Digulla and Adam Chodorowski, who initiated AROS in the late 1990s as a hobbyist effort to recreate AmigaOS functionality in an open-source framework.[19] Over time, the project has seen transitions to a more distributed model, with current stewardship falling to a loose group of maintainers including the pseudonymous deadwood2, who leads efforts on 64-bit branches and ABI stability.[20] This evolution reflects the volunteer-driven nature of AROS, where no formal corporate structure exists, and decisions are made collaboratively through mailing lists and code reviews. The broader AROS community plays a vital role in sustaining the project, with hundreds of occasional contributors submitting bug reports, ports to new architectures, and enhancements via platforms like SourceForge and GitHub.[4] For instance, recent contributions have included SDL2 porting by Nick Andrews and language support additions like Basque catalogs by Javier Alaguero.[2] Community engagement occurs primarily through dedicated forums on AROS-World, which host discussions on development threads with thousands of views, and a Discord server for real-time collaboration.[21] These venues foster involvement from Amiga veterans and new programmers, emphasizing ports to platforms like x86-64 and m68k. AROS maintains an open-source licensing model under the AROS Public License, which encourages widespread participation while protecting the project's Amiga-inspired heritage. Development follows a steady cadence, with automated nightly builds generated at 00:00 UTC daily—available for testing on the official download site, including versions as recent as November 2025—and periodic stable releases tied to major milestones, such as ABIv0 updates every few months.[4][22] This rhythm ensures rapid iteration on volunteer-submitted work while prioritizing stability for end-users.Licensing and Tools
AROS is licensed under the AROS Public License (APL) version 1.1, a permissive open-source license derived from the Mozilla Public License (MPL) 1.1.[23] This license grants users worldwide, royalty-free rights to use, reproduce, modify, and distribute the software, while permitting the creation of proprietary derivative works as long as they do not modify the original AROS source code directly.[23] However, any modifications to AROS itself must be made available under the same APL terms, ensuring source code availability for distributed changes and promoting collaborative development without imposing full copyleft restrictions on linked applications.[23] The development of AROS relies on established open-source build tools, with GNU Compiler Collection (GCC) serving as the primary compiler, updated to version 15 in 2025 through applied patches that enable compatibility with modern C and C++ standards.[24] Clang, part of the LLVM project, is also supported, with approximately 90% of the AROS core compiling successfully using versions up to 20.1.0 as of mid-2025, providing an alternative for developers seeking improved diagnostics and optimization options.[4] Cross-compilation is a core capability, facilitated by these toolchains to target multiple architectures including x86, x86-64, ARM, PowerPC, and m68k, allowing builds from host systems like Linux, macOS, or Windows without native AROS execution.[4] In 2025, the AROS Software Development Kit (SDK) received significant updates to support 64-bit development, including the U1.B package release in August for the base system version 20250418-1, which incorporates fixes for stability, libraries, and toolchain integration over preceding months. These packages enhance 64-bit compatibility, enabling developers to target x86-64 architectures with updated headers, libraries, and examples for AmigaOS API implementation.[16] Version control for AROS has transitioned primarily to GitHub since the early 2020s, hosting the main development repository for core components, SDK, and build systems, where contributors submit patches and track progress through issues and pull requests.[4]Design and Architecture
Core Principles
The AROS Research Operating System is designed with the primary goal of achieving source-level compatibility with AmigaOS 3.1 applications, enabling them to run natively without the need for emulation or binary translation layers.[25] This approach mirrors the strategy of projects like Wine for Windows software, prioritizing API-level fidelity to allow developers to recompile AmigaOS code directly for AROS while preserving the original system's behavior and performance characteristics.[25] A key principle guiding AROS is its emphasis on lightweight and efficient resource utilization, distinguishing it from more resource-intensive modern operating systems. By minimizing overhead in memory and CPU demands, AROS aims to deliver a responsive desktop environment suitable for a wide range of hardware, including low-power devices.[26] This efficiency stems from a streamlined architecture that avoids unnecessary abstractions, allowing users to maximize hardware potential without the bloat common in contemporary OSes.[26] The system's modular design facilitates easy porting across diverse CPU architectures, such as x86, ARM, and PowerPC, by abstracting hardware-specific dependencies into interchangeable components. This modularity enables developers to adapt AROS to new platforms with minimal reconfiguration, promoting longevity and adaptability in an evolving hardware landscape.[25] Originating as a research project to create a portable clone of AmigaOS, AROS adheres to a philosophy centered on reimplementing core APIs rather than introducing radical innovations beyond the AmigaOS paradigm. This research-oriented focus encourages community-driven improvements while maintaining strict adherence to established interfaces for compatibility.[26]Kernel and Components
The Exec library forms the core of the AROS kernel, functioning in a microkernel-like modular structure that oversees tasks, processes, and interrupts while reimplementing the AmigaOS 3.x Exec APIs for compatibility.[27] It provides essential services such as preemptive multitasking via priority-based time slicing, memory allocation through functions likeAllocMem and FreeMem, and inter-process communication using signals (with 32 bits per task, 16 reserved for system use) and semaphores for synchronization.[27] Interrupt handling is managed via struct Interrupt entities, supporting both hardware and software interrupts with custom handler code, ensuring efficient dispatching and sharing across the system.[27]
AROS's kernel architecture emphasizes modularity, dividing into a Board Support Package (BSP) for hardware-specific kernel elements like Exec and drivers, a Strap layer for bootstrapping and initial filesystem access, and a machine-independent Base layer for core modules, which enhances portability across architectures such as x86 and ARM.[27] Processes are primarily coordinated through the DOS library integration, where tasks can attach to message ports for IPC, building on Exec's foundational task management. This design maintains AmigaOS compatibility by preserving low-level vector offsets (LVOs) and struct packing conventions, such as m68k-compatible alignment.[27]
Major subsystems complement the Exec kernel, including intuition.library for GUI development, which handles window creation, event processing via IDCMP messages, and interaction with underlying layers for clipping and rendering. dos.library manages file systems, supporting operations like directory traversal, I/O redirection, and process execution through CLI commands and handlers for various volume types. graphics.library oversees display primitives, enabling pixel plotting, line drawing, color mapping, and area fills to support visual output on diverse hardware.
To promote long-term stability, AROS adopted ABIv0 in 2013 as its primary application binary interface for 32-bit environments, ensuring consistent executable formats and thread-safe memory operations like malloc and free protected by semaphores.[11] In 2025, kernel enhancements introduced 64-bit extensions, including support for x86-64 addressing modes and long-mode operation, alongside ABIv11 for native 64-bit applications, enabling better resource utilization on modern processors.[13][15]