Replies: 22 comments 72 replies
|
What a journey! Thanks for sharing that. I love my macbook pro M1 hardware, so getting it to run via VM would be nice. |
|
was searching for a how to whole day and randomly came to x. |
|
spent like 12 hours last weekend trying to get it to work with UTM or VirtualBuddy with non luck. Doesn't parallels cost money? would love to try omarchy without having to pay for a VM. |
|
I'm doing it with VMWare Fusion. It's free for personal use and has hardware acceleration. I basically got a lot set up but I'm getting stuck at the Boot Manager / UEFI Shell step. Failing on these:
I changed the mirrors with I know the internet is working because I could do: Any suggestions? |
|
I just tried this guide up to the point where you install Omarchy, but it looks like a commit was added that prevents running the install by default if |
|
Hmm I've been trying to follow these instructions for Ubuntu -> ArchLinuxARM install, but looks like This is right after EDIT: Looks like this is what was additionally needed to create pacman -S grub efibootmgr dosfstools
grub-install --target=arm64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfgAnd with that, it was actually not necessary to go through UEFI shell afterwards, as it booted right into Grub! |
|
Got an error on this step This is the error. The reason was This is how to fix it. Then test the DNS resolution. Now you can Hope it helps. |
|
FYI future people, the bare url is 404 |
|
The sequence to enable SDDM worked well. I have done a custom SDDM theme easily matching OMARCHY aesthetics from: https://github.com/siddrs/tokyo-night-sddm available in AUR with See modified theme.conf attached with centered form Cascaydia Mono font, just need to add the relevant backgrounds in /Backgrounds: theme.conf.txt |
|
Any reason why you simply did not use the Arch Linux virtual machine: This is linked in Arch's documentation as an alternative to installing Arch from scratch on Apple Silicon. I am now stuck at installing Omarchy, hence I landed on this thread, but the PVM works well for Parallels Desktop. |
|
Great guide to Omarchy for arm64 on VMware Fusion. https://tomassrnka.com/2025/09/omarchy-on-apple-silicon-vmware-fusion/ |
|
It would be worth noting that Parallels is willing to accept requests to make Omarchy work well on macOS and seems to be interested in potentially supporting Wayland. This is going to require the community submitting support tickets and interacting with their support to collect data and to work through this. They may also be willing to open up the Parallels Tools as open source with enough pressure so that we can start having superior experiences in more exotic situations like this. It's going to take some interaction and support tickets though - so be prepared to roll up your sleeves. I'm in the process right now of trying to help them understand how to properly install it, but others' input will surely help. Also note that you'll need to have patience as you work through the mundaneness of "First Line team" support and get to their "Second Level team." It could take a few days after you start your interactions to get to folks who will try to work more seriously with you... So better to start sooner than later. |
|
@swombat In Parallels:
|
|
This guide works for me on UTM However result is unusable slow. |
|
How do I install on VMware fusion 😅 |
|
I've worked through the different steps here and this is my compiled version of installing Arch ARM in a Parallels VM on Apple Silicon: # create a file system
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
# mount the partitions
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
# download arch linux
cd /root
curl -LO http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
tar -xvpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt
# bind mount required paths
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
# chroot into arch
chroot /mnt
# set a root password
passwd
# set a DNS server
rm /etc/resolv.conf
echo "nameserver 1.1.1.1" > /etc/resolv.conf
# init pacman
pacman-key --init
pacman-key --populate archlinuxarm
# update the pacakges
pacman -Syu
# install scripts and boot loader
pacman -S arch-install-scripts grub efibootmgr dosfstools
# install the bootloader
# '--removable' prevents the "efibootmgr failed to register the boot entry" error
grub-install --target=arm64-efi --efi-directory=/boot --bootloader-id=GRUB --removable
# APPEND the config an Omarchy entry to grub
cat >> /etc/grub.d/40_custom <<EOF
menuentry "Omarchy" {
set root=(hd0,gpt1)
linux /Image.gz root=/dev/sda2
initrd /initramfs-linux.img
}
EOF
# Make Omarchy the default boot option
sed -i -e 's/^GRUB_DEFAULT=.*/GRUB_DEFAULT=1/' /etc/default/grub
# Create the grub config file
grub-mkconfig -o /boot/grub/grub.cfg
# Update /etc/fstab for root fs
# There is probably a tool for this. I've used btrfs, you may have ext4.
echo "/dev/sda2 / btrfs defaults" >> /etc/fstab
# exit the chroot
exit
# unmount bind mounts
umount -l /mnt/{dev,proc,sys,boot}
# reboot into Arch
reboot |
|
I tried installing and am running into an error saying that multilib.db cannot be retrieved from geo.mirror.pkgbuild.com in the preflight pacman.sh script. anyone know how to fix this? |
|
FYI, the current best way to get the latest Omarchy 3.x running in a VM is to use my fork with details in the PR description (it's been mentioned a few times here by others, but I figured I'd chime in, too). This is the fork that is being worked on for integrating into the mainline of Omarchy and will eventually provide official ARM support. #1897 Details in the description, current images for VMware and Parallels available for download and easy install from bash command history. Just login and press the up arrow then enter! |
|
Can someone just share the parallels VM ? So that we don’t have to go through this individually ? Would be great to have an official VM image |
|
Tried this today. Sadly ran it to errors and did not work. Finally got it to work. Here is what worked for me in case if anybody needs it. Apologies if I miss anything I am just going off from what I remember.
My specs 2021 M1 Pro MBP running Squoia
Now we move on to install Omarchy. Referred this because I previously installed this bare metal using Asahi Linux.
Now it will prompt for a warning stating something about Asahi not being configured. Select proceed anyways. We will fix that later. Now wait. It took more than 30 minutes for me. (I guess I have shitty internet maybe :D) I noticed that something xdg related failed to install but... It will finish up and select reboot. Login. Now hopefully you should see the beautiful Tokyo Night desktop. If not then I am really sorry but you should be able to fix it by some googling. Not you will notice that if you hit Command + Enter (to launch the terminal) or even clicking on the waybar speaker icon it will show a notification stating I opened up a terminal by clicking on the Menu and ran Open up the Do a Then install Parallels Tools by referring this article -> https://kb.parallels.com/en/129740 That's it. You should be good! Again, I was not documenting this as I went through and noting this down now as I remember how I did it. Do let me know if you encounter any issues. That will definitely jog my memory and I should be able to help. Hope this helps someone. Adios! 👋 |










Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Dear intrepid adventurer,
If you have decided to do this, please be aware you will encounter many issues along the way and be prepared to get your hands, elbows, shoulders, and even the inside of your eyelids dirty.
But also be aware that it works, with some, but not too many, limitations (main one is: only one monitor). And it is fast. I currently have Omarchy working on my M1 Max MBP and it is gorgeous and was well worth spending the 3h getting it working.
Will you need 3h? I don't know. Maybe yes, maybe not. This guide might make it a lot faster. Or not. Who knows? That's part of the fun.
When I started trying to install Omarchy on a VM on my mac I didn't know it was impossible. So I went and did it anyway. And now you too can do the impossible, maybe slightly quicker, with this guide!
PS: If you want to discuss this on Discord, try this thread
Prerequisites
If you're not handy with the command line you probably don't want to do this. This is an advanced, patchy, incomplete guide. You will probably encounter issues that I didn't. Buyer beware.
Also, having a viable AI copilot was priceless in resolving the issues that came up. Issues will come up for you too. Do this with internet access to ChatGPT-4o or equivalent. Or else, accept months of this fate...
Updates
If you figure out more essential tricks, please post them in the comments and I will update the document. Latest update: 2025/08/02.
Getting started
(If in doubt, this chat thread may help you)
I used Parallels because UTM, while free, doesn't support hardware acceleration to an aarch64 VM. And we don't want to use QEMU (slow) or miss out on hardware acceleration (hyprland won't be as nice, I understand). So, Parallels it is. There's a 14 day trial. If you don't manage to decide you want this, within 14 days, then just don't upgrade after the trial.
I gave the VM 4 CPUs, 16 GB of RAM and 64 GB of hdd. So far that works out ok.
Because we're on aarch64, we can't just use the ISO DHH links to. So instead we have to do the much more disturbing and cool thing of downloading Ubuntu and then bootstrapping Aarch from inside, letting it devour its host as it goes.
Save a lot of time by getting the right image first time. You want the Ubuntu desktop image for arm64, because the desktop image allows you to "try Ubuntu" without installing it, which means you start with a clean partition table and don't get stuck trying to
umountstuff that's in use, etc. I usedubuntu-25.04-desktop-arm64.iso.Boot into that, and follow the menu items to "try ubuntu" without installing it.
Then follow these steps:
sudo -i lsblk # should be /dev/sda with no partitions cfdisk /dev/sdaCreate a new partition table (label type
gpt):Format the partitions:
Open a second terminal tab (in Ubuntu) so that it's not inside the chroot and do:
Then back in the first terminal:
Grub will fail to finish.. that's ok-ish. We can work with it. Just check that
ls /boot/EFI/GRUBshowsgrubaa64.efi.When you reboot (you may need to tell parallels to reset the VM), you will probably get a scary screen like this:
Click Ok, open
Boot Manager, chooseUEFI Shell, and at the prompt type:fs0:and press enter.Then,
ls, and you should be able tocd EFIand thencd GRUBand then just typegrubaa64.efiand press enter to boot.Later, when you are less overwhelmed by the mess, you can fix the bootloader by running:
You should now see an
alarmlogin! Congrats!alarm//alarmwill work to log in but won't get you far as it doesn't have root access, and root's password isn't, as expected, root (but feel free to try just in case it works for you).So instead you probably need to restart the VM again, and after selecting the
grubaa64.efi, when grub briefly shows, presseto edit the boot entry. At the end of the line that starts withlinuxaddinit=/bin/bash. This will drop you into a root shell. From there, just type:And so you can set a root password.
Are you tired yet? We're not done with step 1 yet!
Reboot again using the bootloader UEFI trick... now you should be able to log in as root or at least log in as alarm/alarm and
su -ias root. Add a user for yourself:Reboot again, (are you bored of the bootloader trick? You can probably follow the instructions and fix it now!), log in as yourself, and you're ready for step 2, actually installing Omarchy.
Installing Omarchy
I did the regular install, so I did:
wget -qO- https://omarchy.org/install | bashBut that tried to install a bunch of gui things like spotify, that don't work on aarch64. I recommend trying the bare mode omarchy instead:
wget -qO- https://omarchy.org/install-bare | bashThis will take about 30m to run on a beefy M1 Max MBP with nothing else going on.
There will be errors.
They probably won't be a problem. Probably.
After the script finishes... reboot. (did you fix the bootloader issue yet?)
It lives! (kinda)
You may find that the resolution leaves a lot to be desired:
Now I'm not spitting on 1024x768. It was a fine resolution back in the 90s, definitely a huge improvement over 640x480. But we're not in the 90s anymore, even though Omarchy kinda makes me feel like I'm a cool 90s movie hax0r again. Anyway, here's how you can fix the resolution:
First of all... reboot. And press
eto get back into GRUB's edit mode. Aren't you loving it yet?At the end of the
linuxline, try addingvideo=Virtual-1:2560x1600@60or whatever resolution is the full screen res for your screen.Then boot. If it works...
Give yourself a pat on the back! You've done a bunch of impossible things already!
Since this works, make it permanent. Edit
/etc/default/gruband changeGRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"toGRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet video=Virtual-1:2560x1600@60".And then:
More than the basics
Browser
Chromium won't work on aarch64, so get brave:
Then edit
~/.config/hypr/hyprland.confand changechromiumin the$browserline tobrave.Ruby/Mise
That required a trick to work:
After this,
mise use -g ruby@3.4.4worked fine.Apple Keyboard?
Edit
hyprland.confand add this into the keyboard section:You're still going to hit a bunch of interferences between the Mac and the VM... my solution was to install Karabiner on the mac, and remap Caps Lock to F16, and then map that to SUPER on the VM:
Then edit/create
/etc/keyd/default.confand set it to:Followed by
sudo systemctl enable --now keyd.Of course, this broke something else - now my GB keyboard layout wasn't working on the mac. I solved this by updating the karabiner json file on the mac to basically fix the mapping - getting it to actually recognise itself as a gb iso keyboard just wasn't happening. Edit
~/.config/karabiner/karabiner.jsonon your mac and update it to:{ "profiles": [ { "name": "Default profile", "selected": true, "simple_modifications": [ { "from": { "key_code": "caps_lock" }, "to": [{ "key_code": "f16" }] }, { "from": { "key_code": "non_us_backslash" }, "to": [{ "key_code": "grave_accent_and_tilde" }] }, { "from": { "key_code": "grave_accent_and_tilde" }, "to": [{ "key_code": "non_us_backslash" }] } ], "virtual_hid_keyboard": { "keyboard_type_v2": "iso" }, "devices": [ { "identifiers": { "vendor_id": 1452, "product_id": 835, "is_keyboard": true }, "ignore": false, "keyboard_type": "iso" } ] } ] }All reactions