locxter.net

A quick look at OSX-KVM and quickemu

2024-04-07

For last week's article had and was also very curious to try out various macOS tools and utilities. But how the heck do you do that without physical access to a Mac from a friend or relative? As it turns out there are two quite enjoyably easy solutions when running Linux as you main OS, so let's take a quick look...

First things first, we are talking about virtualization here, so don't expect near native performance, especially in the graphics department. With some more work, you can indeed pass through PCIE devices such as graphics cards, but this requires additional configuration and completely dedicates the device to the VM making it not available to the host anymore. Nonetheless, virtualization is a great way to try out new operating systems, execute software you don't fully trust or just experiment with possibly breaking changes without affecting your production system.

Like always in the Linux section of virtualization, both of these projects build on top of the awesome QEMU virtualizer in conjunction with KVM (Kernel-based Virtual Machine) technology - so check whether or not your device supports hardware accelerated virtualization for optimal performance. Legality is another controversial aspect of virtualization for some closed-source operating systems, so do your research and don't take anything here as legal advice.

Let's start with quickemu as it is the more universal software of the two. Originally developed by Ubuntu Mate lead Martin Wimpress, it has become a great community effort to make virtualization everything from countless Linux distributions and Android over Windows 10/11 to macOS easy and straightforward. Especially together with its graphical frontend quickgui it is beginner friendly and very portable. Sadly, it didn't work for me when trying to virtualize modern versions of macOS, but that might just have something to do with my wanky setup.

An a little bit more involved alternative is the OSX-KVM project, which allows for much more customization, but is also exclusively terminal based. This might sound a little intimidating at first, but still should be rather managable with the great guides provided, allows for even easier customization and opens the door to really advanced setups. This one worked first try for me and allowed me to try out the software I was interested in, albeit still with some caveats. As expected 3D acceleration was nowhere to be seen, but other graphical issues like all the browsers I tried not being able to properly render websites made using the system a real challenge at times.

Overall, I am really thankful that these projects even exist, not just because they are technologically impressive, but because the also have a real use case (mostly building and testing software) and can thus make the life of certain people much easier. If you have a spare minute, feel free to give them a try and have a little fun, but don't be upset in case they don't work first try...

RSS feed