Intel GVT-g virtual machine guest with FreeBSD-14.0-CURRENT fails

From: <markshank_at_aol.com>
Date: Thu, 28 Jul 2022 19:09:17 UTC
Created a libvirt virtual machine on an ubuntu-22.04-desktop-amd64 host following this tutorial:https://blog.tmm.cx/2020/05/15/passing-an-intel-gpu-to-a-linux-kvm-virtual-machine/

With the exception that it was UEFI instead of SeaBIOS by using the workaround described here:https://wiki.archlinux.org/title/Intel_GVT-g#Using_DMA-BUF_with_UEFI/OVMF

Tested it with ubuntu-22.04-desktop-amd64.iso Live CD to verify that it worked.
Installed FreeBSD-14.0-CURRENT-amd64-20220722-8f733dabcc3-256882-disc1.iso guest on same virtual machine.
Installed a desktop environment following these instructions:https://freebsdfoundation.org/freebsd-project/resources/installing-a-desktop-environment-on-freebsd/

Does not display desktop.
Is there a newer version of any of the components that I could test?
mds@freebsd14:~ $ dmesg | grep drmdrmn0: <drmn> on vgapci0vgapci0: child drmn0 requested pci_enable_iovgapci0: child drmn0 requested pci_enable_io[drm] Unable to create a private tmpfs mount, hugepage support will be disabled(-19).[drm] Got stolen memory base 0x0, size 0x0drmn drmn0: drm_WARN_ON(!timeout_expected)drmn drmn0: drm_WARN_ON(!timeout_expected)drmn drmn0: drm_WARN_ON(!timeout_expected)drmn0: could not load firmware image 'i915/kbl_dmc_ver1_04.bin'drmn0: [drm] Failed to load DMC firmware i915/kbl_dmc_ver1_04.bin. Disabling runtime power management.drmn0: [drm] DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915i915kms: drmn drmn0: Interrupt register 0x44308 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44318 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44328 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44338 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x64838 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44408 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44418 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44428 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44448 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0x44468 is not zero: 0xffffffffi915kms: drmn drmn0: Interrupt register 0xc4008 is not zero: 0xffffffffdrmn0: [drm] *ERROR* SKL Mailbox read error = -60lkpi_iic0: <LinuxKPI I2C> on drmn0lkpi_iic1: <LinuxKPI I2C> on drmn0lkpi_iic2: <LinuxKPI I2C> on drmn0[drm ERROR :fw_domain_wait_ack_clear] render: timed out waiting for forcewake ack to clear.drmn0: [drm:0xffffffff831866c9s] 0xfffffe00d2b26658V[drm ERROR :fw_domain_wait_ack_clear] blitter: timed out waiting for forcewake ack to clear.drmn0: [drm:0xffffffff831866c9s] 0xfffffe00d2b26658V[drm ERROR :fw_domain_wait_ack_clear] media: timed out waiting for forcewake ack to clear.drmn0: [drm:0xffffffff831866c9s] 0xfffffe00d2b26658Vdrmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* bcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vecs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* bcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vecs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm:0xffffffff831ee432s] 0xfffffe00d2b26648Vdrmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* bcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vecs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* bcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vecs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* bcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vecs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* rcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* bcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vcs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm] *ERROR* vecs'0 reset request timed out: {request: 00000001, RESET_CTL: 00010001}drmn0: [drm:0xffffffff831df9e9s] 0xfffffe00d2b26728Vdrmn0: [drm] *ERROR* rcs'0 TLB invalidation did not complete in 4ms!drmn drmn0: pipe_off wait timed outdrmn0: [drm] *ERROR* Timeout waiting for DDI BUF D to get idledrmn0: [drm] *ERROR* Failed to inform PCU about cdclk change (-35)drmn drmn0: cdclk state doesn't match!drmn0: [drm] *ERROR* DPLL 1 not lockeddrmn0: [drm] *ERROR* AUX D/port D: did not complete or timeout within 10ms (status 0xfe6003ff)drmn0: [drm] *ERROR* AUX D/port D: did not complete or timeout within 10ms (status 0xfe6003ff)drmn0: [drm] *ERROR* AUX D/port D: did not complete or timeout within 10ms (status 0xfe6003ff)drmn0: [drm] *ERROR* AUX D/port D: did not complete or timeout within 10ms (status 0xfe6003ff)drmn0: [drm] *ERROR* AUX D/port D: did not complete or timeout within 10ms (status 0xfe6003ff)drmn0: [drm] *ERROR* AUX D/port D: receive error (status 0xfe6003ff)drmn drmn0: AUX D/port D: not started (status 0xfe6003ff)drmn0: [drm] *ERROR* failed to enable link trainingdrmn0: [drm] *ERROR* Link Training Unsuccessful[drm ERROR :drm_atomic_helper_wait_for_flip_done] [CRTC:51:pipe A] flip_done timed outdrmn0: [drm] *ERROR* [CRTC:51:pipe A] mismatch in infoframes.enable 0xfffffe00d2b26530Vdrmn0: [drm] *ERROR* mismatch in avi infoframedrmn0: [drm] *ERROR* expected:drmn0: HDMI infoframe: Auxiliary Video Information (AVI), version 2, length 13drmn0:     colorspace: RGBdrmn0:     scan mode: No Datadrmn0:     colorimetry: No Datadrmn0:     picture aspect: No Datadrmn0:     active aspect: 14:9 Topdrmn0:     itc: No Datadrmn0:     extended colorimetry: xvYCC 601drmn0:     quantization range: Defaultdrmn0:     nups: Unknown Non-uniform Scalingdrmn0:     video code: 0drmn0:     ycc quantization range: Limiteddrmn0:     hdmi content type: Graphicsdrmn0:     pixel repeat: 0drmn0:     bar top 0, bottom 0, left 0, right 0drmn0: [drm] *ERROR* found:drmn0: [drm] *ERROR* Failed to enable SAGVdrmn drmn0: Unclaimed read from register 0xc4004lkpi_iic3: <LinuxKPI I2C> on drm1lkpi_iic4: <LinuxKPI I2C> on drm2lkpi_iic5: <LinuxKPI I2C> on drm3lkpi_iic6: <LinuxKPI I2C> on drm4[drm] Initialized i915 1.6.0 20200917 for drmn0 on minor 0drmn0: [drm] Cannot find any crtc or sizes[drm ERROR :drm_atomic_helper_wait_for_dependencies] [CRTC:51:pipe A] flip_done timed out[drm ERROR :drm_atomic_helper_wait_for_dependencies] [CONNECTOR:116:DP-4] flip_done timed outdrmn0: [drm] *ERROR* Timeout waiting for DDI BUF D to get idledrmn0: [drm] *ERROR* Failed to enable SAGVdrmn0: [drm] Cannot find any crtc or sizesmds@freebsd14:~ $

root@freebsd14:/var/log # cat Xorg.0.log[  4349.263] X.Org X Server 1.20.14X Protocol Version 11, Revision 0[  4349.263] Build Operating System: FreeBSD 14.0-CURRENT amd64 [  4349.263] Current Operating System: FreeBSD freebsd14 14.0-CURRENT FreeBSD 14.0-CURRENT #0 main-n256882-8f733dabcc3: Fri Jul 22 08:31:37 UTC 2022     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64[  4349.263] Build Date: 26 July 2022  09:04:55AM[  4349.263]  [  4349.263] Current version of pixman: 0.40.0[  4349.263]    Before reporting problems, check http://wiki.x.org        to make sure that you have the latest version.[  4349.263] Markers: (--) probed, (**) from config file, (==) default setting,        (++) from command line, (!!) notice, (II) informational,        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.[  4349.263] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jul 28 09:45:52 2022[  4349.263] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"[  4349.263] (==) No Layout section.  Using the first Screen section.[  4349.263] (==) No screen section available. Using defaults.[  4349.263] (**) |-->Screen "Default Screen Section" (0)[  4349.263] (**) |   |-->Monitor "<default monitor>"[  4349.263] (==) No monitor specified for screen "Default Screen Section".        Using a default monitor configuration.[  4349.263] (==) Automatically adding devices[  4349.263] (==) Automatically enabling devices[  4349.263] (==) Not automatically adding GPU devices[  4349.263] (==) Max clients allowed: 256, resource mask: 0x1fffff[  4349.263] (==) FontPath set to:        /usr/local/share/fonts/misc/,        /usr/local/share/fonts/TTF/,        /usr/local/share/fonts/OTF/,        /usr/local/share/fonts/Type1/,        /usr/local/share/fonts/100dpi/,        /usr/local/share/fonts/75dpi/,        catalogue:/usr/local/etc/X11/fontpath.d[  4349.263] (==) ModulePath set to "/usr/local/lib/xorg/modules"[  4349.263] (II) The server relies on udev to provide the list of input devices.        If no devices become available, reconfigure udev or disable AutoAddDevices.[  4349.263] (II) Loader magic: 0x42ed00[  4349.263] (II) Module ABI versions:[  4349.263]    X.Org ANSI C Emulation: 0.4[  4349.263]    X.Org Video Driver: 24.1[  4349.263]    X.Org XInput driver : 24.1[  4349.263]    X.Org Server Extension : 10.0[  4349.263] (--) PCI:*(6@0:0:0) 8086:5912:1028:07a3 rev 4, Mem @ 0xc0000000/16777216, 0x800000000/268435456, BIOS @ 0x????????/65536[  4349.263] (II) LoadModule: "glx"[  4349.263] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so[  4349.263] (II) Module glx: vendor="X.Org Foundation"[  4349.263]    compiled for 1.20.14, module version = 1.0.0[  4349.263]    ABI class: X.Org Server Extension, version 10.0[  4349.263] (==) Matched intel as autoconfigured driver 0[  4349.263] (==) Matched modesetting as autoconfigured driver 1[  4349.263] (==) Matched scfb as autoconfigured driver 2[  4349.263] (==) Matched vesa as autoconfigured driver 3[  4349.263] (==) Assigned the driver to the xf86ConfigLayout[  4349.263] (II) LoadModule: "intel"[  4349.263] (WW) Warning, couldn't open module intel[  4349.263] (EE) Failed to load module "intel" (module does not exist, 0)[  4349.263] (II) LoadModule: "modesetting"[  4349.263] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so[  4349.263] (II) Module modesetting: vendor="X.Org Foundation"[  4349.263]    compiled for 1.20.14, module version = 1.20.14[  4349.263]    Module class: X.Org Video Driver[  4349.263]    ABI class: X.Org Video Driver, version 24.1[  4349.263] (II) LoadModule: "scfb"[  4349.263] (II) Loading /usr/local/lib/xorg/modules/drivers/scfb_drv.so[  4349.263] (II) Module scfb: vendor="X.Org Foundation"[  4349.263]    compiled for 1.20.14, module version = 0.0.5[  4349.263]    ABI class: X.Org Video Driver, version 24.1[  4349.263] (II) LoadModule: "vesa"[  4349.263] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so[  4349.263] (II) Module vesa: vendor="X.Org Foundation"[  4349.263]    compiled for 1.20.14, module version = 2.5.0[  4349.263]    Module class: X.Org Video Driver[  4349.263]    ABI class: X.Org Video Driver, version 24.1[  4349.263] (II) modesetting: Driver for Modesetting Kernel Drivers: kms[  4349.263] (II) scfb: driver for wsdisplay framebuffer: scfb[  4349.263] (II) VESA: driver for VESA chipsets: vesa[  4349.263] (--) Using syscons driver with X support (version 2.0)[  4349.263] (--) using VT number 9
[  4349.263] (EE) open /dev/dri/card0: No such file or directory[  4349.263] (WW) Falling back to old probe method for modesetting[  4349.263] (EE) open /dev/dri/card0: No such file or directory[  4349.263] (WW) Falling back to old probe method for scfb[  4349.263] scfb trace: probe start[  4349.263] (II) scfb(1): using default device[  4349.263] scfb trace: probe done[  4349.263] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support[  4349.263] (EE) Screen 0 deleted because of no matching config section.[  4349.263] (II) UnloadModule: "modesetting"[  4349.263] (EE) Fatal server error:[  4349.263] (EE) Cannot run in framebuffer mode. Please specify busIDs        for all framebuffer devices[  4349.263] (EE) [  4349.263] (EE) Please consult the The X.Org Foundation support          at http://wiki.x.org for help. [  4349.263] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.[  4349.263] (EE) [  4349.263] (EE) Server terminated with error (1). Closing log file.root@freebsd14:/var/log #