bhyve bhyve GPU passthrough with very old GPU question

I'm beginning to explore bhyve after using QEMU and Virtualbox personally for years, and professionally with VMWare.

I have an ancient machine at home that I've installed FreeBSD 13.2 onto, and I've got two graphics cards, a modern-ish but low power AMD Radeon which is the main GPU and a NVIDIA Geforce 7300 which I'd like to use as GPU passthrough to a VM.

The NVIDIA is older than the Obama administration and, although has working drivers (Nvidia 304), it doesn't support ABI or something like that, so Xorg past version 1.20 won't run with it. As this is a proof of concept, and just me playing about with some junk, let's ignore that any VM running an OS with Xorg is going to have exactly the same issue.

My question is, would there be any hindrance in bhyve to using such an old GPU? Would it passthrough ok? Do I even need the NVIDIA drivers on the host in order to passthrough the hardware? Or have I misunderstood the concept completely?

Thanks
 
Do I even need the NVIDIA drivers on the host in order to passthrough the hardware? Or have I misunderstood the concept completely?
No you do not need drivers on host. Pass thru with PPT.
If it works for you might want to add a USB card via pci passthru for keyboard/mouse to help setup a VM desktop..

There is also a Nvidia secondary driver meant for Optimus laptops. A muxed video driver.
If your standard Nvidia 304 driver don't work try the secondary driver.

I have Nvidia GT720/730 working I don't know about that older card.

There is a way to passthru the Intel video on CPU to VM.
 
mario has a big thread with patches.

I had no patches whatsoever. I don't know if I stumbled into the magic combo or what.

Do note that this only works on FreeBSD Bhyve VM's. I tried no other OS.

I just remembered when first trying this out I had GT210 which is prior generation to GT720/GT730 which I ended up buying four.
So I say older the better maybe. I think it comes down to what the driver wants to allow.
The newer GT1060 and GT2060 seem to not work when this 'feature' was discovered.

You will need to add the Video Card PCI address to a video card config file for Xorg.
 
x11/nvidia-driver-304 doesn't work with recent Xorg server any more. It's been broken for quite some time. NVidia stopped supporting it a long time ago, so it's never going to be fixed.
Appreciated, aware of this pitfall. I've got a more recent Radeon that I'm using for host Xorg, my question was whether I could still use the NVIDIA as passthrough to a VM running Windows 7 or something like that, without the host FreeBSD requiring the drivers or doing any processing on it.
 
my question was whether I could still use the NVIDIA as passthrough to a VM running Windows 7 or something like that, without the host FreeBSD requiring the drivers or doing any processing on it.
Right. That's easy, the host needs to 'reserve' the device through pptdevs and cannot use it. So no need for drivers on the host side, regardless of the type of card you're passing though.
 
I have an ancient machine at home

Depending on *how* ancient that system is, you won't be able to passthrough pcie devices (or even run bhyve). The whole platform (CPU, mainboard/chipset and its UEFI) has to support VT-d for PCI Passthrough, and it has to support VT-x/EPT as a bare minimum to even run bhyve. Also see handbook chapter 24.6 for further requirements and how to check if your system fulfills them.
 
Depending on *how* ancient that system is, you won't be able to passthrough pcie devices (or even run bhyve). The whole platform (CPU, mainboard/chipset and its UEFI) has to support VT-d for PCI Passthrough, and it has to support VT-x/EPT as a bare minimum to even run bhyve. Also see handbook chapter 24.6 for further requirements and how to check if your system fulfills them.
Thanks for this. It's a 2006 Mac Pro, the fact that it still works and runs a modern operating system has exceeded my expectations greatly, but I'm excited to read the handbook, do some research and explore what it can and can't do with bhyve. No such thing as failure if your expectations are already blown apart!
 
according to what I found with a quick search, those systems used Woodcrest Xeon 5130 or 5150s, which both don't support EPT (only basic VT-x) or VT-d. IIRC without EPT you can only run a single bhyve VM, but without VT-d you will not be able to pass-through PCIe-devices.

 
according to what I found with a quick search, those systems used Woodcrest Xeon 5130 or 5150s, which both don't support EPT (only basic VT-x) or VT-d. IIRC without EPT you can only run a single bhyve VM, but without VT-d you will not be able to pass-through PCIe-devices.

Interesting, yes it has dual Xeon 5150's. Thanks for checking.

I have another machine, it has a single Intel Xeon W3680, does that have VT-d or EPT? I can't see it anywhere on the below spec sheet.

 
I have another machine, it has a single Intel Xeon W3680, does that have VT-d or EPT? I can't see it anywhere on the below spec sheet.

Not listed = not supported.

It only supports VT-x with EPT, so you can run bhyve but no PCIe passthrough.


TBH - those old Xeons you are using are insane power hogs and space heaters. Given the huge leaps in efficiency, I'd really consider moving to at least a Broadwell (e.g. Xeon E5 v4) based platform. Those are cheaply and widely available as used systems. Thanks to deeper C-states and generally improved efficiency, those systems run with MUCH less power consumption and heat dissipation.
 
I'd really consider moving to at least a Broadwell (e.g. Xeon E5 v4) based platform. Those are cheaply and widely available as used systems. Thanks to deeper C-states and generally improved efficiency, those systems run with MUCH less power consumption and heat dissipation.

Yeah, granted if I was more serious about this project, but the whole machine only cost me 40 USD and I'm having enough fun with it as it is. I only use it about an hour a day, so efficiency isn't a big concern for me at this point.

I may explore the PCI passthrough bhyve technology with a different machine I have further down the line 👍
 
Back
Top