I'm trying to boot some new Linux virtual machines (Ubuntu) via QEMU/KVM. They boot up fine up until the point where I move my mouse on the screen (VNC connection). When I do, the display freezes and I can't use the desktop environment until I reboot.
I've tried 2 different versions of Ubuntu, version 18.04, 19.04 with the same results. Windows virtual machines do not exhibit the problem. When switching the Graphics model from QXL to VGA, moving the mouse doesn't freeze the VM, but the resolution is low and can't be changed.
I can still ssh into the VM even when the display is frozen, and have tried killing/restarting X and lightdm but the VNC session is still stuck. I also attempted to tail all logs while I reproduce the issue but I don't see anything that sticks out.
Is there any way to know why QXL is causing the display to freeze?
Qemu package versions - Host
ii ipxe-qemu 1.0.0+git-20180124.fbe8c52d-0ubuntu2.2 all PXE boot firmware - ROM images for qemu
ii ipxe-qemu-256k-compat-efi-roms 1.0.0+git-20150424.a25a16d-0ubuntu2 all PXE boot firmware - Compat EFI ROM images for qemu
ii qemu-block-extra:amd64 1:2.11+dfsg-1ubuntu7.15 amd64 extra block backend modules for qemu-system and qemu-utils
ii qemu-kvm 1:2.11+dfsg-1ubuntu7.15 amd64 QEMU Full virtualization on x86 hardware
ii qemu-system-common 1:2.11+dfsg-1ubuntu7.15 amd64 QEMU full system emulation binaries (common files)
ii qemu-system-x86 1:2.11+dfsg-1ubuntu7.15 amd64 QEMU full system emulation binaries (x86)
ii qemu-utils 1:2.11+dfsg-1ubuntu7.15 amd64 QEMU utilities
VM information - Guest
CPU: 2
RAM: 8gb
HDD: 100GB
Display VNC
Video: QXL
Xorg.0.log on Guest
[ 8.411] Module class: X.Org Video Driver
[ 8.411] ABI class: X.Org Video Driver, version 20.0
[ 8.411] (II) LoadModule: "fbdev"
[ 8.411] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 8.411] (II) Module fbdev: vendor="X.Org Foundation"
[ 8.411] compiled for 1.18.1, module version = 0.4.4
[ 8.411] Module class: X.Org Video Driver
[ 8.411] ABI class: X.Org Video Driver, version 20.0
[ 8.411] (II) LoadModule: "vesa"
[ 8.411] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 8.412] (II) Module vesa: vendor="X.Org Foundation"
[ 8.412] compiled for 1.18.1, module version = 2.3.4
[ 8.412] Module class: X.Org Video Driver
[ 8.412] ABI class: X.Org Video Driver, version 20.0
[ 8.412] (II) qxl: Driver for QXL virtual graphics: QXL 1
[ 8.412] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 8.412] (II) FBDEV: driver for framebuffer: fbdev
[ 8.412] (II) VESA: driver for VESA chipsets: vesa
[ 8.412] (II) [KMS] Kernel modesetting enabled.
[ 8.412] (WW) Falling back to old probe method for modesetting
[ 8.412] (WW) Falling back to old probe method for fbdev
[ 8.412] (II) Loading sub module "fbdevhw"
[ 8.412] (II) LoadModule: "fbdevhw"
[ 8.412] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 8.412] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 8.412] compiled for 1.18.4, module version = 0.0.2
[ 8.412] ABI class: X.Org Video Driver, version 20.0
[ 8.412] (WW) Falling back to old probe method for vesa
[ 8.412] (II) qxl(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 8.412] (==) qxl(0): Depth 24, (--) framebuffer bpp 32
[ 8.412] (==) qxl(0): RGB weight 888
[ 8.412] (==) qxl(0): Default visual is TrueColor
[ 8.412] (==) qxl(0): Using gamma correction (1.0, 1.0, 1.0)
[ 8.412] (II) qxl(0): Deferred Frames: Disabled
[ 8.412] (II) qxl(0): Offscreen Surfaces: Enabled
[ 8.412] (II) qxl(0): Image Cache: Enabled
[ 8.412] (II) qxl(0): Fallback Cache: Enabled
[ 8.412] (==) qxl(0): DPI set to (96, 96)
[ 8.412] (II) Loading sub module "fb"
[ 8.412] (II) LoadModule: "fb"
[ 8.413] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 8.413] (II) Module fb: vendor="X.Org Foundation"
[ 8.413] compiled for 1.18.4, module version = 1.0.0
[ 8.413] ABI class: X.Org ANSI C Emulation, version 0.4
[ 8.413] (II) Loading sub module "ramdac"
[ 8.413] (II) LoadModule: "ramdac"
[ 8.413] (II) Module "ramdac" already built-in
[ 8.413] (II) qxl(0): Output Virtual-0 has no monitor section
[ 8.413] (II) qxl(0): Output Virtual-1 has no monitor section
[ 8.413] (II) qxl(0): Output Virtual-2 has no monitor section
[ 8.413] (II) qxl(0): Output Virtual-3 has no monitor section
[ 8.413] (II) qxl(0): EDID for output Virtual-0
[ 8.413] (II) qxl(0): Printing probed modes for output Virtual-0
[ 8.413] (II) qxl(0): Modeline "1024x768"x59.9 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync (47.8 kHz P)
[ 8.413] (II) qxl(0): Modeline "1920x1200"x59.9 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync (74.6 kHz)
[ 8.413] (II) qxl(0): Modeline "1920x1080"x60.0 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync (67.2 kHz)
[ 8.413] (II) qxl(0): Modeline "1600x1200"x59.9 161.00 1600 1712 1880 2160 1200 1203 1207 1245 -hsync +vsync (74.5 kHz)
[ 8.413] (II) qxl(0): Modeline "1680x1050"x60.0 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
[ 8.413] (II) qxl(0): Modeline "1400x1050"x60.0 121.75 1400 1488 1632 1864 1050 1053 1057 1089 -hsync +vsync (65.3 kHz)
[ 8.413] (II) qxl(0): Modeline "1280x1024"x59.9 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync (63.7 kHz)
[ 8.413] (II) qxl(0): Modeline "1440x900"x59.9 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz)
[ 8.413] (II) qxl(0): Modeline "1280x960"x59.9 101.25 1280 1360 1488 1696 960 963 967 996 -hsync +vsync (59.7 kHz)
[ 8.413] (II) qxl(0): Modeline "1280x854"x59.9 89.25 1280 1352 1480 1680 854 857 867 887 -hsync +vsync (53.1 kHz)
[ 8.413] (II) qxl(0): Modeline "1280x800"x59.8 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz)
[ 8.413] (II) qxl(0): Modeline "1280x720"x59.9 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync (44.8 kHz)
[ 8.413] (II) qxl(0): Modeline "1152x768"x59.8 71.75 1152 1216 1328 1504 768 771 781 798 -hsync +vsync (47.7 kHz)
[ 8.413] (II) qxl(0): Modeline "800x600"x59.9 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync (37.4 kHz)
[ 8.413] (II) qxl(0): Modeline "848x480"x59.7 31.50 848 872 952 1056 480 483 493 500 -hsync +vsync (29.8 kHz)
[ 8.413] (II) qxl(0): Modeline "720x480"x59.7 26.75 720 744 808 896 480 483 493 500 -hsync +vsync (29.9 kHz)
[ 8.413] (II) qxl(0): Modeline "640x480"x59.4 23.75 640 664 720 800 480 483 487 500 -hsync +vsync (29.7 kHz)
[ 8.413] (II) qxl(0): EDID for output Virtual-1
[ 8.413] (II) qxl(0): EDID for output Virtual-2
[ 8.413] (II) qxl(0): EDID for output Virtual-3
[ 8.413] (II) qxl(0): Output Virtual-0 connected
[ 8.413] (II) qxl(0): Output Virtual-1 disconnected
[ 8.413] (II) qxl(0): Output Virtual-2 disconnected
[ 8.413] (II) qxl(0): Output Virtual-3 disconnected
[ 8.413] (II) qxl(0): Using exact sizes for initial modes
[ 8.413] (II) qxl(0): Output Virtual-0 using initial mode 1024x768 +0+0
[ 8.413] (II) qxl(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
[ 8.413] (II) qxl(0): PreInit complete
[ 8.414] (II) UnloadModule: "modesetting"
[ 8.414] (II) Unloading modesetting
[ 8.414] (II) UnloadModule: "fbdev"
[ 8.414] (II) Unloading fbdev
[ 8.414] (II) UnloadSubModule: "fbdevhw"
[ 8.414] (II) Unloading fbdevhw
[ 8.414] (II) UnloadModule: "vesa"
[ 8.414] (II) Unloading vesa
[ 8.414] (--) Depth 24 pixmap format is 32 bpp
[ 8.414] (II) UXA(0): Driver registered support for the following operations:
[ 8.414] (II) solid
[ 8.414] (II) copy
[ 8.414] (II) composite (RENDER acceleration)
[ 8.414] (II) put_image
[ 8.415] (II) qxl(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 8.415] resizing primary to 1024x768
[ 8.415] primary is 0x5599314bee30
[ 8.415] (--) RandR disabled
[ 8.418] (II) SELinux: Disabled on system
[ 8.420] (II) AIGLX: Screen 0 is not DRI2 capable
[ 8.420] (EE) AIGLX: reverting to software rendering
[ 8.516] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[ 8.516] (II) AIGLX: Loaded and initialized swrast
[ 8.516] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 8.516] (II) qxl(0): Setting screen physical size to 270 x 203
[ 8.624] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[ 8.624] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 8.624] (II) LoadModule: "evdev"
[ 8.625] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 8.627] (II) Module evdev: vendor="X.Org Foundation"
[ 8.627] compiled for 1.18.1, module version = 2.10.1
[ 8.627] Module class: X.Org XInput Driver
[ 8.627] ABI class: X.Org XInput driver, version 22.1
[ 8.627] (II) Using input driver 'evdev' for 'Power Button'
[ 8.627] (**) Power Button: always reports core events
[ 8.627] (**) evdev: Power Button: Device: "/dev/input/event0"
[ 8.627] (--) evdev: Power Button: Vendor 0 Product 0x1
[ 8.627] (--) evdev: Power Button: Found keys
[ 8.627] (II) evdev: Power Button: Configuring as keyboard
[ 8.627] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0"
[ 8.627] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[ 8.627] (**) Option "xkb_rules" "evdev"
[ 8.627] (**) Option "xkb_model" "pc105"
[ 8.627] (**) Option "xkb_layout" "us"
[ 8.628] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event1)
[ 8.628] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
[ 8.628] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'
[ 8.628] (**) AT Translated Set 2 keyboard: always reports core events
[ 8.628] (**) evdev: AT Translated Set 2 keyboard: Device: "/dev/input/event1"
[ 8.628] (--) evdev: AT Translated Set 2 keyboard: Vendor 0x1 Product 0x1
[ 8.628] (--) evdev: AT Translated Set 2 keyboard: Found keys
[ 8.628] (II) evdev: AT Translated Set 2 keyboard: Configuring as keyboard
[ 8.628] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input1/event1"
[ 8.628] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 7)
[ 8.628] (**) Option "xkb_rules" "evdev"
[ 8.628] (**) Option "xkb_model" "pc105"
[ 8.628] (**) Option "xkb_layout" "us"
[ 8.629] (II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/event2)
[ 8.629] (**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "evdev pointer catchall"
[ 8.629] (II) Using input driver 'evdev' for 'ImExPS/2 Generic Explorer Mouse'
[ 8.629] (**) ImExPS/2 Generic Explorer Mouse: always reports core events
[ 8.629] (**) evdev: ImExPS/2 Generic Explorer Mouse: Device: "/dev/input/event2"
[ 8.629] (--) evdev: ImExPS/2 Generic Explorer Mouse: Vendor 0x2 Product 0x6
[ 8.629] (--) evdev: ImExPS/2 Generic Explorer Mouse: Found 9 mouse buttons
[ 8.629] (--) evdev: ImExPS/2 Generic Explorer Mouse: Found scroll wheel(s)
[ 8.629] (--) evdev: ImExPS/2 Generic Explorer Mouse: Found relative axes
[ 8.629] (--) evdev: ImExPS/2 Generic Explorer Mouse: Found x and y relative axes
[ 8.629] (II) evdev: ImExPS/2 Generic Explorer Mouse: Configuring as mouse
[ 8.629] (II) evdev: ImExPS/2 Generic Explorer Mouse: Adding scrollwheel support
[ 8.629] (**) evdev: ImExPS/2 Generic Explorer Mouse: YAxisMapping: buttons 4 and 5
[ 8.629] (**) evdev: ImExPS/2 Generic Explorer Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 8.629] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input3/event2"
[ 8.629] (II) XINPUT: Adding extended input device "ImExPS/2 Generic Explorer Mouse" (type: MOUSE, id 8)
[ 8.629] (II) evdev: ImExPS/2 Generic Explorer Mouse: initialized for relative axes.
[ 8.629] (**) ImExPS/2 Generic Explorer Mouse: (accel) keeping acceleration scheme 1
[ 8.629] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration profile 0
[ 8.629] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration factor: 2.000
[ 8.629] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration threshold: 4
[ 8.630] (II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/mouse0)
[ 8.630] (II) No input driver specified, ignoring this device.
[ 8.630] (II) This device may have been added with another device file.
/var/log/gpu-manager.log - Guest
Is nvidia egl available? no
Is fglrx available? no
Is fglrx-core available? no
Is mesa available? yes
Is mesa egl available? yes
Is pxpress available? no
Is prime available? no
Is prime egl available? no
Single card detected
No change - nothing to do
/var/log/kern.log - Guest
Jul 28 15:19:48 localhost NetworkManager[803]: <info> [1564327188.3306] device (docker0): state change: ip-config -> ip-check (reason 'none') [70 80 0]
Jul 28 15:19:48 localhost NetworkManager[803]: <info> [1564327188.3315] device (docker0): state change: ip-check -> secondaries (reason 'none') [80 90 0]
Jul 28 15:19:48 localhost NetworkManager[803]: <info> [1564327188.3319] device (docker0): state change: secondaries -> activated (reason 'none') [90 100 0]
Jul 28 15:19:48 localhost NetworkManager[803]: <info> [1564327188.3433] device (docker0): Activation: successful, device activated.
Jul 28 15:19:48 localhost kernel: [ 9.768070] aufs au_opts_verify:1597:dockerd[1395]: dirperm1 breaks the protection by the permission bits on the lower branch
Jul 28 15:19:50 localhost gnome-session-binary[1999]: Entering running state
Jul 28 15:19:50 localhost kernel: [ 11.805526] ISO 9660 Extensions: Microsoft Joliet Level 3
Jul 28 15:19:50 localhost kernel: [ 11.814958] ISO 9660 Extensions: RRIP_1991A
Jul 28 15:19:51 localhost NetworkManager[803]: <info> [1564327191.6905] manager: WiFi hardware radio set enabled
Jul 28 15:19:51 localhost NetworkManager[803]: <info> [1564327191.6905] manager: WWAN hardware radio set enabled
/var/log/syslog - Guest
Jul 28 15:20:11 localhost systemd-timesyncd[432]: Synchronized to time server 91.189.89.199:123.
Jul 28 15:20:11 localhost systemd[1]: Time has been changed
Jul 28 15:20:11 localhost systemd[1502]: Time has been changed
Jul 28 15:20:14 localhost systemd[1]: Started Session 1 of user sansforensics.
Jul 28 15:20:14 localhost pulseaudio[2145]: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.bluez': timed out
.xsession-errors - Guest
openConnection: connect: No such file or directory
cannot connect to brltty at :0