This is totally false.This is a message shown on the FreeBSD ML some days ago :
Who said it's possible to use loadable kernel drivers between different version of the FreeBSD kernel should proof it.This is a message shown on the FreeBSD ML some days ago :
Do you know what a patch or a diff is?
I think I can apply a patch following these explanation :
Solved - Applying an unofficial patch on a port
Hi, Noob question maybe but I am kind of desperate here. I can't figure out how to apply a custom patch on a port. I only have basic knowledge about ports. My company is asking me to make security/teleport version 8.x.x or more work on FreeBSD. The current version present in ports/pkg (4.3.9)...forums.freebsd.org
but I'm not able to understand where I can find the patch.
Who said it's possible to use loadable kernel drivers between different version of the FreeBSD kernel should proof it.
Point it out in https://docs.freebsd.org/en/books/arch-handbook/book, or proof it on a running system.
If it's possible I stand corrected, but it doesn't look like it's possible.
View attachment 19434
Except vmm_140.ko (copied from a installed system) all other modules are build from local source ( src/sys/modules/vmm/ ), after checkout of respective branch.
Instead of accepting a binary kernel module you should have asked the author for a patch.
From the ML :
I remember having read in the book The Design and Implementation of the FreeBSD® Operating System Second Edition by Marshall Kirk McKusick, George V. Neville-Neil, and Robert N.M. Watson, that FreeBSD has the ability of using drivers compilers for previous versions of FreeBSD by an stable ABI. (Which also kind of implies forward compatibility of drivers). My question is this true ? And if true. where is the documentation of such ABI? And I can statically link to the kernel one of this portable kernels?
So do I understand that correctly that 14.0 is working correctly for you? Then why did you need for somebody to give you the module?
I have two FreeBSD systems on two different disks. On the first disk (ZFS) there is 14.0 where the GPU passhthru works great. On another disk (UFS) I have upgraded 14.0 to 14.1 (using the freebsd-update script). Here the vmm.ko module that works on 14.0 does not work.
[root@marietto /home/marietto]==> kldstat | grep vmm
11 1 0xffffffff81fd7000 37c540 vmm-win.ko
root@marietto:/home/marietto/Desktop # kldstat | grep vmm
6 1 0xffffffff82177000 37c9e8 vmm.ko
If that is accurate that opens the question how PCI passthrough could have become broken without anybody else noticing and opening a big report.
You hit the nail on the head. The gpu passthru for the Windows VMs and the nvidia gpus works for a limited number of users. The special thing is that it is working for me at least on the 14.0. The developers say that they don't understand fully why in most cases Windows reports error 12 or the error 39. So,the reason why it works is buried between the patches that have been developed for the stock 14.0 and maybe another patch developed for the 14.1 broke something on the 14.0. Or maybe the secret can be found with the reverse engineering of the vmm.ko file ? or by exploring which source code or patches have been used ? I guess that looking for the patch that broke the functionality is like looking for a needle in a haystack.
---> Can you share your config ?
Which config do you need ?
/boot/loader.conf :
vmm_load="YES"
pptdevs="2/0/0 2/0/1 2/0/2 2/0/3"
/bhyve/12-Win-11-vm12.sh :
/usr/sbin/./bhyve -S -c sockets=4,cores=2,threads=1 -m 8G -w -H \
-s 0,hostbridge \
-s 1,ahci-hd,/mnt/$vmdisk0'p2'/bhyve/img/Windows/11/Windows11.img,bootindex=1 \
-s 2,ahci-hd,/dev/$vmdisk5 \
-s 8:0,passthru,2/0/0 \
-s 8:1,passthru,2/0/1 \
-s 8:2,passthru,2/0/2 \
-s 8:3,passthru,2/0/3 \
-s 13,virtio-net,tap12 \
-s 29,fbuf,tcp=0.0.0.0:5912,w=1600,h=950,wait \
-s 30,xhci,tablet \
-s 31,lpc \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd \
vm0:12 < /dev/null & sleep 2 && vncviewer 0:12
If you want FreeBSD and Windows on the same machine, have you considered Proxmox?
… FreeBSD 14.0-RELEASE-p6 is approaching its End-of-Life …
git bisect start
git bisect bad
git bisect good COMMIT_OF_14.0
git bisect good
git bisect bad
Ciao. It's a pleasure for me to see you here. I've said the same as you on post-661184,so everything is good . Is the GPU passthru working for you on 14.1 ?