Ubuntu Developers Get it Up And Running On Apple's M1 With Early Parallels Desktop Build
Parallels this week began rolling out a technical preview program of Parallels Desktop 16 for the Apple M1 Macs for running the likes of Microsoft Windows from ARM-based Macs. Ubuntu also turns out to run rather nicely from this early build of Parallels Desktop.
Debian/Ubuntu developer Matthias Klose shared that with a Mac Mini and the Parallels preview build, he got Ubuntu up and running by making use of the Ubuntu Server 20.10 build. Though there are some limitations like only being able to use 8GB of RAM within the VM even for systems having 16GB, IPV6 not working with a bridged network, and no support for ARM32 binaries but at least some of those limitations are likely to be worked out soon. When getting the Ubuntu desktop running within Parallels Desktop will also be a matter of graphics acceleration support.
Matthias shared his early successes for Ubuntu on the M1 via Parallels. As for the performance, "gcc-10 build and test time is 3:10h with eight cores (38h on LP, although this is using four cores). Julian had a small apt build benchmark, which is 11.6 sec on the M1 (-j 8), 42sec on a Lenovo first-gen X1e (6 cores, -j12), 8.4sec on a Ryzen 3970x (limited to -j 8)."
I'll be trying out the Parallels Tech Preview soon on the Apple M1 for looking at the Linux performance.
For those wanting to run Linux on the Apple M1, virtualization via the likes of Parallels Desktop will likely be the only short-term solution. While there are efforts to get Linux running on the Apple M1 hardware itself, while that may be initially successful in booting a Linux kernel and some level of hardware support, there is slim likelihood of having an enjoyable desktop experience anytime soon. Once getting the kernel booted with some level of hardware support, the elephant in the room will be the custom Apple graphics hardware and the significant resources there needed to bring up a new driver stack for Apple M1 without any support or documentation from Apple. The reverse-engineering is more complicated there than the likes of other ARM SoCs where at least there is generally closed-source Linux blobs to plug into and slowly replace. Even in those other ARM cases like with Panfrost, V3DV, Freedreno, and Etnaviv it's been a multi-year effort and that is with having a better starting point than Linux on the M1.