1

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
1

Make sure that the guest has spice-vdagent and qemu-guest-agent installed. Next, try using the Spice server as your default viewer (you should be able to switch to the VirtIO video driver now).

1

I don't know what the issue is, but the way to unlock it is to use the "Send-Key" option in the viewer and sending one of the CTRL-ALT-F* sequences to switch out of UI to a terminal. Then use the method again to open the UI by sending the CTRL-ALT-F7. The mouse and keyboard will now work again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.