How to use the framebuffer as primary video device instead of the nvidia passed-through graphic card in a bhyve/linux vm

Mario Marietto <[email protected]>
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <CA+1FSihjdnxA+7T9fON=e3Wi1N6RhRQCm+6UCAA3K6fO=TOkJw@mail.gmail.com>
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 :



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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.