Asahi Linux is a
porting
In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally des ...
project to develop support for
Linux on Apple hardware, specifically
Apple silicon
Apple silicon is a series of system on a chip (SoC) and system in a package (SiP) processors designed by Apple Inc., mainly using the ARM architecture. It is the basis of most new Mac computers as well as iPhone, iPad, iPod Touch, Apple ...
-powered
Macs, allowing them to run alternative
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s in addition to
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
. The software design project was started and is led by
Hector Martin. Work began in early 2021, a few months after Apple
formally announced the transition to Apple silicon. An initial alpha release followed in 2022. The project has been made challenging by the lack of publicly available documentation of Apple's proprietary
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
.
[
]
History
Shortly after Apple announced their transition away from Intel x86 processors in late 2020, Linux creator Linus Torvalds
Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and, historically, the lead developer of the Linux kernel, used by Linux distributions and other operating systems such as Android. He also ...
expressed interest in Linux support for the Apple M1
Apple M1 is a series of ARM architecture, ARM-based system-on-a-chip, systems-on-a-chip (SoCs) Apple silicon, designed by Apple Inc. as a central processing unit (CPU) and graphics processing unit (GPU) for its Mac (computer), Mac desktop compu ...
Mac, but thought that the work to make this happen was too time-consuming for him to personally take on the necessary software development tasks.
Martin announced the project in December 2020 and formally started work a month later, after securing crowd-sourced funding. Alyssa Rosenzweig
Alyssa Rosenzweig is a Programmer, software developer and Free software movement, software freedom activist known for her work on free and open-source graphics device driver, free software graphics drivers.
Education
Rosenzweig attended Doughe ...
, who developed the open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
graphics driver stack Panfrost, joined the project to help support the Apple silicon graphics processing unit
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mo ...
(GPU).
The developers quickly realised that just attempting to boot the Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
compiled for Apple silicon's processor architecture (AArch64
AArch64 or ARM64 is the 64-bit extension of the ARM architecture family.
It was first introduced with the Armv8-A architecture. Arm releases a new extension every year.
ARMv8.x and ARMv9.x extensions and features
Announced in October 2011, ...
) would be challenging, as it involved working out the functionality of proprietary Apple code used in the boot process. The work was time-consuming and took most of the year, including submitting pull request
In software development, distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centr ...
s to the main Linux kernel developers to keep development in sync and avoid regressions. However, it subsequently led to a thorough and comprehensive explanation of the previously undocumented boot process, which Martin and others published on GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
.
The project released an experimental alpha version of the Asahi Linux installer on March 18, 2022. The installer offers the choice of an Arch Linux ARM
Arch Linux ARM is a port of Arch Linux for ARM processors. Its design philosophy is "simplicity and full control to the end user," and like its parent operating system Arch Linux, aims to be very Unix-like. This goal of minimalism and complete u ...
-based desktop or minimal environment, or a basic UEFI
UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples ...
environment for installing OpenBSD
OpenBSD is a security-focused operating system, security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking N ...
or alternate Linux distributions with support for Apple silicon via a bootable USB drive. Despite being able to launch a UEFI shell, booting Microsoft Windows is not supported, and there are no plans to do so, as it would involve modifying the proprietary Windows kernel.
Full support for all Apple silicon-supported Macs is not expected for another year or two following the first alpha release
A software release life cycle is the sum of the stages of development and maturity for a piece of computer software ranging from its initial development to its eventual release, and including updated versions of the released version to help impro ...
.[ In July 2022, the Asahi Linux team released an update with support for the M1 Ultra, ]Mac Studio
Mac Studio is a small-form-factor workstation designed, manufactured, and sold by Apple Inc. It is one of four desktop computers in the Mac lineup, sitting above the consumer-range Mac Mini and iMac, and positioned below the Mac Pro. It is c ...
, and early initial support for the M2 MacBook Pro.
Support
Asahi Linux is currently considered alpha software
A software release life cycle is the sum of the stages of development and maturity for a piece of computer software ranging from its initial development to its eventual release, and including updated versions of the released version to help impro ...
. It can display a graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
and has early support for graphics acceleration, with initial OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
drivers implemented for all GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mob ...
s across Apple's M-series chips. This has involved creating device driver
In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
s for Apple silicon's proprietary GPU from scratch. HDMI
High-Definition Multimedia Interface (HDMI) is a proprietary audio/video interface for transmitting uncompressed video data and compressed or uncompressed digital audio data from an HDMI-compliant source device, such as a display controll ...
video output is only supported on the Apple silicon Mac mini
Mac Mini (stylized as Mac mini) is a small form factor desktop computer developed and marketed by Apple Inc. , it is positioned between the consumer all-in-one iMac and the professional Mac Studio and Mac Pro as one of four current Mac deskto ...
, and there is no support for Thunderbolt
A thunderbolt or lightning bolt is a symbolic representation of lightning when accompanied by a loud thunderclap. In Indo-European mythology, the thunderbolt was identified with the Proto-Indo-European mythology#Sky Father, 'Sky Father'; this ...
video output on Apple silicon MacBooks.
The Asahi Linux kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine lea ...
has been configured with support for 16 kB pages, which may result in some problems with existing software.
Reception
The project has been well received. A review in ''The Register
''The Register'' is a British technology news website co-founded in 1994 by Mike Magee, John Lettice and Ross Alderson. The online newspaper's masthead sublogo is "''Biting the hand that feeds IT''." Their primary focus is information tech ...
'' said that it ran surprisingly well for alpha software that is still in development. Similarly, a review in ''Ars Technica
''Ars Technica'' is a website covering news and opinions in technology, science, politics, and society, created by Ken Fisher and Jon Stokes in 1998. It publishes news, reviews, and guides on issues such as computer hardware and software, sc ...
'' was impressed by the amount of hardware that was already supported early in the project lifecycle.
See also
* Linux on Apple devices
* Reverse engineering
Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
References
External links
*
Setup video
{{Apple Inc.
Arch-based Linux distributions
ARM Linux distributions
Linux
Platform-specific Linux distributions