The open-source ReactOS project has reached a notable milestone: a working, albeit alpha-quality, ARM64 build that can boot on standard UEFI Arm hardware. This includes booting successfully inside QEMU and—perhaps more impressively—on the bare metal of a Raspberry Pi 5. The development, announced by the ReactOS team, marks a significant step toward bringing Windows NT compatibility to a broader range of processor architectures beyond traditional x86/amd64 PCs.
For those unfamiliar, ReactOS is a free and open-source operating system that aims for binary compatibility with Windows applications and drivers. It does this not by emulating Windows but by reimplementing the core NT architecture from scratch, following documented APIs and behaviors. The result is a lightweight OS that can run many Windows programs natively, though it remains in alpha after more than two decades of development. The move to ARM64 is a strategic expansion, aligning ReactOS with the growing dominance of Arm-based devices, from single-board computers to high-end laptops.
Why ARM64 Matters for ReactOS
The x86 architecture has been the lifeblood of Windows for decades, but Microsoft’s own push into ARM with Windows 11 on Snapdragon X Elite processors signals a permanent shift. ReactOS historically targeted only 32-bit x86 systems, with initial 64-bit (x86_64) support arriving in recent years. Adding ARM64 support opens the door to running ReactOS—and by extension, Windows software—on low-power, affordable hardware like the Raspberry Pi, as well as on modern Arm servers and maybe even future Arm-based laptops.
The ARM64 port effort has been underway for several years, driven by a small team within the ReactOS community. It required rewriting or adapting large portions of the kernel, HAL (Hardware Abstraction Layer), and bootloader to handle ARM’s memory model, interrupt handling, and UEFI firmware interface. Unlike x86 PCs, Arm platforms rely heavily on device trees or ACPI for hardware enumeration, adding complexity for an OS designed originally around a PC BIOS.
What the Experimental Build Delivers
The latest experimental ARM64 build is based on the same codebase as the mainstream ReactOS nightly builds but compiled for the ARM64 target. According to the team’s notes, it can now:
- Boot to the graphical desktop (the ReactOS Explorer shell) on QEMU’s virt platform with UEFI firmware.
- Boot on a physical Raspberry Pi 5 (with 4 GB or 8 GB RAM) using the provided UEFI firmware image.
- Load and run a limited set of native ARM64 Windows applications (those compiled for Windows on ARM, e.g., simple utilities).
- Provide basic driver support for USB, network (via a generic NH260 driver), and storage.
The build is distributed as a raw disk image that can be written to an SD card or flashed to a virtual disk. Because it is strictly alpha, users are warned repeatedly that data loss, crashes, and incomplete functionality are the norm. The installer (ReactOS Setup) is not yet functional on ARM64; instead, the system boots directly from the pre-installed image.
Boot Process on Raspberry Pi 5
Getting ReactOS to boot on the Pi 5 requires replacing the default Raspberry Pi firmware with a community UEFI firmware (often called “UEFI for Pi”), which implements a standard UEFI interface on top of the Pi’s hardware. After writing the ReactOS ARM64 image to a microSD card and copying the UEFI firmware files to the boot partition, the Pi boots into a familiar UEFI shell, from which ReactOS can be launched.
The boot console output shows the usual ReactOS kernel debug messages, indicating that the kernel detects four ARM Cortex-A76 cores, the system timer, and the GIC (Generic Interrupt Controller). The boot time is surprisingly quick, and the system lands on the ReactOS desktop with a 1920×1080 resolution using the built-in framebuffer driver.
Current State: Alpha, Not Yet Daily-Driver Material
The term “alpha” is not an exaggeration. Even on the Pi 5, which is one of the best-supported Arm boards for this build, many core components are missing or unstable:
- Graphics acceleration: No GPU driver, so the desktop is unaccelerated. The software rendering makes even simple operations feel sluggish.
- Sound: No audio support.
- Networking: The generic NH260 driver works for basic Ethernet, but Wi-Fi is off the table.
- USB: Limited to USB 2.0 speeds; USB 3.0 is not yet reliable.
- Application compatibility: While simple ARM64 Windows binaries can run, complex software often fails due to missing API implementations or bugs in the subsystem.
- Crash frequency: The system may hang or crash when accessing certain hardware or running specific syscalls.
The ReactOS team has been transparent about these limitations. They stress that the build is intended for developers, testers, and enthusiasts who want to contribute code, report bugs, or simply witness the progress. Casual users expecting a drop-in Windows replacement on Arm should wait for at least a beta stage.
Comparison with x86 ReactOS on PC
The ARM64 port is, architecturally, identical to the x86 versions, meaning it shares the same kernel design, NT object manager, file systems (FAT, NTFS read-only), and subsystem servers. The differences lie beneath the hood—the HAL and the boot chain. On x86, ReactOS benefits from decades of reverse engineering and testing; most consumer and business software that runs on Windows XP/2003 should work. On ARM64, the application base is much smaller because the promise of binary compatibility extends only to Windows applications compiled for the ARM64 architecture. That includes the growing array of open-source tools ported to Windows on ARM, but not legacy Win32 apps that are only available as x86 binaries—unless x86 emulation is eventually added, a far-off goal.
Thus, the ARM64 port is not a drop-in replacement for your aging XP machine slapped onto a Pi. It is a new frontier, requiring its own ecosystem of software and drivers. Still, for enthusiasts who’ve craved a Windows-like experience on Pi, seeing the familiar blue ReactOS desktop (or the classic Windows 2000-like theme) on such a tiny, low-power device is a thrill.
Community Reaction and Future Prospects
The ReactOS community has greeted the ARM64 news with excitement. For years, users have asked for a Pi port, and now they can finally boot it themselves. The project’s forums and social media channels lit up with screenshots and boot logs, along with bug reports about USB keyboard detection and display glitches. The team has encouraged reproducible bug reports to help stabilize the HAL.
Looking ahead, the ARM64 port’s roadmap includes:
- Stabilize memory management and interrupt handling to reduce random crashes.
- Implement a proper installer to ease deployment.
- Improve the device driver framework to make porting third-party drivers easier.
- Work toward USB 3.0 and better network support.
- Eventually, add support for more Arm boards (Odroid, Rockchip, etc.) beyond the Pi and QEMU.
The long-term vision is that ReactOS on ARM64 could serve as a lightweight desktop OS for low-cost hardware, a foundation for embedded systems with Windows software compatibility, or even a testing platform for Windows developers targeting Arm. Realistically, though, the project needs more contributors. The ARM64 work is currently carried forward by a handful of volunteers, and progress will depend on community involvement.
How to Try It Yourself
If you’re brave enough to experiment, the instructions are straightforward:
- Download the latest ARM64 test image from the ReactOS ISO download page.
- For QEMU: use a command like
qemu-system-aarch64 -M virt -cpu cortex-a72 -m 2G -bios QEMU_EFI.fd -drive file=reactos-arm64.img,format=raw -device ramfb. - For Raspberry Pi 5: extract the UEFI firmware from the Pi Firmware Task Force’s repository (or use the Raspberry Pi Imager to write a UEFI-enabled image), then write the ReactOS raw image to a microSD card, and replace the UEFI blob on the boot partition with the one from the firmware package.
- Insert the card, power on, and follow the UEFI menu to boot from the internal eMMC/SD.
Keep in mind: the system is not production-ready. Back up any important data, and don’t expect Windows-on-ARM levels of polish. The alpha warning is there for a reason.
The Bigger Picture
ReactOS’s ARM64 milestone arrives amid a broader Arm renaissance. With Apple’s M-series chips, Qualcomm’s Snapdragon X, and the Raspberry Pi’s immense popularity, Arm is no longer a niche. An open-source NT-compatible OS that can run on these devices could, in time, become a valuable tool for education, industrial control, or legacy application hosting. It also serves as a fascinating technical demonstration of what a community can achieve without access to proprietary source code.
For Windows enthusiasts, ReactOS on ARM64 is a glimpse of what might have been if Microsoft had released a lightweight, open-source NT kernel for Arm years ago. While Microsoft’s own ARM efforts are now mature, ReactOS offers a different path: a minimalist, user-modifiable system free of licensing fees and cloud requirements. It’s no threat to Windows on ARM, but it’s a compelling alternative for specific use cases.
Conclusion
The experimental ARM64 build of ReactOS is a testament to the dedication of the open-source community. Booting on a Raspberry Pi 5 is a genuine breakthrough, even if the OS is still in its alpha infancy. The combination of UEFI boot, a working desktop, and some application compatibility proves that the core architecture is sound. Now the real work begins: squashing bugs, filling gaps, and making the platform usable.
If you’re a developer with kernel experience or a tinkerer who enjoys bleeding-edge software, this is your chance to shape the project’s future. For everyone else, keep an eye on ReactOS—Arm support is no longer a dream, but a bootable reality.