ESXi passthrough kind of works?

The last couple days, I spun up a couple VMs on ESXi 6.5 and have had some success passing gpu’s to them. I gave Windows 10 a 1080ti, and with one flag set to mitigate the infamous Error 43, I was off and running. Cinebench scores were almost as good, and in one run, better than bare metal. Astounding.

I also got Mac OS 10.10 and 10.12 running very well. They, too, can take the gpu pt and even install and load nvidia web drivers as well as identify the card in system profile.

The thing is… There is no output to the card. Windows will do it, but Mac os only sends video to the console. I’m stumped on how to solve it. It detects the card, but does not show a display. I’ve tried DP, HDMI, and DVI- all three. The card is a 980ti. I tried with the former card as well- no dice. Windows will work with either. FWIW, the 980ti is the primary card, but it doesn’t really matter in ESXi, as it will happily run totally headless.

There are some other random issues, but that’s the biggest hurdle I’m facing. I’ve tried a number of things, but I’ll spare you the tedious details and just ask if anyone has any idea what migh be happening? Will update as I try some Linux distros this week or next as well as an AMD card (I have an old hd7750 and an HD5450 lying around that might work).

I wish I could get that far, I am using Sandy-EP Chips which as it turn out, when using them on X79 board dont support VT-d, I still have VT-x thou… not completely a waste…

Any ideas, @SgtAwesomesauce, @NetBandit, @tkoham, @wendell, @faftek?

I feel like maybe there’s one stupid line I’m missing. I tried the pci-hole thing, to no avail. Either way, I don’t think it’s needed in esxi 6.5 anyway. The memory reservation is automatic. Must be some Mac OS dark magic, right?

I also disabled the console output, which didn’t help. Also note that there is no igpu; the system is X99.

proprietary

All joking aside, from what I understand, Apple only supports certain GPUs. This makes it problematic to pass the card through. I have no experience with Apple, so my advice is that if one OS will do it while the other will not, your problem is the OS.

Have you tried KVM on Linux?

I wish I could help. I have no experience with hardware pass-through.

Update:

I got it to work. Briefly.
Sierra just won’t give me video output, but Yosemite will. It worked once or twice, then when I chose to mirror displays (so I could actually see everything), it lowered the res so that everything was huge. Normal behavior. I shut down and added the USB controller. Boot loop.

Shut down, lose the controller, start again, boot loop. Power off, then finally a successful boot, only to console. Same problem as before. Reboot AGAIN, then I can see in the console that each time it attempts a boot, the displays are initialized, and in the console, my cursor is huge (screen res set from before, all good), and then the displays go back into standby as it crashes and reboots itself until I stop it.

I tried removing and re-adding the cards, USB controller, whatever combination. No good.

I’m gonna try again next with a fresh install of El Capitan.

By the way, the HD 7750 had the same issue on Sierra as the geforce cards did.

It is worth noting, however, that while it was working, it seemed to have gpu acceleration. It did still have the ESXi console display attached, but was smooth and snappy on the physical displays.

FWIW, I upped the system to esxi 6.5U1 first.

Will update again when I find out more.

To answer your question, I messed around a lot with KVM on both Fedora and Ubuntu, which works to some extent, but is overly complicated for getting mac os to run (didn’t work at all for me, but others have done it), when compared to esxi. I also like the esxi web interface. Well, actually, it’s buggy and slow, but it’s easier for me than tunneling virt-manager through ssh. I also had a number of problems with KVM when passing the primary GPU, while esxi makes it mostly painless. Unfortunately, I don’t have room for any more cards, so mitigating that with a third gpu is out of the question.

If all I was virtualizing was Windows and Linux, I’d be all over KVM. Also, docker is my jam.

1 Like

I’ve only got OSX to run with no passthrough (recovering iphoto data from a borked laptop). Never really tried it, so i figured I’d at least mention it. I remember needing to extract some data from a chip on the mac, which would fall under the whole “piracy” rule if I were to share the data, but extracting it is easy and adding the device to QEMU is easy.

I’d only tried it on Yosemite, so you may have to stick to it. From what I’ve been reading about it, anything past Yosemite is iffy on whether it even works or not.

I just don’t like VMWare because of things they’ve done to fuck over Linux, but I’m being petty about it, so don’t take it too seriously. (at least I can admit that!)

That’s entirely fair. Proxmox might be a happy medium for you. With 5.0 release, they’ve added PCI device passthrough to the Web UI. I haven’t tried it because I haven’t had the time to build out a node, but I’ll definitely give it a look some time soon.

I didn’t realize ESXi makes it so nice. I’m genuinely curious about this now. Research away!

My solution for this is to either use a system with a primary GPU or throw in an R7 240 I’ve got laying around. 1 slot, no 6pin, quiet. You said that’s out of the question though. :confused: I wonder if you could do something with a USB video adapter. It would be a cool experiment. I might have to try it.

2 Likes

I’ve got a USB video adapter and some spare time on the horizon. I’ll see if I can poke this bear in the next week.

2 Likes

That saves me $50, so I’m all for it!