Re:_How_to_use_the_framebuffer_ as_primary_video_device_instead _of_the_nvidia_passed-through_g raphic_card_in_a_bhyve/linux_vm
- Reply: Mario Marietto : "Re: How to use the framebuffer as primary video device instead of the nvidia passed-through graphic card in a bhyve/linux vm"
- In reply to: Mario Marietto : "Re: How to use the framebuffer as primary video device instead of the nvidia passed-through graphic card in a bhyve/linux vm"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 04 Dec 2022 09:40:25 UTC
On December 3, 2022 7:14:29 PM GMT+01:00, Mario Marietto <marietto2008@gmail.com> wrote: >ok. I tried like this,but it didn't work : > >bhyve -S -c sockets=1,cores=2,threads=2 -m 4G -w -H -A \ >-s 0,hostbridge \ >-s 2,virtio-blk,/mnt/$vmdisk1'p2'/bhyve/img/Linux/ubuntu2210.img,bootindex=1 \ >-s 3,virtio-blk,/dev/$vmdisk4 \ >-s 4,virtio-blk,/dev/$vmdisk2 \-s 7,fbuf,tcp=0.0.0.0:5919,w=1600,h=950,wait \ >-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 10,virtio-net,tap19 \ >-s 11,virtio-9p,sharename=/ \ >-s 30,xhci,tablet \ >-s 31,lpc \ >-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd \ >vm0:19 < /dev/null & sleep 2 && vncviewer 0:19 > >I tried specifying the bus ID of the framebuffer and I have used this >xorg.conf file : > >Section "Files" > ModulePath "/usr/lib/xorg/modules" > FontPath "/usr/share/fonts/X11/misc" > FontPath "/usr/share/fonts/X11/cyrillic" > FontPath "/usr/share/fonts/X11/100dpi/:unscaled" > FontPath "/usr/share/fonts/X11/75dpi/:unscaled" > FontPath "/usr/share/fonts/X11/Type1" > FontPath "/usr/share/fonts/X11/100dpi" > FontPath "/usr/share/fonts/X11/75dpi" > FontPath "built-ins" >EndSection > >Section "Module" > Load "vnc" > Load "glx" >EndSection > > >Section "InputDevice" > Identifier "Keyboard0" > Driver "kbd" >EndSection > >Section "InputDevice" > Identifier "Mouse0" > Driver "mouse" > Option "Protocol" "auto" > Option "Device" "/dev/input/mice" > Option "ZAxisMapping" "4 5 6 7" > >EndSection > >Section "Monitor" > Identifier "Monitor0" > VendorName "Monitor Vendor" > ModelName "Monitor Model" >EndSection > >Section "Device" > Identifier "Card0" > Driver "modesetting" > BusID "PCI:0:7:0" > >EndSection > >Section "Screen" > Identifier "Screen0" > Device "Card0" > Monitor "Monitor0" > SubSection "Display" > Viewport 0 0 > Depth 1 > EndSubSection > SubSection "Display" > Viewport 0 0 > Depth 4 > EndSubSection > SubSection "Display" > Viewport 0 0 > Depth 8 > EndSubSection > SubSection "Display" > Viewport 0 0 > Depth 15 > EndSubSection > SubSection "Display" > Viewport 0 0 > Depth 16 > EndSubSection > SubSection "Display" > Viewport 0 0 > Depth 24 > EndSubSection >EndSection > >The error reported has been : > >https://ibb.co/1KX2h26 >https://ibb.co/Cv5FffB > >thanks. > >Il giorno sab 3 dic 2022 alle ore 17:34 Corvin Köhne <corvink@freebsd.org> >ha scritto: > >> On December 3, 2022 4:49:46 PM GMT+01:00, Mario Marietto < >> marietto2008@gmail.com> wrote: >>> >>> Hello to everyone. >>> >>> what Im trying to do is to set the framebuffer video adapter as primary >>> graphic card on my bhyve-ubuntu vm instead of the nvidia RTX 2080 ti card >>> that I have passed through. What I want to do really is to use both the >>> graphic adapters,but the primary should be the framebuffer and the >>> secondary the nvidia. I tried different Xorg configurations,but what I've >>> got is that Xorg failed to display some errors. So,the controller that you >>> see below should be used as primary inside the ubuntu vm : >>> >>> 00:1d.0 VGA compatible controller: Device fb5d:40fb >>> >>> while the ones you see below as secondary : >>> >>> 08:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti] (rev a1) >>> 08:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1) >>> 08:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev a1) >>> 08:00.3 Serial bus controller: NVIDIA Corporation TU102 USB Type-C UCSI Controller (rev a1) >>> >>> >>> The script that I use to launch the vm is the following : >>> >>> #!/bin/sh >>> setxkbmap it >>> vms="$(ls /dev/vmm/*)" >>> vncs="$(ps ax | awk '/vncviewer [0]/{print $6}')" >>> >>> for vm in $vms; do >>> session="${vm##*/}" >>> echo "bhyve session = $session" >>> echo "vnc session = $vncs" >>> if ! printf '%s\n' "${vncs}" | grep "${session}"; then >>> printf 'VNC session not found,destroying ghost vms\n' >>> bhyvectl --vm=$session --destroy >>> else >>> printf 'Found VNC session %s\n' "${session},no ghost vms found,not destroying them" >>> fi >>> done >>> >>> vmdisk1=`geom disk list | awk '/^Geom name: /{d=$NF} /^ *ident: (2015020204055E)/ && d{print d}'` >>> echo "TOSHIBA External USB 3.0 1.8 TB ; $vmdisk1" >>> >>> mount -t ufs /dev/$vmdisk1'p2' /mnt/$vmdisk1'p2' >>> >>> bhyve -S -c sockets=1,cores=2,threads=2 -m 4G -w -H -A \ >>> -s 0,hostbridge \ >>> -s 2,virtio-blk,/mnt/$vmdisk1'p2'/bhyve/img/Linux/ubuntu2210.img,bootindex=1 \ >>> -s 3,virtio-blk,/dev/$vmdisk4 \ >>> -s 4,virtio-blk,/dev/$vmdisk2 \ >>> -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 10,virtio-net,tap19 \ >>> -s 11,virtio-9p,sharename=/ \ >>> -s 29,fbuf,tcp=0.0.0.0:5919,w=1600,h=950,wait \ >>> -s 30,xhci,tablet \ >>> -s 31,lpc \ >>> -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd \ >>> vm0:19 < /dev/null & sleep 2 && vncviewer 0:19 >>> >>> For sure ,on /boot/loader.conf I've added : >>> >>> /boot/loader.conf >>> >>> pptdevs="2/0/0 2/0/1 2/0/2 2/0/3" >>> >>> As I said before,I tried two xorg conf files to achieve the goal. On the >>> first one I tried to add only the framebuffer,like this : >>> >>> >>> Section "Files" >>> ModulePath "/usr/lib/xorg/modules" >>> FontPath "/usr/share/fonts/X11/misc" >>> FontPath "/usr/share/fonts/X11/cyrillic" >>> FontPath "/usr/share/fonts/X11/100dpi/:unscaled" >>> FontPath "/usr/share/fonts/X11/75dpi/:unscaled" >>> FontPath "/usr/share/fonts/X11/Type1" >>> FontPath "/usr/share/fonts/X11/100dpi" >>> FontPath "/usr/share/fonts/X11/75dpi" >>> FontPath "built-ins" >>> EndSection >>> >>> Section "Module" >>> Load "vnc" >>> Load "glx" >>> EndSection >>> >>> >>> Section "InputDevice" >>> Identifier "Keyboard0" >>> Driver "kbd" >>> EndSection >>> >>> Section "InputDevice" >>> Identifier "Mouse0" >>> Driver "mouse" >>> Option "Protocol" "auto" >>> Option "Device" "/dev/input/mice" >>> Option "ZAxisMapping" "4 5 6 7" >>> >>> EndSection >>> >>> Section "Monitor" >>> Identifier "Monitor0" >>> VendorName "Monitor Vendor" >>> ModelName "Monitor Model" >>> EndSection >>> >>> Section "Device" >>> Identifier "Card0" >>> Driver "modesetting" >>> BusID "PCI:0:29:0" >>> >>> EndSection >>> >>> Section "Screen" >>> Identifier "Screen0" >>> Device "Card0" >>> Monitor "Monitor0" >>> SubSection "Display" >>> Viewport 0 0 >>> Depth 1 >>> EndSubSection >>> SubSection "Display" >>> Viewport 0 0 >>> Depth 4 >>> EndSubSection >>> SubSection "Display" >>> Viewport 0 0 >>> Depth 8 >>> EndSubSection >>> SubSection "Display" >>> Viewport 0 0 >>> Depth 15 >>> EndSubSection >>> SubSection "Display" >>> Viewport 0 0 >>> Depth 16 >>> EndSubSection >>> SubSection "Display" >>> Viewport 0 0 >>> Depth 24 >>> EndSubSection >>> EndSection >>> >>> >>> but it didn't work. This is the log file that shows the errors reported : https://pastebin.ubuntu.com/p/Gv7wgsDR4K/ >>> I have also removed the xorg.conf file,but it didn't work either. This is the log file that shows the errors reported : >>> >>> >>> https://pastebin.ubuntu.com/p/wNcfQTByQm/ >>> >>> Can someone give me some suggestions that can help me to understand where the mistake is,please,thanks. >>> >>> -- >>> Mario. >>> >> >> Try to assign a lower pci slot number to the framebuffer device than to >> the nvidia gpu in your bhyve command. >> -- >> Best regards, >> Corvin >> > > >-- >Mario. I'm unfamiliar with X but according to your logs it looks like it selects the framebuffer device as primary graphics in the first place: (--) PCI:*(0@0:7:0) ... (--) PCI: (0@0:8:0) ... -- Best regards, Corvin