Let’s install Ubuntu 25.04 on Apple Silicon (M1) in a virtual machine using UTM.
We must first download an Ubuntu ISO for ARM. Go to https://ubuntu.com/download/desktop and search for “ARM 64-bit architecture”; if not available for the specific version you want to install, then you’ll have to install the Ubuntu Server and then install the “ubuntu-desktop” package. Before downloading the server edition, you might want to search deeper in the Ubuntu release download site and look for the ARM ISO, which is not advertised in the above download site. For example, for 25.04, you get the link for the ARM version from the download site, but not for 24.04. However, by looking at the releases web directory, you’ll also find the ARM ISO for 24.04 (for example, https://cdimage.ubuntu.com/releases/24.04.3/release/ubuntu-24.04.3-desktop-arm64.iso).
You can install UTM in several ways. I installed with Homebrew: “brew install utm”.
Let’s start it and create a new Virtual Machine:
Choose Virtualize (we want to use an ARM Linux distribution):
Then, of course, choose “Linux”
Here we use QEMU, not Apple Virtualization. We select the ISO we downloaded before:
Let’s change Memory and Cores to allocate to the VM (I also enable hardware acceleration to have nice visual effects in the VM; As specified in the checkbox’s documentation, this might give you troubles in some configurations):
And the storage of the VM disk. Remember that by default, not all the specified GiB will be used by the file of the disk image: the disk image file will occupy only the effectively used data by the filesystem.
For the moment, I won’t use a shared directory.
Here’s the summary, where you can also give a custom name to the VM:
OK, let’s start the VM; the first time, this will start the installation ISO:
Here we are in the VM. From now on, the installation procedure is basically the standard Ubuntu one. Here’s the list of screenshots:
Since that’s a VM, I select to erase the entire (virtual) disk; alternatively, you might want to specify your custom partitioning scheme, possibly with a different file system than the default one, i.e., EXT4.
The installation starts with the usual slide show:
Remember that by clicking on the small icon on the bottom-right, you’ll get the log of the installation:
After installation has finished, shut down the machine (instead of “restart now”) and “Clear” CD to avoid booting from the installation ISO again:
Now, start the installed VM.
As usual, you’ll almost immediately get updates:
If not already installed, you might want to install spice-vdagent and spice-webdavd for better integration with the host system (for example, shared clipboard and folder sharing).
Let’s see a few screenshots of the installed system:
Note the SWAP file created by the installer and the filesystem layout.
I’ve installed fastfetch to show the typical output:
Note the graphics (remember we selected above the Hardware OpenGL Acceleration):
Concerning the resolution of the VM, let’s consider the “Display” setting of the virtual machine:
Note the selected “Resize display to window size automatically”; that’s useful, especially when setting the VM window to full screen.
Concerning the display settings: “Retina mode” (optimize resolution for HDPI displays). Then you have to adjust the resolution in the VM.
The documentation https://docs.getutm.app/settings-qemu/devices/display/ suggests NOT to enable “Retina mode” because it increases memory usage and processing (and the host operating system can use efficient hardware scaling, while the guest uses software scaling).
Without this setting, the display will be presented at the current resolution and scale that the operating system uses. For example, here’s my macOS setting:
And in fact, as you see from one of the screenshots above, the Ubuntu desktop, when the UTM VM is full-screen, has the same 1280×800 resolution.
You might want to have a look at the special input settings:
The “Command+Option” is important to easily switch between the VM and the host OS concerning keyboard inputs.
First impressions
In general, the VM usage is very pleasant. Everything runs smoothly, including the visual effect. Indeed, it all seems to run at native speed.
WARNING: You’re running an ARM Linux distribution, so packages must be available for this architecture. Sad news: a few programs are NOT available for Linux ARM, notably Google Chrome and Dropbox. Please, consider that.
That’s all for this initial UTM post.
Stay tuned for other posts related to Linux virtual machines in UTM.






































