Others have mentioned Box64 and cross-architecture containers in this discussion. I took a different route and now have a complete, reboot-tested setup using an emulated amd64 Debian virtual machine on an ARM64 Linux host.
The architecture is:
-
ARM64 host running Ubuntu 24.04
-
QEMU 11.1 with
qemu-system-x86_64 -
TCG software CPU translation
-
Debian 13 amd64 guest
-
Official x86-64 Linux Roon Server installed normally inside the guest
-
4 virtual CPUs, 8 GB RAM and a 64 GB sparse virtual disk
-
systemd-managed automatic startup and clean shutdown
QEMU is packaged inside a Docker container to keep its dependencies and lifecycle isolated. Roon itself is not running directly in Docker—it sees a complete amd64 Debian operating system.
Networking was the most important part. My initial NAT-based configuration allowed Roon Remote and TIDAL to work, but Roon Ready discovery was unreliable because the necessary LAN broadcast and multicast traffic did not pass correctly.
I replaced NAT with a standard Linux Ethernet bridge and connected the VM through a TAP interface. The VM now has its own MAC address and DHCP lease on the physical LAN, just like a separate computer.
After making that change, Roon discovered my network Roon Ready endpoint and established a RAAT session. Playback, including 24-bit/44.1 kHz, works correctly.
For Roon ARC, I assigned the VM a fixed DHCP reservation and forwarded a single TCP port from the router to the same port on the VM. ARC now reports Ready.
I also tested a complete host reboot. The following recovered automatically:
-
Ethernet bridge and TAP interface
-
QEMU container and amd64 VM
-
The VM’s reserved LAN address
-
Roon Server
-
Roon Ready discovery and playback
-
Roon ARC connectivity
Both the VM service and Roon Server returned enabled and active with zero restart failures.
This is not native ARM support. Because the host and guest have different CPU architectures, KVM acceleration cannot be used; QEMU translates x86-64 instructions in software through TCG. The host therefore needs enough CPU, memory and storage performance.
My test host is considerably more powerful than a typical low-cost ARM SBC, so this demonstrates compatibility and a working architecture—not that every Raspberry Pi or ARM board will provide acceptable Roon performance. Library size, DSP use and simultaneous zones will also matter.
Still, it confirms that the official, unmodified x86-64 Linux Roon Server can operate successfully on an ARM64 Linux system inside a full emulated VM. Using a bridged Ethernet interface rather than ordinary container or VM NAT was the key to making the complete Roon experience work.
If there is interest, I can share the QEMU configuration, systemd service and NetworkManager bridge setup.