Ask HN: What's the best virtual Linux desktop experience on macOS for devs?

Posted by darkteflon 1 day ago

Counter8Comment10OpenOriginal

Like the title says, what’s currently the best virtualised, GPU-accelerated, ARM-native Linux desktop experience for developers that can be run on an M-Series MacOS host?

The direction of travel with MacOS itself is troubling. Ads, bugs, dark patterns. There’s been no acknowledgment from Apple that any of these are a problem, so I can only assume that they are unable or unwilling to address them. At the same time, many of us are invested in Apple’s excellent hardware and other quality of life features and are unable or unwilling to consider alternative hardware (at this time). Running Asahi on bare metal might be an option for some uses on M1 / M2 machines, but for others the trade-offs are too great at this time.

I’ve personally looked into:

- Ubuntu - Silverblue (Atomic) - Kinoite (Atomic) - Fedora - Bluefin LTS (Atomic) (the only Bluefin version for which an ARM build - based on CentOS - is available)

on UTM (QEMU and Apple Virt Framework), but many of them don’t appear to support GPU acceleration, which is non-negotiable for a smooth desktop experience, or are sub-optimal in other ways.

I can’t really recall seeing any comments on HN from people daily driving this kind of setup. Is that because everything involves unpalatable compromise?

What does the community think? Are there some clear standouts?

Comments

Comment by andrewbastin 1 day ago

I run NixOS within VMWare Fusion (Mitchell Hashimoto has posted something similar https://github.com/mitchellh/nixos-config) in my M4 Max MBP. It runs pretty well but may hit the battery life sometimes. There are some weird stuff that happens with their GPU accelaration and random Fusion crashes sometimes. I patched Hyprland locally in my config due to a weird (but documented) issue with their GPU accelaration implementation https://github.com/AndrewBastin/nixos-config/blob/main/modul...

I have tested Fusion, Parallels and UTM and Fusion seemed to be the most stable for me.

Comment by darkteflon 20 hours ago

Thanks for this suggestion! Good enough for Mitchell is good enough for me. I tried this yesterday and it’s working great - GPU acceleration enabled out of the box. I’ve got some reservations about NixOS from previous attempts to use it on bare metal - and from reading others’ experiences with the project and concerns about its governance on hn - but I can definitely see that running it in a VM is an altogether different undertaking. Already started customising my configuration.nix and it’s going great. Top contender at this time. Thanks!

Comment by ivankra 22 hours ago

> on UTM (QEMU and Apple Virt Framework), but many of them don’t appear to support GPU acceleration

Uh, it does. OpenGL/virgl works great out of the box for me with UTM and Linux guests (I'm on stock Debian stable), perfectly usable and performant enough to drive an external 4K monitor - my daily driver. Ditched my beefy Intel workstation for it, no regrets.

There's now virtualized Vulkan support which just shipped in UTM 5.0.0 this month - really exciting news! But it is still kinda buggy, so maybe that's your problem. Try UTM 4.7.5 or disable Vulkan (in UTM > Settings > Display) for now.

Comment by darkteflon 20 hours ago

That’s super helpful, thanks! I’ll look into that - both UTM config and stock Debian.

It seems that it depends on the distro though - I couldn’t get it working on any of the distros I mentioned above, although admittedly this stuff is not my strong suit; rather than spend lots of time figuring out the ins and outs of each distro I was kind of hoping that commenters would help surface the best options for this setup generally, from which it would then make sense to dig more deeply. Or alternatively, get a steer on which distros to avoid.

One of the commenters below helpfully mentioned NixOS - it’s been great - GPU acceleration working out of the box. Good contender at the moment.

Comment by bigyabai 1 day ago

Why not just virtualize Linux for the terminal, and let macOS handle hardware acceleration and desktop tasks?

The Linux desktop experience on Apple Silicon isn't up to par with what macOS can offer you, and lacks OEM drivers like AMD, Intel and Nvidia hardware has. If you're not willing to run Asahi and you don't want to use macOS anymore, you might want to start looking at alternative hardware.

Comment by darkteflon 20 hours ago

I can definitely see this working for some people and have tried it in the past. Orbstack - which I’m running for Docker anyway - makes it trivial. However, without wanting to get off-topic, I’ve carefully considered my needs and I know what they are, and I think there are quite a lot of people in my situation. Enough to warrant asking for peoples’ thoughts.

Comment by Jtsummers 1 day ago

> Why not just virtualize Linux for the terminal, and let macOS handle hardware acceleration and desktop tasks?

This is more or less what I do, but when you happen to want a Linux GUI you end up using XQuartz which works fine, but doesn't exactly play well with the rest of macOS's windowing system (copy/paste works though!).

Comment by stephenr 1 day ago

> The direction of travel with MacOS itself is troubling. Ads, bugs, dark patterns.

Where is macOS showing you ads? And what "dark patterns" are you referring to?

Comment by rolymath 8 hours ago

Keeps telling me to upgrade my icloud for one. I don't want to. Perhaps you get no ads you have complied with all of them.

Comment by darkteflon 20 hours ago

Don’t want to engage on that here, there are plenty of other threads on the issues. If you disagree with the premise, feel free to move along.