User Tools

Site Tools


software:emulators

Emulators

Two kinds of emulator are relevant to Alpha: emulators of Alpha systems, which run Alpha operating systems on other hardware, and emulators that run on Alpha, allowing Alpha systems to run software built for x86.

Emulator Emulated system Host License Status Linux guest
QEMU DP264/Clipper (AlphaServer ES40 class), Linux user mode Many GPL Maintained Current distributions
ES40, AXPbox, ES40-Emu AlphaServer ES40 Linux, Windows, macOS GPL v2 AXPbox and ES40-Emu maintained Old distributions only
FreeAXP, Avanti AlphaServer 400 64-bit Windows Freeware; proprietary Sold No
Charon-AXP, Personal Alpha Various; AlphaServer DS10 (Personal Alpha+) Windows Proprietary; freeware Sold; Personal Alpha withdrawn No
AlphaVM Tsunami/Typhoon systems Windows, Linux Proprietary Sold Boots, unsupported
vtAlpha AlphaStation 200 to AlphaServer GS1280 x86 hardware, virtual machines, cloud Proprietary Sold No
SimH, GXemul, DECaxp, MSE Various; incomplete Many Open source Incomplete No
EM86 Linux/x86 programs, on Alpha/Linux Alpha/Linux Proprietary x86 core Discontinued n/a
FX!32 Win32 x86 programs, on Windows NT/Alpha Windows NT/Alpha Proprietary Discontinued n/a

Choosing an emulator

  • Running or developing Alpha/Linux: QEMU's system emulator. It is the only emulator on which current Linux distributions are known to install and run, and Debian uses it to build packages. See QEMU for how to install and boot a distribution.
  • Building or repairing an Alpha/Linux file system from another machine: QEMU's user-mode emulator, qemu-alpha, with binfmt_misc, to run Alpha programs in a chroot. See QEMU: User-mode emulation.
  • Running the real SRM console: AXPbox and ES40-Emu run the firmware from an AlphaServer ES40 ROM image, which QEMU does not. Of Linux distributions, only old ones are known to work on them.
  • OpenVMS or Tru64 UNIX: neither runs under QEMU. Free options are FreeAXP, AlphaVM-Basic, AXPbox, and ES40-Emu; commercial ones are Avanti, Charon-AXP, AlphaVM, and vtAlpha.
  • Windows NT or Windows 2000 for Alpha: ES40-Emu, which runs the ARC firmware.

Emulators of Alpha systems

QEMU

QEMU is the emulator most used to run Alpha/Linux today. Its default Alpha machine, clipper, models a DP264-family system, the platform of the AlphaServer ES40, with up to 4 CPUs, EV67 by default; see QEMU: The machine. 1) QEMU also emulates the older ev4, ev5, ev56, and pca56 CPUs, 2) but since Linux 6.10 a current kernel needs ev56 or later. 3)

QEMU uses its own firmware, qemu-palcode, instead of Digital's SRM console. It implements the PALcode and HWRPB interfaces that Linux expects from SRM, 4) but not SRM's I/O callbacks or command line. 5) Boot loaders such as aboot therefore cannot be used, and the kernel and initrd are passed to QEMU directly with -kernel and -initrd. 6) The firmware sets the system serial number to "QEMU". Generic Linux kernels detect this and use a high-resolution clock and alarm that the firmware provides, and kernels built for QEMU alone can select CONFIG_ALPHA_QEMU. 7) 8)

Linux under QEMU

Current versions of Debian install under qemu-system-alpha, 9) and Debian's Alpha port builds packages on QEMU build daemons as well as on real hardware. 10) 11) Build machines need at least 2 GiB of memory. 12) QEMU's own test suite boots a Linux kernel on the clipper machine. 13)

QEMU's user-mode emulator, qemu-alpha, runs Alpha/Linux programs on other architectures. It can be used to prepare disks for real Alpha systems, by running the first stage of debootstrap on an x86-64 system and the second stage under qemu-alpha. 14) See QEMU for complete instructions.

Other operating systems

NetBSD runs under QEMU 6.1 and later, after Jason Thorpe added the PCI-ISA bridge device node that some operating systems need to find the ISA bus. 15) OpenVMS and Tru64 UNIX do not run under QEMU. 16)

History

Alpha user-mode emulation first shipped in QEMU 0.9.1, 17) and system emulation, with the clipper machine, in QEMU 1.0; 18) Richard Henderson maintains QEMU's Alpha code. 19)

ES40 and AXPbox

The ES40 emulator, written by Camiel Vanderhoeven, emulates an AlphaServer ES40 and runs its firmware from an ES40 ROM image. 20) It has not been actively developed since 2008, 21) and has several forks. 22)

AXPbox is a fork of the ES40 emulator, renamed to avoid confusion with the AlphaServer ES40. It emulates SCSI, sound, IDE, serial ports, Ethernet (using pcap, or TUN/TAP on Linux), and VGA graphics (using SDL). 23) Version 1.0.0 was released on 23 January 2021 and 1.2.0 on 11 July 2026. 24) Its guest support table lists OpenVMS 8.4 and NetBSD 9.2 as working, and Debian 5.0 as hanging on boot. 25) The ROM image is not included: AXPbox's OpenVMS installation guide has the user download the ES40 SRM console image cl67srmrom.exe separately and name it in the configuration file. 26)

AXPbox backports features from the ES40-Emu project, where its README says active development now happens. 27) ES40-Emu added a JIT compiler, S3 graphics, and the ARC firmware, so it can run Windows NT and Windows 2000 for Alpha. 28) The only Linux distribution its README reports working is Red Hat 7.2; no current distribution is known to run on either emulator. 29)

Avanti and FreeAXP

Migration Specialties' FreeAXP provides a virtual AlphaServer 400 with one CPU, 128 MiB of memory, seven disk drives, two network interfaces, and two serial ports, hosted on 64-bit Windows, and its use is unrestricted. 30) The beta was announced in March 2010. 31) FreeAXP is a demonstrator for the commercial Avanti and AvantiFlex, which support EV4, EV5, and EV6 instruction sets 32) and run OpenVMS and Tru64 UNIX. 33) Avanti and FreeAXP V5.0.0.702 was released on 13 February 2023. 34) Linux is not listed as a supported guest.

Charon-AXP and Personal Alpha

Stromasys, formerly Software Resources International (SRI), 35) sells Charon-AXP, a commercial Alpha emulator that runs unmodified OpenVMS and Tru64 UNIX. Its free Personal Alpha was followed by Personal Alpha+, which provided a virtual AlphaServer DS10 on 64-bit Windows. 36) Personal Alpha is no longer distributed. 37)

AlphaVM

EmuVM's commercial AlphaVM emulates Tsunami/Typhoon systems, and AlphaVM-Pro 2.0 also supports Gamma, Rawhide, Titan, and Wildfire systems with up to 32 CPUs. It runs OpenVMS and Tru64 UNIX; Linux boots, but is not supported. 38) The hobbyist AlphaVM-Basic emulates a system with one CPU and up to 1 GiB of memory. 39)

vtAlpha

AVTware sells a further commercial emulator, vtAlpha, which has no free version, although AVTware provides evaluation licenses on request. 40) Its variants cover systems from the AlphaStation 200 and AlphaServer 300 to the AlphaServer GS1280, and it runs OpenVMS and Tru64 UNIX on x86 computers, virtual machines, or cloud hosts. Linux is not listed as a supported guest. 41)

Incomplete emulators

SimH, 42) GXemul, 43) and DECaxp 44) have partial Alpha emulation, but none boots an operating system. Timothy Stark began adding Alpha support to his Multi-System Emulator (MSE) in February 2021. 45)

Emulators on Alpha

Digital's FX!32, announced in November 1995, ran 32-bit x86 programs on Windows NT for Alpha. 46) It was not available for Linux, but Digital's EM86, announced in April 1997, used its x86 core to run Linux/x86 programs on Alpha/Linux. 47) 48) EM86 stopped working on later systems and could not be fixed, because the FX!32 code it used was closed-source, 49) and Linux 5.14 removed its binary format support. 50)

QEMU has no code generator for Alpha hosts, so on Alpha it builds only with its slower TCG interpreter (–enable-tcg-interpreter), and the QEMU project does not guarantee that it compiles or works there. 51)


1) hw/alpha/dp264.c, QEMU 11.1.0
2) target/alpha/cpu.c, QEMU 11.1.0
4) "Re: QEMU Alpha system status", Richard Henderson, debian-alpha, 5 May 2011
9) "Re: [Sbcl-devel] Alpha, HPPA support at risk", John Paul Adrian Glaubitz, debian-alpha, 12 Mar 2020
10) "Re: Booting Debian in qemu-system-alpha", John Paul Adrian Glaubitz, debian-alpha, 24 Jan 2020
11) "Bug#1051650: cmake: Problems finding libraries on Alpha", Adrian Bunk, debian-alpha, 11 Sep 2023
12) "Re: Booting Debian in qemu-system-alpha", Philippe Mathieu-Daudé, debian-alpha, 27 Jan 2020
14) "Re: systemd woes continue", Michael Cree, debian-alpha, 17 Jul 2019
15) "hw/alpha: Provide a PCI-ISA bridge device node", Jason Thorpe, 16 Jun 2021, QEMU 6.1
17) "Alpha architecture emulation core.", Jocelyn Mayer, 5 Apr 2007, QEMU 0.9.1
18) "target-alpha: Add CLIPPER emulation.", Richard Henderson, 25 Aug 2011, QEMU 1.0
19) MAINTAINERS, QEMU 11.1.0
20) "Guest support", AXPbox wiki
22) "The DEC Alpha Emulation Webpage", updated 20 Feb 2021
25) "Guest support", AXPbox wiki
29) ES40-Emu README, 7 May 2026 entry
30) "FreeAXP", Migration Specialties
31) "FreeAXP - A Free Virtual Alpha System", Ian Miller, comp.os.vms, 22 Mar 2010
32) "Avanti", Migration Specialties
34) "FreeAXP", Migration Specialties
35) "The DEC Alpha Emulation Webpage", updated 20 Feb 2021
37) "The sad state of Alpha emulators (for OpenVMS)", Remy van Elst, updated 30 Jun 2023
40) "The sad state of Alpha emulators (for OpenVMS)", Remy van Elst, updated 30 Jun 2023
43) HISTORY, GXemul
45) "The DEC Alpha Emulation Webpage", updated 20 Feb 2021
46) "Press/X86 Software Translation Breakthrough On Alpha", Digital Press and Analysts News, biz.digital.announce, 8 Nov 1995
47) "EM86: Official Announcement", Jim Paradis, axp-list, 4 Apr 1997
48) "Re: EM86", Jim Paradis, axp-list, 18 Feb 1998
49) "Re: em86", Steve Langasek, debian-alpha, 22 Feb 2006
51) meson.build, QEMU 11.1.0
software/emulators.txt · Last modified: by 127.0.0.1