Thanks for that info Stephan. Yup it's an UEFI install since I'm using the 
following line in my bhyve script:

-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd,fwcfg=qemu

And yea it may be possible something is going on with AMD CPU hosts...

Jonathan Vasquez
PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
Sent with ProtonMail Secure Email

Sent with [Proton Mail](https://proton.me/mail/home) secure email.

-------- Original Message --------
On Saturday, 08/30/25 at 20:11 Jonathan Vasquez <j...@xyinn.org> wrote:

> Hey all,
>
> I've updated my blog post with more information and some useful screenshots: 
> https://xyinn.org/blog/freebsd/freebsd_bhyve_gpu_passthrough_amd
>
> The important stuff to mention is that I've also gotten a chance to play with 
> vm-bhyve, but for the purposes of making sure we get as clear information as 
> possible without having to unwrap the vm-bhyve scripts, I'll continue to use 
> bhyve directly. With that said, some useful info:
>
> - The vBIOS is not required when running on Windows as mentioned by Corvin 
> here: 
> https://lists.freebsd.org/archives/freebsd-virtualization/2022-June/000797.html,
>  thus I've stopped using it. I was however also able to successfully use his 
> "echo 1 ..." recommendation to dump the bios from within Linux (Fedora 42). I 
> actually failed to extract the bios before (without using amdvbflash) because 
> most likely my Linux Mint 22.1's Kernel was too old to extract the ROM. When 
> I tried to do the same exact thing today with Fedora 42, it worked, and I was 
> able to see the "rom" file from Fedora 42, but not from Linux Mint 22.1.
> - I was able to get the GPU to load without a Code 43 error. But it's still 
> unusable. I was actually able to get to this state before but it was 
> inconsistent. Through more research I was able to get it to be reproducible. 
> There are a few things to mention here:
>
> - The card will always start in a Code 43 failed state regardless of what I 
> mention below (including if I reboot the host).
> - If you use RDP, the card will always be in a Code 43 state.
> - If I use VNC, the card will start in a failed state (as mentioned above), 
> HOWEVER, you will be able to go into the Device Manager, Disable the card, 
> and then Enable the card, and it will be enabled successfully as you can see 
> in my screenshots. The OS will also give it resources from what we can see in 
> the Device's Properties' Resources Tab.
>
> Given what I mentioned above, I would recommend (as some other people 
> recommended in other links I've found), to disable the card in the VM before 
> you shut it down, and then enable it from inside of Windows when you turn it 
> back on. Although I don't know how necessary this is given that if I use VNC, 
> even if it starts off in a failed state (let's say from a fresh host reboot), 
> doing the "device re-nabling trick" will let it load successfully again. At 
> this point since I've gotten the card to say it worked, I'm not sure how to 
> tell Windows to use that as the main GPU when I run my apps. I've looked at 
> some examples online of using display settings to change the preferred card, 
> but I don't see it listed there. Am I suppose to see the card in dxdiag if 
> I'm using VNC? I'm just running the bhyve VM on my server, and I VNC over 
> from my laptop on the same LAN network. I'm guessing if things are working 
> correctly I should be able to do that right? I know there are also some 
> benchmarking apps that show you what GPUs its detected and maybe allow you to 
> pick one to run a benchmark on. I tried opening FurMark but it fails saying 
> that it only detects Open GL 1.1 and all of that... I actually tried 
> installing Mesa for windows to see what happens and that does help but it's 
> slow and it's clearly not using the card and most likely doing some sort of 
> software rendering (maybe like a Windows llvmpipe).
>
> Jonathan Vasquez
> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
> Sent with ProtonMail Secure Email
>
> On Monday, August 25th, 2025 at 14:51, Jonathan Vasquez <j...@xyinn.org> 
> wrote:
>
>> No go for my testing inside a Linux Mint 22.1 VM. Fully updated, and passing 
>> in both 3/0/0 and 3/0/1 for my AMD Radeon card. I was able to extract some 
>> of the "dmesg" and "eglinfo" output. Running "glxinfo" also showed that the 
>> OpenGL renderer was set to llvmpipe, so software rendering :(. "lspci -k" 
>> detected it and showed that it was using the "amdgpu" kernel driver. Since 
>> I'm using vm-bhyve atm I didn't test this with the dumped rom, just directly 
>> passing them through. I've uploaded some of the logs here for now in case 
>> anyone wants to take a glance at them:
>>
>> https://xyinn.org/freebsd/files/gpu_pass/2025-08-25/
>>
>> Jonathan Vasquez
>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
>> Sent with ProtonMail Secure Email
>>
>> On Monday, August 25th, 2025 at 14:37, Robert Cocker <rcocke...@gmail.com> 
>> wrote:
>>
>>> Hey group has bhvye core dev baked out an update for this
>>>
>>> Robert
>>> ---------------------------------------------------------------
>>>
>>> From: owner-freebsd-virtualizat...@freebsd.org 
>>> <owner-freebsd-virtualizat...@freebsd.org> on behalf of Jonathan Vasquez 
>>> <j...@xyinn.org>
>>> Sent: Monday, August 25, 2025 11:35:31 AM
>>> To: Jonathan Vasquez <j...@xyinn.org>
>>> Cc: Stephan Althaus <stephan.alth...@duedinghausen.eu>; 
>>> virtualization@freebsd.org <virtualization@freebsd.org>
>>> Subject: Re: GPU Passthrough on FreeBSD 14.3 (AMD Radeon RX 6900 XT and 
>>> Windows 10 Pro)
>>>
>>> I was able to get a fresh Win 10 Pro VM running through vm-bhyve but no 
>>> progress. Still same Code 43 error as before. I wasn't able to figure out 
>>> how to pass the rom=bios.rom​ through vm-bhyve, I didn't see anything about 
>>> it in the config.sample file and I also tried to bypass that by adding it 
>>> in bhyve_options but no go, the VM wouldn't even start if I did that. I see 
>>> there is a "bhyve_devices" that contains all of the slot devices but I 
>>> don't see that as an adjustable variable based on the config.sample info. 
>>> I've pasted my current vm-bhyve template below. My next test is to try the 
>>> same thing inside a Linux guest to see what happens.
>>>
>>> ----------------
>>>
>>> loader="uefi"
>>> cpu="4"
>>> cpu_sockets="1"
>>> cpu_cores="4"
>>> cpu_threads="1"
>>> memory="16G"
>>> wired_memory="yes"
>>>
>>> utctime="no"
>>> ahci_device_limit="8"
>>>
>>> disk0_type="nvme"
>>> disk0_name="disk0.img"
>>>
>>> network0_type="e1000"
>>> network0_switch="public"
>>>
>>> passthru0="3/0/0=2:0"
>>> passthru1="3/0/1=2:1"
>>>
>>> #bhyve_options="-s 2:0,passthru,3/0/0,rom=bios.rom"
>>>
>>> # Using RDP post-install.
>>> graphics="no"
>>> graphics_port="5900"
>>> graphics_listen="0.0.0.0"
>>> graphics_res="1920x1080"
>>> graphics_wait="yes"
>>>
>>> xhci_mouse="yes"
>>> uuid="535d54b5-81cb-11f0-93a2-98b78501bda8"  
>>> network0_mac="58:9c:fc:04:5a:eb"
>>>
>>> ----------------
>>>
>>> Jonathan Vasquez
>>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
>>> Sent with ProtonMail Secure Email
>>>
>>> On Monday, August 25th, 2025 at 11:05, Jonathan Vasquez <j...@xyinn.org> 
>>> wrote:
>>>
>>>> Unfortunately I don't have an intel machine with an available PCIe slot. 
>>>> However I'm trying another thing which is to passthrough the card to a 
>>>> Linux guest. I need to run more experiments but a preliminary boot of a 
>>>> Linux Mint ISO did show the AMD Radeon RX 6900 XT card in lspci​ and 
>>>> showed that it was using the amdgpu​ driver. I then did a basic glxgears​ 
>>>> and it opened up in my VNC window and showed the FPS counter at over 2000 
>>>> fps. The only issue I noticed was when shutting down the live CD 
>>>> environment there were amdgpu​ failure messages where it was failing to 
>>>> write something to it. I'm currently redoing my "basic bhyve script" and 
>>>> moving it over to "vm-bhyve" since it seems a lot of people are using that 
>>>> instead of the more manual approach. This should hopefully help simplify 
>>>> things for debugging. If the card works on Linux via passthrough this 
>>>> would also be useful info and can allow me to see the performance of 
>>>> Cyperpunk 2077, and some other games (even if I'm not getting 100% of the 
>>>> card's performance).
>>>>
>>>> Jonathan Vasquez
>>>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
>>>> Sent with ProtonMail Secure Email
>>>>
>>>> On Monday, August 25th, 2025 at 11:00, Stephan Althaus 
>>>> <stephan.alth...@duedinghausen.eu> wrote:
>>>>
>>>>> On 8/25/25 16:56, Jonathan Vasquez wrote:
>>>>>
>>>>>> Hey Stephan,
>>>>>>
>>>>>> Yup, I've tried passing both 3/0/0 and 3/0/1 and no go, and I also make 
>>>>>> sure to reboot the host in between runs due to the amd hardware issue. I 
>>>>>> don't believe 3/0/1 is necessary though based on the examples by Corvin 
>>>>>> in his talk. He only passed in 3/0/0 (I'm guessing his card also has a 
>>>>>> 3/0/1 function that he isn't using since that's the audio channel).
>>>>>>
>>>>>> Jonathan Vasquez
>>>>>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
>>>>>> Sent with ProtonMail Secure Email
>>>>>>
>>>>>> On Monday, August 25th, 2025 at 10:52, Stephan Althaus 
>>>>>> <stephan.alth...@duedinghausen.eu> wrote:
>>>>>>
>>>>>>> On 8/25/25 16:47, Stephan Althaus wrote:
>>>>>>>
>>>>>>>> On 8/24/25 23:58, Jonathan Vasquez wrote:
>>>>>>>>
>>>>>>>>> Hey all,
>>>>>>>>>
>>>>>>>>> I've been experimenting with trying to get my server's dedicated AMD 
>>>>>>>>> Radeon RX 6900 XT working on a bhyve Windows 10 Pro client for gaming 
>>>>>>>>> purposes. I've been reading a bunch of blog posts, sites, files, and 
>>>>>>>>> videos (thanks Corvin) to try and piece things together. I've been 
>>>>>>>>> able to get the VM to recognize the card, but still stuck on the Code 
>>>>>>>>> 43 issue (with or without using the vBIOS I've extracted from my 
>>>>>>>>> dedicated card and also ensuring any options needed to be on in the 
>>>>>>>>> UEFI settings are enabled). This machine is running on an AMD Ryzen 9 
>>>>>>>>> 7950X 16-Core Processor, so it's a full AMD setup, no Intel stuff. It 
>>>>>>>>> technically should be relatively "easy" to get AMD working from what 
>>>>>>>>> I've read (excluding the known AMD Hardware reset issue). I've 
>>>>>>>>> documented everything I've done so far, and will be documenting more 
>>>>>>>>> and simplifying the instructions as I make progress. Please let me 
>>>>>>>>> know if you see any thing weird or anything I could try based on what 
>>>>>>>>> I've rewritten. I'll try to give it a go and provide feedback. Thank 
>>>>>>>>> you!
>>>>>>>>>
>>>>>>>>> https://xyinn.org/blog/freebsd/freebsd_bhyve_gpu_passthrough_amd
>>>>>>>>>
>>>>>>>>> Jonathan Vasquez
>>>>>>>>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
>>>>>>>>> Sent with ProtonMail Secure Email
>>>>>>>>
>>>>>>>> Hi!
>>>>>>>>
>>>>>>>> i have a AMD RX6400 GPU setup running on 14.2 with win10 guest, host 
>>>>>>>> is a intel system.
>>>>>>>>
>>>>>>>> i think you have to passthrough the 3/0/1 device as well!
>>>>>>>>
>>>>>>>> The bios.rom is extracted from this card in place ?
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Stephan
>>>>>>>
>>>>>>> Ah, and be shure to reboot the whole setup, inclusive host, for every 
>>>>>>> new test-case,
>>>>>>> at least as long at is not guaranteed that we can live without..
>>>>>>>
>>>>>>> Regars,
>>>>>>> Stephan
>>>>>
>>>>> Hi!
>>>>>
>>>>> My only next assumption would be that this only does not work on AMD host.
>>>>>
>>>>> You don't have an intel system to test, you would havedone it, if so.. (?)
>>>>>
>>>>> Stephan

Reply via email to