GPU Passthrough For FreeBSD's Bhyve Can Work But Is Fairly Rudimentary
FreeBSD's Bhyve hypervisor has had a wild ride over the past half-decade of development for advancing BSD virtualization support. Bhyve is mostly used on the server front but can also fill some desktop use-cases now that there is GPU pass-through support working albeit not yet polished.
FreeBSD contributor Yan Ka Chiu talked at last month's EuroBSDCon 2019 conference in Norway about Bhyve and accelerated graphics support. There isn't yet working support for the likes of Intel GVT or any virtual GPU solution for allowing shared GPU access / OpenGL acceleration from host to be exposed to guest VMs, but there is GPU pass-through support. The GPU pass-through support is somewhat similar to some of the hurdles that can be experienced on Linux too like worrying about the hardware initialization state before passing, the topology of the graphics processor, and various hardware quirks. This also doesn't work for booting a Windows VM but at least seems to be working out for FreeBSD-on-FreeBSD scenarios.
Yan Ka Chiu has been able to get both AMD Radeon (Polaris) and NVIDIA (Turing) graphics working with Bhyve GPU pass-through with some steps to overcome.
As for the GPU pass-through performance, using the basic glmark2 benchmark he found the performance to be about 66% that of the bare metal speed. More details in this slide deck.