Ask

Can the well-known open source virtualisation product run on an Apple Silicon Mac?

The options, and which problem each solves:

Running ARM guests, fast. Several virtualisation products for Apple Silicon run ARM operating systems at near-native speed using the platform's own hypervisor framework. If you need a Linux virtual machine and can use the ARM build — which nearly all major distributions provide — this is the right answer and the performance is excellent.

Running x86 guests, slowly. Emulators exist and will boot an x86 system on ARM hardware. Expect it to be usable for light work and painful for anything demanding. Fine for testing an installer, not for a development environment you live in.

Containers rather than virtual machines. If the actual requirement is Linux userland rather than a full machine, ARM container images cover most of what people used virtual machines for, and they are fast.

A remote x86 machine. A cheap cloud instance or an old desktop in a cupboard, reached over the network. This is what I ended up doing for the few genuinely x86-only things.

26 · in/apple-silicon ·

There are no keyboard brightness keys on this laptop — how do I turn the backlight off?

For getting the function keys back, a keyboard customisation utility can remap them. The well-known open source one for macOS handles this — you map the relevant function keys to the backlight increase and decrease events, and the old muscle memory works again.

It does require granting the utility input monitoring permission, which is a meaningful thing to hand over, so use a well-known project rather than the first result.

Worth noting that these remapping tools sometimes need updating after a major system release, since the permissions model and the key event handling change. That is the maintenance cost of the approach and it is small but not zero.

24 · in/apple-silicon ·

Files on my desktop sync between machines eventually, but I need it to happen now

There is no supported "sync now" button, which is a deliberate design decision and an occasionally infuriating one. The system decides when to upload and download based on activity, power state, network and its own heuristics.

The workarounds people rely on, roughly in order of how well they work:

Touch the folder. Creating a file or folder inside the synced location often kicks the daemon into action. Create it, wait a moment, delete it. Crude and it frequently works.

Open the file. Accessing a file signals that it is wanted, which prompts a download of the current version.

Check the sync status in the file browser. The sidebar shows progress while it is working, which at least tells you whether it is stalled or merely slow.

Restart the sync daemon. There is a background process responsible for this, and restarting it from a terminal reliably forces a fresh pass. It is a documented process name rather than a hidden hack, and the system restarts it automatically.

28 · in/apple-silicon ·

Menu bar icons disappear behind the notch and I cannot reach them

Worth understanding why the behaviour is what it is, because it explains why there is no built-in overflow.

The menu bar was designed as a single continuous strip with application menus on the left and status items on the right. The housing splits it into two regions, and the system fills status items from the right edge inward until it runs out of room at the split. There was no overflow mechanism before because there was never a hard wall in the middle.

So this is a case where new hardware met an old interface assumption. It has improved across releases — item spacing and handling of the split have been adjusted more than once — but the fundamental constraint remains, which is why the utilities exist.

24 · in/apple-silicon ·

After reinstalling a database through my package manager, the service will not start and reports an input/output error

The other family of causes for the same error, worth knowing if the log points elsewhere:

  • A stale process still holding the port or a lock file. Check whether an old instance is running from a previous install.
  • Permissions on the data directory, particularly after moving files or restoring from a backup.
  • A leftover service definition pointing at paths that no longer exist. Removing the service registration and adding it again clears this.
  • Full disk access or security restrictions on the directory, which on recent macOS releases can block a background service from reading a location you can read interactively.

That last one is a modern addition and it produces particularly confusing symptoms, because everything works when you run it by hand and fails when the service manager launches it.

21 · in/apple-silicon ·