===== Current Status ===== Alpha is supported in the main development trees of the Linux kernel, GCC, binutils, glibc, and QEMU, and three distributions produce current Alpha releases. What Alpha lacks is support in the newer parts of the toolchain, above all LLVM, and everything that depends on it. This page summarizes the state of the port as of September 2026. Recent changes are listed in the [[:start#news|News]] on the front page, and work in progress on the [[tasks:todo|To Do]] list. Known problems that affect Linux on Alpha across projects are tracked in [[https://github.com/alphalinux/issues/issues|alphalinux/issues]]; see also [[tasks:bugs|Bugs]]. ==== Processor baseline ==== Since Linux 6.10, released in July 2024, the kernel requires an EV56 (21164A) or later processor, because it needs the byte/word extension (BWX) to make byte and word stores atomic. [(>[[https://git.kernel.org/torvalds/c/a4184174be36|"alpha: drop pre-EV56 support"]], Linux 6.10)] [(>[[https://lwn.net/Articles/973687/|"The first half of the 6.10 merge window"]], LWN.net, 16 May 2024)] Linux 6.9 is the last kernel for the EV4, EV45, and EV5 processors and for the systems that can only use them, among them the Jensen, the Multia, the AlphaStation 200 to 400, and the EB164. The full list is under [[software:operating_systems#linux|Operating Systems]], and the reasoning under [[documentation:porting:byte_word_access|Byte and Word Access]]. Systems sold with EV5 processors that also accept EV56 processors, such as the AlphaStation 500 and 600, still run current kernels once the processor is upgraded. Debian's GCC has also produced EV56 code by default since May 2023, and T2's Alpha images are built for EV56. See [[documentation:toolchains#selecting_a_processor|Selecting a processor]]. ==== Hardware ==== Current kernels include support for every platform that has an EV56 (21164A) or later processor. The [[hardware:systems|Systems]] and [[hardware:motherboards|Motherboards]] tables give the status of each system and board, and [[hardware:other|Other Hardware]] lists the expansion cards known to work. The main caveats are: * **Boot firmware.** Linux boots from the [[software:firmware:srm|SRM console]] with [[software:boot_loaders:aboot|aboot]]. The few supported systems without SRM, the Alpha XL 366 and 433 (XLT), the AlphaPC 164UX (Ruffian), and the AlphaPC 164RX, can boot only through [[software:boot_loaders:milo|MILO]]. Released versions of MILO cannot load kernels from Linux 2.6.23 onward, which contain a ''PT_NOTE'' program header. A fix was made in 2026, but has not yet been reported working on these systems. [(>[[https://github.com/alphalinux/milo/commit/7a6701b734208c4fd36bb628996b32f811f6542a|"boot: skip non-PT_LOAD segments when loading kernel image"]], Matt Turner, MILO, 31 May 2026)] * **Titan, Wildfire, and Marvel.** A generic kernel for the DS15, DS25, ES45, GS80, GS160, GS320, ES47, ES80, or GS1280 must be built with ''CONFIG_ALPHA_LEGACY_START_ADDRESS'' turned off, because a kernel built with it leaves these platforms out. The kernel's ''defconfig'' turns the option on. [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/Kconfig.debug?h=v7.3-rc1|arch/alpha/Kconfig.debug]], Linux 7.3)] [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/alpha/configs/defconfig?h=v7.3-rc1|arch/alpha/configs/defconfig]], Linux 7.3)] See [[documentation:kernel#kernel_start_address|Kernel]]. Debian's kernel, the ''alpha-generic'' flavor that its installer also uses, is built with the option off, [(>[[https://salsa.debian.org/kernel-team/linux/-/blob/debian/7.2/forky/debian/config/alpha/config|debian/config/alpha/config]], Debian linux 7.2.7-1)] [(>[[https://salsa.debian.org/kernel-team/linux/-/blob/debian/7.2/forky/debian/config/alpha/defines.toml|debian/config/alpha/defines.toml]], Debian linux 7.2.7-1)] and so is Gentoo's ''gentoo-kernel'', which takes Debian's configuration. [(>[[https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-kernel/gentoo-kernel/gentoo-kernel-6.18.52.ebuild|gentoo-kernel-6.18.52.ebuild]], gentoo.git)] Gentoo's minimal install CD boots a kernel built with the option by default, and also carries ''gentoo_nolsa'', built without it for these platforms. [(>[[https://gitweb.gentoo.org/proj/releng.git/tree/releases/specs-qemu/alpha/installcd-stage2-minimal.spec|releases/specs-qemu/alpha/installcd-stage2-minimal.spec]], releng.git)] [(>[[https://distfiles.gentoo.org/releases/alpha/autobuilds/20260426T153103Z/|install-alpha-minimal-20260426T153103Z.iso]], distfiles.gentoo.org, 26 Apr 2026)] See [[documentation:installation#distribution_kernels|Installation: Distribution kernels]]. The Wildfire systems (GS80, GS160, and GS320) have not been reported running Linux since the 2.6 series; see [[hardware:systems:wildfire|Wildfire]]. * **Multiprocessor systems** run SMP kernels from SRM. * **Graphics.** ATI Radeon cards with the ''radeon'' kernel modesetting driver are the only graphics cards known to work with current X.Org; see [[hardware:other#graphics|Other Hardware: Graphics]]. [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2016-April.mbox#L636|"Re: Multia state of support"]], Michael Cree, debian-alpha, 3 Apr 2016)] Anyone who can test a current kernel on a system marked "Untested" is asked to report the result to the linux-alpha list; see [[:community|Community]]. ==== Known problems ==== * **Stale TLB entries.** After a copy-on-write fault, the kernel can invalidate the wrong address space context and leave a stale translation in the TLB, which can then corrupt memory. Patches were sent to the linux-alpha list in August 2026, [(>[[https://lore.kernel.org/linux-alpha/20260810193902.3286353-1-linmag7@gmail.com/|Stale TLB translation fixes]], Magnus Lindholm, linux-alpha, 10 Aug 2026)] and are not in Linux 7.3-rc1. * **Memory compaction.** Kernels built with ''CONFIG_COMPACTION'' have shown rare, random memory corruption on Alpha, [(>[[https://github.com/alphalinux/mailing-list-archives/blob/main/debian-alpha-mbox/2024-March.mbox#L119|"Re: imago killed by io_uring?"]], Michael Cree, debian-alpha, 7 Mar 2024)] and Debian's Alpha kernel has been built without it since February 2025. [(>[[https://salsa.debian.org/kernel-team/linux/-/commit/6e2a36a6ade291c5628c4035caa8671408b80f14|"[alpha] Disable CONFIG_COMPACTION to avoid memory corruption"]], John Paul Adrian Glaubitz, Debian linux, 9 Feb 2025)] A kernel configured by hand should leave it off. ==== Core projects ==== ^ Project ^ Status ^ Maintainers ^ | [[documentation:kernel|Linux]] | Mainline, ''arch/alpha''. Status "Odd Fixes": the maintainers accept fixes, but have little time for other work | Richard Henderson, [[user:mattst88|Matt Turner]], [[user:lindholm|Magnus Lindholm]] [(>[[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS?h=v7.3-rc1|MAINTAINERS]], Linux 7.3)] | | [[documentation:toolchains#gcc|GCC]] | Mainline, ''gcc/config/alpha'' | Richard Henderson [(>[[https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=MAINTAINERS|MAINTAINERS]], GCC)] | | binutils | Mainline, including ''gas'', ''ld'', and ''gdb'' | | | glibc | Mainline, ''sysdeps/alpha'' and ''sysdeps/unix/sysv/linux/alpha'' | | | QEMU | Mainline, system and user-mode emulation | Richard Henderson [(>[[https://gitlab.com/qemu-project/qemu/-/blob/v11.1.0/MAINTAINERS|MAINTAINERS]], QEMU 11.1.0)] | | [[software:boot_loaders:aboot|aboot]] | Version 2.0, September 2026 | [[user:mattst88|Matt Turner]] | The main risk to the port is in GCC: its Alpha back end must move to the LRA register allocator to stay in GCC once the old reload pass is removed, and that work is under way. [(>[[https://github.com/alphalinux/issues/issues/3|"GCC alpha backend needs to be switched to LRA"]], alphalinux/issues #3)] Other recent work, such as SECCOMP support in Linux 7.1 and stack protector and IFUNC support in GCC and binutils, is listed in the [[:start#news|News]]. ==== Distributions ==== Three distributions produce current Alpha releases: [[distributions#gentoo|Gentoo]], whose Alpha profiles have been stable since August 2024 although every package is keyworded unstable; [[distributions#debian|Debian]], as an unofficial port in Debian Ports, built for unstable (''sid''); and [[distributions#t2_sde|T2 SDE]], built for EV56. Their install media, and the distributions that supported Alpha in the past, are listed under [[:distributions|Distributions]]. ==== Desktop use ==== A graphical desktop runs on X.Org with a Radeon card (see [[#hardware|Hardware]]), but with fewer programs than on other architectures. Firefox and Chromium are not available. Debian Ports' Alpha archive has packages for the Xfce, MATE, LXQt, and LXDE desktops and for the NetSurf, Dillo, and Epiphany browsers, but none for Firefox, Chromium, or ''rustc''. [(>[[https://deb.debian.org/debian-ports/dists/unstable/main/binary-alpha/|debian-ports unstable binary-alpha Packages]], deb.debian.org, 23 Sep 2026)] Gentoo keywords no graphical web browser or desktop environment for Alpha, only text-mode browsers such as Links, Lynx, w3m, and ELinks, and window managers such as Fluxbox and Window Maker. [(>[[https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client|www-client]], gentoo.git, 22 Sep 2026)] ==== Other operating systems ==== NetBSD and OpenBSD support Alpha in their current releases, and VMS Software Inc. (VSI) sells and supports OpenVMS on Alpha. See [[software:operating_systems|Operating Systems]] for their versions and the history of each. ==== What is missing ==== * **LLVM, and so Clang.** LLVM has had no Alpha back end since 2011, [(>[[https://github.com/llvm/llvm-project/commit/c8338b1b14fa6235d125de36c12f5b3f5c3fbc85|"Remove the Alpha backend."]], llvm-project, 27 Oct 2011)] so there is no Clang for Alpha, and the kernel cannot be built with ''LLVM=1''. Parts of the LLVM project that do not generate code can still support Alpha; the sanitizer runtimes gained Alpha support in 2026. * **Rust.** The Rust compiler generates code through LLVM and has no Alpha target. [(>[[https://doc.rust-lang.org/nightly/rustc/platform-support.html|Platform Support]], The rustc book)] Two projects could provide one through GCC instead: [[https://github.com/rust-lang/rustc_codegen_gcc|rustc_codegen_gcc]], a GCC back end for ''rustc'', where Alpha support is being worked on, [(>[[https://github.com/rust-lang/rustc_codegen_gcc/issues/742|"DEC Alpha support"]], rustc_codegen_gcc issue #742)] and gccrs, the Rust front end in GCC, which is still under development. Software that requires Rust, such as the Python ''cryptography'' package, is therefore unavailable on Alpha or held at an older version. The kernel's Rust support is likewise unavailable. * **musl.** The musl C library has no Alpha port, [(>[[https://git.musl-libc.org/cgit/musl/tree/arch|arch/]], musl)] so Alpine Linux and other musl-based distributions cannot be built for Alpha. glibc is the only C library for Alpha/Linux. * **Go, and other languages with their own code generators.** The Go toolchain and many JIT compilers, such as the JavaScript engines in web browsers, have no Alpha code generator. ''gccgo'' builds Go code on Alpha, but its library is that of Go 1.18, so software that needs a newer Go release does not build with it. [(>[[https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libgo/VERSION|libgo/VERSION]], GCC)] A JIT for PCRE2, through sljit, was added in 2026. * **A vDSO.** Alpha has no vDSO, so time functions are real system calls. See [[documentation:porting:abi|Linux ABI Differences]]. Work under way on some of these, such as a GCC-based Rust compiler, is on the [[tasks:todo|To Do]] list. {{tag>status}}