If i understand shkhln correctly, it's the other way round. After masking the devices for passthrough, /dev/dsp8 becomes invalid because-s 20,hda,play=/dev/dsp8,rec=/dev/dsp8 \ works good without adding the passthru arguments. So,maybe it interferes with the passing thru lines.
since now you have fewer host visible audio devices
bhyve -S -c 4 -m 8G -w -H \
-s 0,hostbridge \
-s 1,virtio-blk,/mnt/da1p1/vms/os/ubuntu-budgie-gpu/ubuntu-2104-gpu.img \
-s 6,virtio-net,tap0 \
-s 2,passthru,1/0/0 \
-s 2:1,passthru,1/0/1 \
-s 2:2,passthru,1/0/2 \
-s 2:3,passthru,1/0/3 \
-s 29,fbuf,tcp=0.0.0.0:5900,w=1440,h=900 \
-s 30,xhci,tablet \
-s 31,lpc -l com1,stdio \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
vm0
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "AOC"
ModelName "I2769VM"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce RTX 2080 Ti"
Option "NoLogo"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1060"
Option "NoLogo"
BusID "PCI:2:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-3"
Option "metamodes" "DP-2: nvidia-auto-select +1920+0, DP-4: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
bhyve -S -c 4 -m 8G -w -H \
-s 0,hostbridge \
-s 1,passthru,1/0/0 \
-s 1:1,passthru,1/0/2 \
-s 1:2,passthru,1/0/3 \
-s 2,virtio-blk,/mnt/da1p1/vms/os/freebsd-13R/freebsd-13R.img \
-s 3,virtio-net,tap0 \
-s 29,fbuf,tcp=0.0.0.0:5900,w=1440,h=900 \
-s 30,xhci,tablet \
-s 31,lpc -l com1,stdio \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
vm0
pptdevs="1/0/0 1/0/2 1/0/3"
pciconf -v -l
ppt0@pci0:1:0:0: class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1e04 subvendor=0x19da subdevice=0x2503
vendor = 'NVIDIA Corporation'
device = 'TU102 [GeForce RTX 2080 Ti]'
class = display
subclass = VGA
hdac0@pci0:1:0:1: class=0x040300 rev=0xa1 hdr=0x00 vendor=0x10de device=0x10f7 subvendor=0x19da subdevice=0x2503
vendor = 'NVIDIA Corporation'
device = 'TU102 High Definition Audio Controller'
class = multimedia
subclass = HDA
ppt1@pci0:1:0:2: class=0x0c0330 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1ad6 subvendor=0x19da subdevice=0x2503
vendor = 'NVIDIA Corporation'
device = 'TU102 USB 3.1 Host Controller'
class = serial bus
subclass = USB
ppt2@pci0:1:0:3: class=0x0c8000 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1ad7 subvendor=0x19da subdevice=0x2503
vendor = 'NVIDIA Corporation'
device = 'TU102 USB Type-C UCSI Controller'
class = serial bus
You mean Intel Integrated Graphics, right? Intel is trying to get into the discrete GPU game (nothing released yet), but the code you reference is for Integrated Graphics... which is known to work under FreeBSD.Intel GPU on motherboard
Try passing something simpler, say, a sound (motherboard audio should suffice as well) or network card.
You mean Intel Integrated Graphics, right? Intel is trying to get into the discrete GPU game (nothing released yet), but the code you reference is for Integrated Graphics... which is known to work under FreeBSD.
I was referencing Phishfry 's remarks. The gist was to start with something simple, and then to add on, until you get to the RTX 2080. Just a basic troubleshooting strategy by eliminating a clutter of things that may be in the way of finding a solution.No. The intel graphic chipset is not enough powerful. I'm not interested to invest my time trying to making the pass thru of it. I want to pass the RTX 2080 ti. it is powerful enough to be used inside the ubuntu VM for a lot of tasks. The nvidia driver refuses to install if it does not find an nvidia graphics card inside the vm. But I've thought of a solution. I could pass thru the card in linux with qemu-kvm from linux to the freebsd/ubuntu/bhyve/guest os. When I have installed the driver,I will copy the img to freebsd and I will start bhyve.
/boot/loader.conf
pptdevs="1/0/0 1/0/1 1/0/2 1/0/3"
bhyve -S -c 4 -m 11G -w -H \
-s 0,hostbridge \
-s 1,virtio-blk,/mnt/da1p1/vms/os/ubuntu-budgie-gpu/ubuntu-2104-gpu.img \
-s 2:0,passthru,1/0/0 \
-s 2:1,passthru,1/0/1 \
-s 2:2,passthru,1/0/2 \
-s 2:3,passthru,1/0/3 \
-s 6,virtio-net,tap0 \
-s 29,fbuf,tcp=0.0.0.0:5900,w=1440,h=900 \
-s 30,xhci,tablet \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
vm0
Please, show us. I'm specifically interested in lspci output.Already did that. I've passed the network card and it worked. And I passed some spare devices attached on my mobo and it worked.
Or you could simply install the driver from a package. Ubuntu definitely has it packaged.The nvidia driver refuses to install if it does not find an nvidia graphics card inside the vm. But I've thought to a solution. I could pass thru the card in linux with qemu-kvm from linux to the freebsd/ubuntu/bhyve/guest VM. When I have installed the driver,I will copy the img to freebsd and I will start bhyve.
Logically, you attach your monitor to whatever port is supported by the monitor. This MUST work for both text and graphical mode.this :
Code:/boot/loader.conf pptdevs="1/0/0 1/0/1 1/0/2 1/0/3" bhyve -S -c 4 -m 11G -w -H \ -s 0,hostbridge \ -s 1,virtio-blk,/mnt/da1p1/vms/os/ubuntu-budgie-gpu/ubuntu-2104-gpu.img \ -s 2:0,passthru,1/0/0 \ -s 2:1,passthru,1/0/1 \ -s 2:2,passthru,1/0/2 \ -s 2:3,passthru,1/0/3 \ -s 6,virtio-net,tap0 \ -s 29,fbuf,tcp=0.0.0.0:5900,w=1440,h=900 \ -s 30,xhci,tablet \ -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \ vm0
I have a doubt : should I attach a monitor to an HDMI or Display port of the nvidia graphic card ? because I'm not doing it.
Or you could simply install the driver from a package. Ubuntu definitely has it packaged.
Logically, you attach your monitor to whatever port is supported by the monitor. This MUST work for both text and graphical mode.
Just, as was mentioned here, why won't you try to passthrough just ONE graphics card to start with?
Second. Passing through hda sound you don't need device names like /dev/dsp8. This may not even work. Just use /dev/dsp (no number) and the system will create and use the RIGHT one.
Third. At this point you don't need yet nvidia-driver. Make sure things work at all, then you'll install it.
You have no idea what you are doing.I'm not sure that the nvidia ubuntu packaged driver works. On the bug report that I've opened,Peter Grehan,asked :
Peter Grehan2021-08-25 11:12:03 UTC
Is this using the proprietary Nvidia driver in the guest ?
So,I supposed that the VM needs the proprietary nvidia driver. Unfortunately he didn't reply anymore.
I read enough dumb things in this thread, I'm not going to simply believe a statement that it works.Please, show us. I'm specifically interested in lspci output.
You have no idea what you are doing.
Also,
I read enough dumb things in this thread, I'm not going to simply believe a statement that it works.
bhyve -S -c 4 -m 11G -w -H \
-s 0,hostbridge \
-s 1,virtio-blk,/mnt/da1p1/vms/os/ubuntu-budgie-gpu/ubuntu-2104-gpu.img \
-s 2:0,passthru,1/0/0 \
-s 2:1,passthru,1/0/1 \
-s 2:2,passthru,1/0/2 \
-s 2:3,passthru,1/0/3 \
-s 6,virtio-net,tap0 \
-s 29,fbuf,tcp=0.0.0.0:5900,w=1440,h=900 \
-s 30,xhci,tablet \
-s 31,lpc \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
vm0