Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
UnnaturalScrollWheels
Invert scroll direction for physical scroll wheels while maintaining "Natural" scrolling for trackpads on MacOS
For Linux, and if you only need to run CLI tools, I've been very happy with Lima [0]. It runs x86-64 and ARM VMs using QEMU, but can also run ARM VMs using vz [1] (Apple virtualization framework[2]) that is very performant. Also, along with the project colima [3] you can easily start Docker/Podman/Kubernetes instances, totally substituting Docker Desktop for me.
For desktop environments (Linux/Windows) I've used UTM [4] with mixed success. Although it's been almost a year since last time I used it, so maybe it runs better now
There's also Parallels, and people say it's a good product, but it's around USD/EUR 100, and I haven't tested it as I don't have that need.
And there's VMWare Fusion but... who likes VMWare? ;)
[0] - https://lima-vm.io
There's mature VirtIO drivers for just about everything already, under the virtio-win umbrella: https://github.com/virtio-win/kvm-guest-drivers-windows
My desktop PC is using libvirt+qemu (on an Arch host. I use Arch, btw) to PCI passthru my RTX 4090 GPU to a Windows guest. I installed the guest initially with emulated SATA for the main drive. Once Windows was up and running, I installed virtio-win and the guest is now using virtIO accelerated drivers for the network interface, main disk. I'm also sharing some filesystems using virtio-fs.
Add `ENV ERL_FLAGS="+JPperf true"` to your Dockerfile and it will build just fine cross platform. The flag just changes some things during build time and won’t affect runtime performance.
[1] https://gitlab.com/qemu-project/qemu/-/issues/1034
Syncthing has had on their roadmap for 9.5 years to support iOS but hasn’t due to lack of interest by the developers to devote the time to make it.
https://github.com/syncthing/syncthing/issues/102
macOS is supported though.
And Syncthing via 3rd parties does support iOS.
For gaming, you want to use Crossover or the FOSS Whisky app. Parallels only runs Arm Windows which then emulates x86. This is much much slower than using Wine to translate system calls and Apple's Game Porting Toolkit to handle the Vulkan or DirectX graphics. Crossover and Whisky take care of the internals of those for you. Give those a shot, I think you'll find it much better than a full VM. In my experience some games do run better this way than the MacOS versions, though that's usually because the Mac client wasn't compiled for Apple Silicon and so Rosetta is emulating. Unfortunately, I'm pretty sure WOW is already Apple Silicon native, so you probably won't get better performance this way.
For the mouse stuff, try a USB mouse if you're not already using one, combined with https://github.com/ther0n/UnnaturalScrollWheels
That works really well for me to get a Windows-like mouse curve.
TLDR skip the emulation and go for translation layers via Crossover, Whisky, and GPT. It'll be much faster. The mouse thing is separate and has nothing to do with the graphics layer.
------
Personally though, I'd just pay $20 a month for Geforce Now. It is much much faster than even the highest end Mac.