Table of Contents
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, withbinfmt_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)
HISTORY, GXemul
