我正在尝试通过 QEMU/KVM 启动一些新的 Linux 虚拟机(Ubuntu)。它们启动良好,直到我在屏幕上移动鼠标(VNC 连接)。当我这样做时,显示会冻结,并且在重新启动之前我无法使用桌面环境。
我尝试了 2 个不同版本的 Ubuntu,版本 18.04、19.04,结果相同。 Windows 虚拟机不会出现此问题。当图形模型从QXL切换到VGA时,移动鼠标不会冻结虚拟机,但分辨率较低且无法更改。
即使显示器被冻结,我仍然可以 ssh 进入虚拟机,并尝试终止/重新启动 X 和 lightdm,但 VNC 会话仍然卡住。在重现问题时,我还尝试跟踪所有日志,但没有看到任何突出的内容。
有什么方法可以知道 QXL 导致显示屏冻结的原因吗?
Qemu 软件包版本 - 主机
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
虚拟机信息 - 访客
CPU: 2
RAM: 8gb
HDD: 100GB
Display VNC
Video: QXL
Xorg.0.log 访客
[ 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 - 访客
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 - 访客
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 - 访客
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 - 访客
openConnection: connect: No such file or directory
cannot connect to brltty at :0
答案1
确保客人有香料vdagent和qemu 访客代理安装。接下来,尝试使用香料服务器作为您的默认查看器(您现在应该能够切换到 VirtIO 视频驱动程序)。
答案2
我不知道问题是什么,但解锁它的方法是使用查看器中的“Send-Key”选项并发送 CTRL-ALT-F* 序列之一以从 UI 切换到终端。然后再次使用该方法通过发送 CTRL-ALT-F7 打开 UI。鼠标和键盘现在将再次工作。