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 : "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: Sat, 03 Dec 2022 16:34:30 UTC
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