You don't need to rewrite the GPU rom! I never set it up fully due to other issues, but I had High Sierra + GPU passthrough working quite well in ESXI last fall.
I would still be using ESXI now, except my (unusual) goal was to run 10.9, and I couldn't for the life of me get GPU passthrough working in 10.9.
The neat thing about ESXI, though, is that it is officially supported by macOS. Only on Apple hardware, of course, but with ESXI the motherboard is all fake anyway, so it works identically regardless of the host's hardware. All you need to do is patch out the Apple hardware check, which is easy.
I don't! For whatever reason, there is precious little information on the internet for running macOS in ESXI. I got the original idea from another Hacker News comment: https://news.ycombinator.com/item?id=17766016 And then, this is what you need to enable macOS on non-Apple hardware: https://www.insanelymac.com/forum/files/file/964-macos-unloc... The rest is the same as setting up any other VM in ESXI with GPU passthrough, so you can read tutorials on that.
High Sierra and an nVidia card "just worked" for me on ESXI. (Sadly, Mavericks did not—I could not get the GPU to output anything—and that was the only OS I cared about—but you probably don't care.)
There's a lot more information on using KVM, so you may want to go that route instead. But of course, then then you need to use a Hackintosh bootloader like Clover or OpenCore. It was really cool having everything just install natively with ESXI.
I would still be using ESXI now, except my (unusual) goal was to run 10.9, and I couldn't for the life of me get GPU passthrough working in 10.9.
The neat thing about ESXI, though, is that it is officially supported by macOS. Only on Apple hardware, of course, but with ESXI the motherboard is all fake anyway, so it works identically regardless of the host's hardware. All you need to do is patch out the Apple hardware check, which is easy.