I’d like to start by saying that we appreciate that Linus Tech Tips saw fit to cover (and cite) our work. We appreciate the exposure their recent video gave VFIO and OS X Virtualization, too. We consider any way we can get people involved with our (admittedly niche) community of tech enthusiasts a net positive.

However, there are a number of issues with their video, as well as the way Linus’ team chose to handle coverage of OS X passthrough. I’d like to address these issues on behalf of our writers and the community at large. Linus’ Viewership dwarfs both TPP’s and the wider VFIO community, and as a result, there’s been a set expectation that we can aid total newcomers with this advanced process, when they’ve been fed misinformation about best practices and procedure.

We want to help, but in order to do so, we need to correct some points in the Tech Tips video. Because we had no input on that particular piece of content, we’ve compiled a non-comprehensive list of issues that should be considered if you’re working off their video instead of following our text tutorial (or someone else’s):

  • There are issues with the OVMF firmware in the Khoila Github Repository mentioned in the video. It has a resolution bug that is fixed in the firmware linked in our guide and most newer guides in general. As a rule of thumb, don’t mix guides in the middle of following them when you’re attempting something as complicated as a passthrough VM
  • This process requires prior knowledge of several complex pieces of software. Please read through a more generic passthrough guide or documentation on KVM and qemu/libvirt. Knowledge of these are prerequisite for making OS X passthrough work. I’d recommend attempting passthrough with a more mundane guest OS, like Windows or Linux, to get a feel for the process, if you have the time.
  • Manjaro is not required as a host OS for KVM/Qemu. Nearly any Linux distribution will work. That said, we recommend against using Manjaro, Ubuntu, Mint, and a few other distributions, because they make the setup process more difficult or make support problematic. In Manjaro’s case, it isn’t fully compatible with its base distribution, Arch Linux. Far fewer people are familiar with Manjaro’s anachronisms than Arch, and the superficial similarity usually leads people astray. If you want access to Arch’s bleeding edge software without the hassle of setting it up, I recommend using one of many upstream faithful Arch-based distros, like Antergos, Anarchy Linux, or SwagArch.
  • The video uses an NVMe drive instead of an image on fast media for the VM. This raises 1 of 2 issues: They might be using VirtIO, which can degrade performance because OS X does not officially support VirtIO devices and does not provide accelerated VirtIO guest drivers. Otherwise, they were passing through the raw NVMe device, and that would complicate setup in a different way, but they did not explain their methods fully.
  • High Sierra was used in the Tech Tips Tutorial, but it isn’t mentioned why. The reason is that Mojave and likely all future versions of OS X drop support for 10 series Nvidia GPUs. Nvidia passthrough on Mojave won’t work even if you do everything else correctly.
  • On the topic of hardware compatibility, the video title’s claim that the process will let you “Run OS X on any PC” is misleading. KVM has a strict set of compatibility requirements for passthrough, and OS X is incredibly finnicky outside of native hardware. You need a processor with virtualization extensions, and a motherboard/chipset with proper IOMMU isolation. This functionality is restricted to high end desktop platforms and servers out of the box. Other hardware combinations typically need tweaks and patching to work properly, further complicating setup. Many AMD GPUs have issues with resetting in VMs. Nvidia 10 and 20 series GPUs are only conditionally supported or lack support entirely. Modern dual GPU laptops are almost all completely incompatible. Other PCIe cards, like USB controllers and sound interfaces, need to be evaluated on a case by case basis. Mojave Requires SSE 4.2 for its graphical environment to work, which eliminates a lot of older architectures that have virtualization capability. These constraints are different, but not necessarily more forgiving than the ones for setting up a normal Hackintosh.
  • No matter how successful the OS X setup process is, it will not be safe to update your VM. Certain native apps, like iMessage and AirDrop, will not function properly (without a lot of additional work.) In addition, the majority of wireless cards will not work when passed through directly to the VM.
  • There are several other bizarre claims made in the video. For example, the version of Qemu they chose to use did not boot correctly at one point, and they cited some sort of ‘VM Lockout’ as the reason for the issue. This is, to our knowledge, false. The security that has to be circumvented in setting up an OS X VM (like the OSK) is common to all Hackintosh projects.

We would’ve been happy to assist the Linus Tech Tips team had they notified us beforehand that they were using our guide to produce content. We want more visibility for VFIO as much as anyone else does. An email, tweet or discord message would have sufficed to gain our assistance in ironing out their methodology. They neglected to reach out to us, however, and as a result, put a lot of strain on the VFIO community with the inrush of new questions based on innacurate information and inexperience.

Setting up an OS X passthrough VM is a complicated undertaking, and misrepresenting the work involved was irresponsible. It’s loaded down the small population capable of doing support with problems that could have been addressed by ensuring the accuracy of the original video.

This development has been disappointing in a number of ways, but chiefly because newcomers are being misled about the scope and proper use of the technologies we cover. Linus Tech Tips has a much larger platform than we do, and it’s a shame such a large pool of potential VFIO users is being fed erroneous information and writing off VFIO as a result.

Let me stress that we hold no ill will towards Linus Tech Tips for their efforts, we just want to exercise due diligence and make sure their viewership has access to good information. My hope is that this document can serve as a warning to those just jumping in from their video, as well as a guide to get them on the right track before acting on Linus Tech Tips’ advice and running into problems. I also hope that it reaches the team that made the video and they join us in spreading accurate info and getting more people into VFIO as a result.

I’d like to personally thank our writer, Daniel, as well as Foxlet, a knowledgeable Hackintosh developer, for bringing these issues to my attention and helping us with our current OS X guide.

We’re active on our discord if you need help in the meantime, but, we’re also working on a new OS X Guide and companion repository that will be more user friendly, as well as a few other pieces of Mac focused content to help new people get an OS X VM up and running.

Hopefully Linus Media Group elects to do the same.      

 

 

 

Tyson, EiC Passthrough Post