You are not logged in.
I am attempting to run an Arch KDE VM on an Arch host using libvirt. The VM works perfectly fine using non-OpenGL Spice and QXL video, but fails to display anything when enabling OpenGL and using virtio video. I don't even see the UEFI BIOS or GRUB. Here's my libvirt XML for reference:
<domain type="kvm">
<name>ArchOS</name>
<uuid>807a9211-fb37-4998-aff3-34880e86f7b2</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://archlinux.org/archlinux/rolling"/>
</libosinfo:libosinfo>
</metadata>
<memory unit="KiB">8388608</memory>
<currentMemory unit="KiB">8388608</currentMemory>
<vcpu placement="static">12</vcpu>
<os>
<type arch="x86_64" machine="pc-q35-5.2">hvm</type>
<loader readonly="yes" type="pflash">/usr/share/edk2-ovmf/x64/OVMF_CODE.fd</loader>
<nvram>/var/lib/libvirt/qemu/nvram/ArchOS_VARS.fd</nvram>
</os>
<features>
<acpi/>
<apic/>
<vmport state="off"/>
</features>
<cpu mode="host-model" check="partial"/>
<clock offset="utc">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="no"/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled="no"/>
<suspend-to-disk enabled="no"/>
</pm>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type="file" device="disk">
<driver name="qemu" type="qcow2"/>
<source file="/var/lib/libvirt/images/ArchOS.qcow2"/>
<target dev="vda" bus="virtio"/>
<boot order="1"/>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<target dev="sda" bus="sata"/>
<readonly/>
<address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>
<controller type="usb" index="0" model="qemu-xhci" ports="15">
<address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
</controller>
<controller type="sata" index="0">
<address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/>
</controller>
<controller type="pci" index="0" model="pcie-root"/>
<controller type="pci" index="1" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="1" port="0x10"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" multifunction="on"/>
</controller>
<controller type="pci" index="2" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="2" port="0x11"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x1"/>
</controller>
<controller type="pci" index="3" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="3" port="0x12"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x2"/>
</controller>
<controller type="pci" index="4" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="4" port="0x13"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x3"/>
</controller>
<controller type="pci" index="5" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="5" port="0x14"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x4"/>
</controller>
<controller type="pci" index="6" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="6" port="0x15"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x5"/>
</controller>
<controller type="pci" index="7" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="7" port="0x16"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x6"/>
</controller>
<controller type="virtio-serial" index="0">
<address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</controller>
<interface type="network">
<mac address="52:54:00:e4:58:2e"/>
<source network="default"/>
<model type="virtio"/>
<address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>
<serial type="pty">
<target type="isa-serial" port="0">
<model name="isa-serial"/>
</target>
</serial>
<console type="pty">
<target type="serial" port="0"/>
</console>
<channel type="unix">
<target type="virtio" name="org.qemu.guest_agent.0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
<channel type="spicevmc">
<target type="virtio" name="com.redhat.spice.0"/>
<address type="virtio-serial" controller="0" bus="0" port="2"/>
</channel>
<input type="tablet" bus="usb">
<address type="usb" bus="0" port="1"/>
</input>
<input type="mouse" bus="ps2"/>
<input type="keyboard" bus="ps2"/>
<graphics type="spice">
<listen type="none"/>
<image compression="off"/>
<gl enable="yes" rendernode="/dev/dri/by-path/pci-0000:0c:00.0-render"/>
</graphics>
<sound model="ich9">
<address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/>
</sound>
<video>
<model type="virtio" heads="1" primary="yes">
<acceleration accel3d="yes"/>
</model>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="2"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="3"/>
</redirdev>
<memballoon model="virtio">
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</memballoon>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
<address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
</rng>
</devices>
</domain>/dev/dri/by-path/pci-0000:0c:00.0-render is my Nvidia 3090 card. I have the proprietary 460.67 drivers installed.
On my host, I have these packages installed:
libvirt 7.1.0-3
qemu 5.2.0-4
virglrenderer 0.8.2-1
On my guest, I have these packages installed:
spice-vdagent 0.21.0-1
Latest KDE packages.
When I SSH into the VM, I see that it properly recognizes the presence of virgl:
[ 0.014379] Booting paravirtualized kernel on KVM
[ 1.073552] with environment:
[ 1.180046] virtio_blk virtio3: [vda] 52428800 512-byte logical blocks (26.8 GB/25.0 GiB)
[ 1.186886] [drm] pci: virtio-vga detected at 0000:00:01.0
[ 1.186889] fb0: switching to virtiodrmfb from EFI VGA
[ 1.186967] virtio-pci 0000:00:01.0: vgaarb: deactivate vga console
[ 1.187139] [drm] features: +virgl +edid -resource_blob -host_visible
[ 1.187933] [drm] Initialized virtio_gpu 0.1.0 0 for virtio0 on minor 0
[ 1.205846] virtio_gpu virtio0: [drm] fb0: virtio_gpudrmfb frame buffer device
[ 1.460754] systemd[1]: Detected virtualization kvm.
[ 1.764183] virtio_net virtio1 enp1s0: renamed from eth0Xorg log also seems to show that its using the virtio gpu and that it has loaded the GLX extension:
X.Org X Server 1.20.10
X Protocol Version 11, Revision 0
[ 2.575] Build Operating System: Linux Arch Linux
[ 2.575] Current Operating System: Linux benxiao-archvm01 5.11.9-arch1-1 #1 SMP PREEMPT Wed, 24 Mar 2021 18:53:54 +0000 x86_64
[ 2.575] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=59228e3a-b22a-4ed2-9783-47f4b06d79cc rw quiet loglevel=3 nowatchdog
[ 2.575] Build Date: 14 December 2020 12:10:29PM
[ 2.575]
[ 2.575] Current version of pixman: 0.40.0
[ 2.575] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 2.575] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 2.575] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Mar 25 21:13:07 2021
[ 2.576] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 2.576] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 2.577] (==) No Layout section. Using the first Screen section.
[ 2.577] (==) No screen section available. Using defaults.
[ 2.577] (**) |-->Screen "Default Screen Section" (0)
[ 2.577] (**) | |-->Monitor "<default monitor>"
[ 2.577] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 2.578] (==) Automatically adding devices
[ 2.578] (==) Automatically enabling devices
[ 2.578] (==) Automatically adding GPU devices
[ 2.578] (==) Automatically binding GPU devices
[ 2.578] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 2.578] (WW) The directory "/usr/share/fonts/misc" does not exist.
[ 2.578] Entry deleted from font path.
[ 2.578] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/TTF".
[ 2.578] Entry deleted from font path.
[ 2.578] (Run 'mkfontdir' on "/usr/share/fonts/TTF").
[ 2.578] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 2.578] Entry deleted from font path.
[ 2.578] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 2.578] Entry deleted from font path.
[ 2.578] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[ 2.578] Entry deleted from font path.
[ 2.578] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[ 2.578] Entry deleted from font path.
[ 2.578] (==) FontPath set to:
[ 2.578] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 2.578] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 2.578] (II) Module ABI versions:
[ 2.578] X.Org ANSI C Emulation: 0.4
[ 2.578] X.Org Video Driver: 24.1
[ 2.578] X.Org XInput driver : 24.1
[ 2.578] X.Org Server Extension : 10.0
[ 2.579] (++) using VT number 1
[ 2.579] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 2.579] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 2.586] (--) PCI:*(0@0:1:0) 1af4:1050:1af4:1100 rev 1, Mem @ 0xc0000000/8388608, 0x800500000/16384, 0xc164c000/4096, BIOS @ 0x????????/131072
[ 2.586] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 2.586] (II) LoadModule: "glx"
[ 2.586] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 2.589] (II) Module glx: vendor="X.Org Foundation"
[ 2.589] compiled for 1.20.10, module version = 1.0.0
[ 2.589] ABI class: X.Org Server Extension, version 10.0
[ 2.589] (==) Matched modesetting as autoconfigured driver 0
[ 2.589] (==) Matched fbdev as autoconfigured driver 1
[ 2.589] (==) Matched vesa as autoconfigured driver 2
[ 2.589] (==) Assigned the driver to the xf86ConfigLayout
[ 2.589] (II) LoadModule: "modesetting"
[ 2.590] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 2.591] (II) Module modesetting: vendor="X.Org Foundation"
[ 2.591] compiled for 1.20.10, module version = 1.20.10
[ 2.591] Module class: X.Org Video Driver
[ 2.591] ABI class: X.Org Video Driver, version 24.1
[ 2.591] (II) LoadModule: "fbdev"
[ 2.591] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 2.591] (II) Module fbdev: vendor="X.Org Foundation"
[ 2.591] compiled for 1.20.8, module version = 0.5.0
[ 2.591] Module class: X.Org Video Driver
[ 2.592] ABI class: X.Org Video Driver, version 24.1
[ 2.592] (II) LoadModule: "vesa"
[ 2.592] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 2.592] (II) Module vesa: vendor="X.Org Foundation"
[ 2.592] compiled for 1.20.9, module version = 2.5.0
[ 2.592] Module class: X.Org Video Driver
[ 2.592] ABI class: X.Org Video Driver, version 24.1
[ 2.592] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 2.592] (II) FBDEV: driver for framebuffer: fbdev
[ 2.592] (II) VESA: driver for VESA chipsets: vesa
[ 2.592] (II) modeset(0): using drv /dev/dri/card0
[ 2.592] (WW) Falling back to old probe method for fbdev
[ 2.592] (II) Loading sub module "fbdevhw"
[ 2.592] (II) LoadModule: "fbdevhw"
[ 2.592] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 2.595] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 2.595] compiled for 1.20.10, module version = 0.0.2
[ 2.595] ABI class: X.Org Video Driver, version 24.1
[ 2.595] (II) modeset(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 2.595] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[ 2.595] (==) modeset(0): RGB weight 888
[ 2.595] (==) modeset(0): Default visual is TrueColor
[ 2.595] (II) Loading sub module "glamoregl"
[ 2.595] (II) LoadModule: "glamoregl"
[ 2.595] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[ 2.602] (II) Module glamoregl: vendor="X.Org Foundation"
[ 2.602] compiled for 1.20.10, module version = 1.0.1
[ 2.602] ABI class: X.Org ANSI C Emulation, version 0.4
[ 2.672] (II) modeset(0): glamor X acceleration enabled on virgl
[ 2.673] (II) modeset(0): glamor initialized
[ 2.673] (II) modeset(0): Output Virtual-1 has no monitor section
[ 2.673] (II) modeset(0): EDID for output Virtual-1
[ 2.673] (II) modeset(0): Manufacturer: RHT Model: 1234 Serial#: 0
[ 2.673] (II) modeset(0): Year: 2014 Week: 42
[ 2.673] (II) modeset(0): EDID Version: 1.4
[ 2.673] (II) modeset(0): Digital Display Input
[ 2.673] (II) modeset(0): 8 bits per channel
[ 2.673] (II) modeset(0): Digital interface is DisplayPort
[ 2.673] (II) modeset(0): Max Image Size [cm]: horiz.: 26 vert.: 19
[ 2.673] (II) modeset(0): Gamma: 2.20
[ 2.673] (II) modeset(0): No DPMS capabilities specified
[ 2.673] (II) modeset(0): Supported color encodings: RGB 4:4:4
[ 2.673] (II) modeset(0): Default color space is primary color space
[ 2.673] (II) modeset(0): First detailed timing is preferred mode
[ 2.673] (II) modeset(0): Preferred mode is native pixel format and refresh rate
[ 2.673] (II) modeset(0): redX: 0.640 redY: 0.330 greenX: 0.300 greenY: 0.600
[ 2.673] (II) modeset(0): blueX: 0.150 blueY: 0.060 whiteX: 0.312 whiteY: 0.329
[ 2.673] (II) modeset(0): Supported established timings:
[ 2.673] (II) modeset(0): 640x480@60Hz
[ 2.673] (II) modeset(0): 800x600@60Hz
[ 2.673] (II) modeset(0): 1024x768@60Hz
[ 2.673] (II) modeset(0): Manufacturer's mask: 0
[ 2.673] (II) modeset(0): Supported standard timings:
[ 2.673] (II) modeset(0): #0: hsize: 2048 vsize 1152 refresh: 60 vid: 49377
[ 2.673] (II) modeset(0): #1: hsize: 1920 vsize 1080 refresh: 60 vid: 49361
[ 2.673] (II) modeset(0): Supported detailed timing:
[ 2.673] (II) modeset(0): clock: 82.3 MHz Image Size: 260 x 195 mm
[ 2.673] (II) modeset(0): h_active: 1024 h_sync: 1280 h_sync_end 1310 h_blank_end 1382 h_border: 0
[ 2.673] (II) modeset(0): v_active: 768 v_sync: 771 v_sync_end 774 v_blanking: 794 v_border: 0
[ 2.673] (II) modeset(0): Ranges: V min: 50 V max: 125 Hz, H min: 30 H max: 160 kHz, PixClock max 1205 MHz
[ 2.673] (II) modeset(0): Monitor name: QEMU Monitor
[ 2.673] (II) modeset(0): Established timings III: (not decoded)
[ 2.673] (II) modeset(0): Number of EDID sections to follow: 1
[ 2.673] (II) modeset(0): EDID (in hex):
[ 2.673] (II) modeset(0): 00ffffffffffff004914341200000000
[ 2.673] (II) modeset(0): 2a180104a51a137806ee91a3544c9926
[ 2.673] (II) modeset(0): 0f5054210800e1c0d1c0010101010101
[ 2.673] (II) modeset(0): 0101010101012520006641001a30001e
[ 2.673] (II) modeset(0): 334004c310000018000000fd00327d1e
[ 2.673] (II) modeset(0): a078010a202020202020000000fc0051
[ 2.673] (II) modeset(0): 454d55204d6f6e69746f720a000000f7
[ 2.673] (II) modeset(0): 000a004aa2242920000000000000012d
[ 2.673] (II) modeset(0): 02030a00457d6560591f000000000000
[ 2.673] (II) modeset(0): 00000000000000000000000000000000
[ 2.673] (II) modeset(0): 00000000000000000000000000000000
[ 2.673] (II) modeset(0): 00000000000000000000000000000000
[ 2.673] (II) modeset(0): 00000000000000000000000000000000
[ 2.673] (II) modeset(0): 00000000000000000000000000000000
[ 2.673] (II) modeset(0): 00000000000000000000000000000000
[ 2.673] (II) modeset(0): 000000000000000000000000000000f2
[ 2.673] (II) modeset(0): Printing probed modes for output Virtual-1
[ 2.674] (II) modeset(0): Modeline "1024x768"x75.0 82.29 1024 1280 1310 1382 768 771 774 794 -hsync -vsync (59.5 kHz eP)
[ 2.674] (II) modeset(0): Modeline "5120x2160"x50.0 742.50 5120 6216 6304 6600 2160 2168 2178 2250 +hsync +vsync (112.5 kHz e)
[ 2.674] (II) modeset(0): Modeline "4096x2160"x50.0 594.00 4096 5064 5152 5280 2160 2168 2178 2250 +hsync +vsync (112.5 kHz e)
[ 2.674] (II) modeset(0): Modeline "3840x2160"x50.0 594.00 3840 4896 4984 5280 2160 2168 2178 2250 +hsync +vsync (112.5 kHz e)
[ 2.674] (II) modeset(0): Modeline "1920x1440"x60.0 234.00 1920 2048 2256 2600 1440 1441 1444 1500 -hsync +vsync (90.0 kHz e)
[ 2.674] (II) modeset(0): Modeline "2560x1080"x50.0 185.62 2560 3108 3152 3300 1080 1084 1089 1125 +hsync +vsync (56.2 kHz e)
[ 2.674] (II) modeset(0): Modeline "1856x1392"x60.0 218.25 1856 1952 2176 2528 1392 1393 1396 1439 -hsync +vsync (86.3 kHz e)
[ 2.674] (II) modeset(0): Modeline "1792x1344"x60.0 204.75 1792 1920 2120 2448 1344 1345 1348 1394 -hsync +vsync (83.6 kHz e)
[ 2.674] (II) modeset(0): Modeline "2048x1152"x60.0 162.00 2048 2074 2154 2250 1152 1153 1156 1200 +hsync +vsync (72.0 kHz e)
[ 2.674] (II) modeset(0): Modeline "1920x1200"x59.9 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync (74.6 kHz e)
[ 2.674] (II) modeset(0): Modeline "1920x1080"x60.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 -hsync -vsync (67.5 kHz e)
[ 2.674] (II) modeset(0): Modeline "1920x1080"x50.0 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync (56.2 kHz e)
[ 2.674] (II) modeset(0): Modeline "1600x1200"x60.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz e)
[ 2.674] (II) modeset(0): Modeline "1680x1050"x60.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz e)
[ 2.674] (II) modeset(0): Modeline "1400x1050"x60.0 121.75 1400 1488 1632 1864 1050 1053 1057 1089 -hsync +vsync (65.3 kHz e)
[ 2.674] (II) modeset(0): Modeline "1280x1024"x60.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[ 2.674] (II) modeset(0): Modeline "1440x900"x59.9 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz e)
[ 2.674] (II) modeset(0): Modeline "1280x960"x60.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e)
[ 2.674] (II) modeset(0): Modeline "1360x768"x60.0 85.50 1360 1424 1536 1792 768 771 777 795 +hsync +vsync (47.7 kHz e)
[ 2.674] (II) modeset(0): Modeline "1280x768"x59.9 79.50 1280 1344 1472 1664 768 771 778 798 -hsync +vsync (47.8 kHz e)
[ 2.674] (II) modeset(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e)
[ 2.674] (II) modeset(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
[ 2.674] (II) modeset(0): Modeline "640x480"x60.0 25.20 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
[ 2.674] (II) modeset(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
[ 2.674] (II) modeset(0): Output Virtual-1 connected
[ 2.674] (II) modeset(0): Using exact sizes for initial modes
[ 2.674] (II) modeset(0): Output Virtual-1 using initial mode 1024x768 +0+0
[ 2.674] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[ 2.674] (==) modeset(0): DPI set to (96, 96)
[ 2.674] (II) Loading sub module "fb"
[ 2.674] (II) LoadModule: "fb"
[ 2.674] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 2.674] (II) Module fb: vendor="X.Org Foundation"
[ 2.674] compiled for 1.20.10, module version = 1.0.0
[ 2.674] ABI class: X.Org ANSI C Emulation, version 0.4
[ 2.674] (II) UnloadModule: "fbdev"
[ 2.674] (II) Unloading fbdev
[ 2.674] (II) UnloadSubModule: "fbdevhw"
[ 2.674] (II) Unloading fbdevhw
[ 2.674] (II) UnloadModule: "vesa"
[ 2.674] (II) Unloading vesa
[ 2.707] (==) modeset(0): Backing store enabled
[ 2.707] (==) modeset(0): Silken mouse disabled
[ 2.707] (II) modeset(0): Initializing kms color map for depth 24, 8 bpc.
[ 2.707] (==) modeset(0): DPMS enabled
[ 2.708] (II) modeset(0): [DRI2] Setup complete
[ 2.708] (II) modeset(0): [DRI2] DRI driver: virtio_gpu
[ 2.708] (II) modeset(0): [DRI2] VDPAU driver: virtio_gpu
[ 2.708] (II) Initializing extension Generic Event Extension
[ 2.708] (II) Initializing extension SHAPE
[ 2.708] (II) Initializing extension MIT-SHM
[ 2.708] (II) Initializing extension XInputExtension
[ 2.708] (II) Initializing extension XTEST
[ 2.708] (II) Initializing extension BIG-REQUESTS
[ 2.708] (II) Initializing extension SYNC
[ 2.708] (II) Initializing extension XKEYBOARD
[ 2.708] (II) Initializing extension XC-MISC
[ 2.709] (II) Initializing extension SECURITY
[ 2.709] (II) Initializing extension XFIXES
[ 2.709] (II) Initializing extension RENDER
[ 2.709] (II) Initializing extension RANDR
[ 2.709] (II) Initializing extension COMPOSITE
[ 2.709] (II) Initializing extension DAMAGE
[ 2.709] (II) Initializing extension MIT-SCREEN-SAVER
[ 2.709] (II) Initializing extension DOUBLE-BUFFER
[ 2.710] (II) Initializing extension RECORD
[ 2.710] (II) Initializing extension DPMS
[ 2.710] (II) Initializing extension Present
[ 2.710] (II) Initializing extension DRI3
[ 2.710] (II) Initializing extension X-Resource
[ 2.710] (II) Initializing extension XVideo
[ 2.710] (II) Initializing extension XVideo-MotionCompensation
[ 2.710] (II) Initializing extension GLX
[ 2.714] (II) AIGLX: Loaded and initialized virtio_gpu
[ 2.714] (II) GLX: Initialized DRI2 GL provider for screen 0
[ 2.714] (II) Initializing extension XFree86-VidModeExtension
[ 2.714] (II) Initializing extension XFree86-DGA
[ 2.715] (II) Initializing extension XFree86-DRI
[ 2.715] (II) Initializing extension DRI2
[ 2.716] (II) modeset(0): Damage tracking initialized
[ 2.716] (II) modeset(0): Setting screen physical size to 270 x 203
[ 2.752] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[ 2.752] (**) Power Button: Applying InputClass "devname"
[ 2.752] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[ 2.752] (**) Power Button: Applying InputClass "system-keyboard"
[ 2.752] (II) LoadModule: "libinput"
[ 2.752] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[ 2.754] (II) Module libinput: vendor="X.Org Foundation"
[ 2.754] compiled for 1.20.8, module version = 0.30.0
[ 2.754] Module class: X.Org XInput Driver
[ 2.754] ABI class: X.Org XInput driver, version 24.1
[ 2.754] (II) Using input driver 'libinput' for 'Power Button'
[ 2.754] (**) Power Button: always reports core events
[ 2.754] (**) Option "Device" "/dev/input/event0"
[ 2.754] (**) Option "_source" "server/udev"
[ 2.758] (II) event0 - Power Button: is tagged by udev as: Keyboard
[ 2.759] (II) event0 - Power Button: device is a keyboard
[ 2.759] (II) event0 - Power Button: device removed
[ 2.782] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0"
[ 2.782] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[ 2.782] (**) Option "xkb_layout" "us"
[ 2.783] (II) event0 - Power Button: is tagged by udev as: Keyboard
[ 2.783] (II) event0 - Power Button: device is a keyboard
[ 2.784] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event1)
[ 2.784] (**) AT Translated Set 2 keyboard: Applying InputClass "devname"
[ 2.784] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[ 2.784] (**) AT Translated Set 2 keyboard: Applying InputClass "system-keyboard"
[ 2.784] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[ 2.784] (**) AT Translated Set 2 keyboard: always reports core events
[ 2.784] (**) Option "Device" "/dev/input/event1"
[ 2.784] (**) Option "_source" "server/udev"
[ 2.784] (II) event1 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[ 2.784] (II) event1 - AT Translated Set 2 keyboard: device is a keyboard
[ 2.784] (II) event1 - AT Translated Set 2 keyboard: device removed
[ 2.806] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input1/event1"
[ 2.806] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 7)
[ 2.806] (**) Option "xkb_layout" "us"
[ 2.807] (II) event1 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[ 2.807] (II) event1 - AT Translated Set 2 keyboard: device is a keyboard
[ 2.807] (II) config/udev: Adding input device PC Speaker (/dev/input/event3)
[ 2.807] (**) PC Speaker: Applying InputClass "devname"
[ 2.807] (II) Using input driver 'libinput' for 'PC Speaker'
[ 2.807] (**) PC Speaker: always reports core events
[ 2.807] (**) Option "Device" "/dev/input/event3"
[ 2.807] (**) Option "_source" "server/udev"
[ 2.808] (II) event3 - PC Speaker: not tagged as supported input device
[ 2.862] (II) event3 - not using input device '/dev/input/event3'.
[ 2.862] (EE) libinput: PC Speaker: Failed to create a device for /dev/input/event3
[ 2.862] (EE) PreInit returned 2 for "PC Speaker"
[ 2.863] (II) UnloadModule: "libinput"
[ 3.427] (II) config/udev: Adding input device QEMU QEMU USB Tablet (/dev/input/mouse0)
[ 3.427] (**) QEMU QEMU USB Tablet: Applying InputClass "devname"
[ 3.427] (II) Using input driver 'libinput' for 'QEMU QEMU USB Tablet'
[ 3.427] (**) QEMU QEMU USB Tablet: always reports core events
[ 3.427] (**) Option "Device" "/dev/input/mouse0"
[ 3.427] (**) Option "_source" "server/udev"
[ 3.595] (II) mouse0 - not using input device '/dev/input/mouse0'.
[ 3.595] (EE) libinput: QEMU QEMU USB Tablet: Failed to create a device for /dev/input/mouse0
[ 3.595] (EE) PreInit returned 2 for "QEMU QEMU USB Tablet"
[ 3.595] (II) UnloadModule: "libinput"
[ 3.595] (II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/event4)
[ 3.595] (**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "devname"
[ 3.595] (**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "libinput pointer catchall"
[ 3.595] (II) Using input driver 'libinput' for 'ImExPS/2 Generic Explorer Mouse'
[ 3.595] (**) ImExPS/2 Generic Explorer Mouse: always reports core events
[ 3.595] (**) Option "Device" "/dev/input/event4"
[ 3.595] (**) Option "_source" "server/udev"
[ 3.596] (II) event4 - ImExPS/2 Generic Explorer Mouse: is tagged by udev as: Mouse
[ 3.597] (II) event4 - ImExPS/2 Generic Explorer Mouse: device is a pointer
[ 3.597] (II) event4 - ImExPS/2 Generic Explorer Mouse: device removed
[ 3.662] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input5/event4"
[ 3.662] (II) XINPUT: Adding extended input device "ImExPS/2 Generic Explorer Mouse" (type: MOUSE, id 8)
[ 3.662] (**) Option "AccelerationScheme" "none"
[ 3.662] (**) ImExPS/2 Generic Explorer Mouse: (accel) selected scheme none/0
[ 3.662] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration factor: 2.000
[ 3.662] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration threshold: 4
[ 3.663] (II) event4 - ImExPS/2 Generic Explorer Mouse: is tagged by udev as: Mouse
[ 3.663] (II) event4 - ImExPS/2 Generic Explorer Mouse: device is a pointer
[ 3.664] (II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/mouse1)
[ 3.664] (**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "devname"
[ 3.664] (II) Using input driver 'libinput' for 'ImExPS/2 Generic Explorer Mouse'
[ 3.664] (**) ImExPS/2 Generic Explorer Mouse: always reports core events
[ 3.664] (**) Option "Device" "/dev/input/mouse1"
[ 3.664] (**) Option "_source" "server/udev"
[ 3.729] (II) mouse1 - not using input device '/dev/input/mouse1'.
[ 3.729] (EE) libinput: ImExPS/2 Generic Explorer Mouse: Failed to create a device for /dev/input/mouse1
[ 3.729] (EE) PreInit returned 2 for "ImExPS/2 Generic Explorer Mouse"
[ 3.729] (II) UnloadModule: "libinput"
[ 3.730] (II) config/udev: Adding input device QEMU QEMU USB Tablet (/dev/input/event2)
[ 3.730] (**) QEMU QEMU USB Tablet: Applying InputClass "devname"
[ 3.730] (**) QEMU QEMU USB Tablet: Applying InputClass "libinput pointer catchall"
[ 3.730] (II) Using input driver 'libinput' for 'QEMU QEMU USB Tablet'
[ 3.730] (**) QEMU QEMU USB Tablet: always reports core events
[ 3.730] (**) Option "Device" "/dev/input/event2"
[ 3.730] (**) Option "_source" "server/udev"
[ 3.786] (II) event2 - QEMU QEMU USB Tablet: is tagged by udev as: Mouse
[ 3.787] (II) event2 - QEMU QEMU USB Tablet: device is a pointer
[ 3.787] (II) event2 - QEMU QEMU USB Tablet: device removed
[ 3.849] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input3/event2"
[ 3.849] (II) XINPUT: Adding extended input device "QEMU QEMU USB Tablet" (type: MOUSE, id 9)
[ 3.849] (**) Option "AccelerationScheme" "none"
[ 3.849] (**) QEMU QEMU USB Tablet: (accel) selected scheme none/0
[ 3.849] (**) QEMU QEMU USB Tablet: (accel) acceleration factor: 2.000
[ 3.849] (**) QEMU QEMU USB Tablet: (accel) acceleration threshold: 4
[ 3.906] (II) event2 - QEMU QEMU USB Tablet: is tagged by udev as: Mouse
[ 3.907] (II) event2 - QEMU QEMU USB Tablet: device is a pointerThings I've tried so far:
1. Added "<listen type="socket" socket="/tmp/spice.socket"/>" to my Spice display and connected directly with virt-viewer and spicy.
2. Installed qemu-guest-agent in the guest.
3. Setup on auto-login on SDDM to see if display works when logged in.
None of these have worked. I am still unable to get hardware acceleration working. I've heard reports of Gnome working, but as I am setting up this VM for KDE development, I can't switch to Gnome.
Any advice? Thanks in advance
Last edited by UrbenLegend (2021-03-26 04:19:57)
Offline
To enable 3D acceleration on the guest system select this vga with -vga virtio and enable the opengl context in the display device with -display sdl,gl=on or -display gtk,gl=on for the sdl and gtk display output respectively.
The libivrt xml file doesn't have a -vga or -display option .
Last edited by Lone_Wolf (2021-03-26 11:30:17)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
The libivrt xml file doesn't have a -vga or -display option .
I have read that article, but I much prefer setting up my virtual machines via libvirt for the easier management and would like to get it working with libvirt.
That being said, I believe the following XML takes care of the VGA option:
<video>
<model type="virtio" heads="1" primary="yes">
<acceleration accel3d="yes"/>
</model>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>Virgl should also be working via the Spice display as well according to the GL acceleration section under https://www.spice-space.org/spice-user-manual.html
Offline
search for virgl on that page and you'll see they also mention needing qemu commandline options .
libvirt does have a mechanism to set commandline arguments for qemu from an xml file, see https://libvirt.org/drvqemu.html#qemucommand
A few other links for additonal info / examples
https://unix.stackexchange.com/question … -line-args
http://blog.vmsplice.net/2011/04/how-to … tions.html
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
search for virgl on that page and you'll see they also mention needing qemu commandline options .
Are you referring to the Using QEMU section in https://www.spice-space.org/spice-user-manual.html? Those instructions are for when you're using straight QEMU via the commandline. The section right above it is the directions for libvirt. They are not meant to be used at the same time. If I do a `ps aux | grep qemu` to examine the QEMU instance that libvirt starts up, you can see that those QEMU options are already specified:
-spice port=0,disable-ticketing=on,image-compression=off,gl=on,rendernode=/dev/dri/by-path/pci-0000:0c:00.0-render,seamless-migration=on -device virtio-vga,id=video0,virgl=on,max_outputs=1,bus=pcie.0,addr=0x1Here's the full printout:
/usr/bin/qemu-system-x86_64 -name guest=ArchOS,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-2-ArchOS/master-key.aes -blockdev {"driver":"file","filename":"/usr/share/edk2-ovmf/x64/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"} -blockdev {"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/ArchOS_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"} -machine pc-q35-5.2,accel=kvm,usb=off,vmport=off,dump-guest-core=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,memory-backend=pc.ram -cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on -m 8192 -object memory-backend-ram,id=pc.ram,size=8589934592 -overcommit mem-lock=off -smp 12,sockets=12,cores=1,threads=1 -uuid 05a10a8a-5189-44fc-955b-41b8a24ace8e -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=33,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot strict=on -device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 -device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 -device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 -device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 -device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 -device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 -device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 -device pcie-root-port,port=0x17,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x7 -device pcie-pci-bridge,id=pci.9,bus=pci.7,addr=0x0 -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 -blockdev {"driver":"file","filename":"/var/lib/libvirt/images/ArchOS.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","file":"libvirt-2-storage","backing":null} -device virtio-blk-pci,bus=pci.4,addr=0x0,drive=libvirt-2-format,id=virtio-disk0,bootindex=1 -device ide-cd,bus=ide.0,id=sata0-0-0 -netdev tap,fd=35,id=hostnet0,vhost=on,vhostfd=36 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:bd:c8:b6,bus=pci.1,addr=0x0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,fd=37,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -chardev spicevmc,id=charchannel1,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 -device usb-tablet,id=input0,bus=usb.0,port=1 -spice port=0,disable-ticketing=on,image-compression=off,gl=on,rendernode=/dev/dri/by-path/pci-0000:0c:00.0-render,seamless-migration=on -device virtio-vga,id=video0,virgl=on,max_outputs=1,bus=pcie.0,addr=0x1 -device ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device intel-hda,id=sound1,bus=pci.9,addr=0x1 -device hda-duplex,id=sound1-codec0,bus=sound1.0,cad=0 -device AC97,id=sound2,bus=pci.9,addr=0x2 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3 -device virtio-balloon-pci,id=balloon0,bus=pci.5,addr=0x0 -object rng-random,id=objrng0,filename=/dev/urandom -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.6,addr=0x0 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=onManually specifying the QEMU commandline arguments via the XML will probably result in conflicting versions of the same parameters. Looking at the generated parameters by libvirt, all the necessary options should already be there, with the exception of the spice addr. However, as I mentioned in my first post, I've already tried adding `<listen type="socket" socket="/tmp/spice.socket"/>` to the graphics section of my libvirt XML, which gives me the following parameters:
-spice unix,addr=/tmp/spice.socket,disable-ticketing=on,image-compression=off,gl=on,rendernode=/dev/dri/by-path/pci-0000:0c:00.0-render,seamless-migration=on -device virtio-vga,id=video0,virgl=on,max_outputs=1,bus=pcie.0,addr=0x1EDIT: Seems like its this bug: https://gitlab.gnome.org/GNOME/gnome-boxes/-/issues/586. I am also getting the `qemu_spice_gl_scanout_texture: failed to get fd for texture` messages in my QEMU logs.
Last edited by UrbenLegend (2021-03-27 21:21:22)
Offline