Using PCI pass-through in VMware ESXi 6.7 on a 2012 Mac Mini

I use a 2012 Mac Mini as a home VMware ESXi server. It’s a surprisingly great little machine, with exceptionally low power consumption and good performance. It runs several Linux and Windows VMs. I’ve been gradually migrating applications to it, and the most recent is my home PLEX server. To do that, I needed to move a Thunderbolt disk enclosure (OWC ThunderBay 4) to the Mini and attach it to a Linux VM. (I suppose an alternative might be to use raw disks, something I haven’t explored yet in ESXi.)

I ran into a snag trying to get this working. VMware let me put the ThunderBay’s two AHCI controllers in passthrough mode, but after doing the required reboot, they still weren’t in passthrough mode, and VMware still said a reboot was required.

I eventually found a KB article related to the issue, which wasn’t very helpful, but did provide some clues. Setting VMkernel.Boot.disableACSCheck to true in the system advanced settings did the trick. Will this shoot me in the foot? Time will tell, but it’s hard to believe this configuration knob would exist if it wasn’t necessary in the real world.

Update 2/13/2019: It turns out that this is pretty unreliable, so I’m going to move the disks over to a different enclosure and share them using USB. A Linux VM was able to access some data but suffered from frequent AHCI resets. FreeBSD and macOS VMs were unable to access anything at all. I found an additional KB article with a bit more information.