Bug 55058 - qemu: qxl: Когда гость уходит в сон, его невозможно разбудить с помощью SPICE
Summary: qemu: qxl: Когда гость уходит в сон, его невозможно разбудить с помощью SPICE
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: qemu (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-07-04 18:17 MSK by Artem Varaksa
Modified: 2025-07-04 18:18 MSK (History)
4 users (show)

See Also:


Attachments
qxl.fell-asleep.png (14.37 KB, image/png)
2025-07-04 18:17 MSK, Artem Varaksa
no flags Details
qxl.connection-attempt.png (14.13 KB, image/png)
2025-07-04 18:17 MSK, Artem Varaksa
no flags Details
virtio-vga.png (12.09 KB, image/png)
2025-07-04 18:18 MSK, Artem Varaksa
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Artem Varaksa 2025-07-04 18:17:23 MSK
Created attachment 18940 [details]
qxl.fell-asleep.png

Шаги
====

1. # apt-get install -y qemu qemu-kvm
2. # gpasswd -a test vmuser
3. Установить с помощью qemu систему на виртуальный диск или взять готовый образ диска.
4. Запустить ВМ, указав `-vga qxl`, например (для UEFI), указав путь к диску с установленной системой `image.qcow2`:

$ qemu-system-x86_64 \
    -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
    -drive if=pflash,format=raw,file=/usr/share/OVMF/OVMF_VARS.fd \
    -m 4096 \
    -cpu qemu64 \
    -enable-kvm \
    -spice port=51000,disable-ticketing=on \
    -boot menu=on,splash-time=1000,order=c \
    -vga qxl \
    -device virtio-scsi-pci,id=scsi0 \
    -blockdev driver=file,node-name=hd0-overlay0-file,filename=image.qcow2,cache.no-flush=on \
    -blockdev driver=qcow2,node-name=hd0-overlay0,file=hd0-overlay0-file,cache.no-flush=on,discard=unmap \
    -device virtio-blk,id=hd0-device,drive=hd0-overlay0,bootindex=0,serial=hd0

Затем на любой другой машине:

1. # apt-get install -y virt-viewer
2. $ remote-viewer spice://<ip>:51000
3. Дождаться загрузки системы.
4. Войти в систему обычным пользователем.
5. Необязательно: Для более быстрого воспроизведения ошибки перейти в настройки GNOME > Питание > уменьшить время до автоматического сна (аналогично в настройках KDE > Управление питанием).
6. Не выполнять никаких действий в госте, дождаться засыпания гостя.
7. Закрыть remote-viewer и подключиться снова.


Фактический результат
=====================

6. При засыпании гостя отображается надпись "Ожидание просмотра 1..." (см. скриншот `qxl.fell-asleep.png`).
7. При подключении к спящему гостю - надпись "Установлено соединение с графическим сервером" (см. скриншот `qxl.connection-attempt.png`).
* Гостя невозможно разбудить, проведя мышью или нажав в окне remote-viewer.


Ожидаемый результат
===================

* Гостя должно быть можно разбудить, проведя мышью или нажав в окне remote-viewer.


Дополнительно
=============

Если использовать virtio-vga вместо qxl, т.е. заменить:

> -vga qxl

на:

> -device virtio-vga,edid=on,xres=1024,yres=768

то поведение меняется:

6. При засыпании гостя отображается надпись "Display output is not active" на чёрном фоне, видимо, изнутри самой ВМ (см. скриншот `virtio-vga.png`).
7. При подключении к спящему гостю - после кратковременной надписи "Установлено соединение с графическим сервером".
* Гостя можно разбудить, проведя мышью или нажав в окне remote-viewer.


При использовании ВМ в среде Proxmox Virtual Environment гостя можно также разбудить, открыв noVNC и нажав мышью, даже при использовании Display: qxl.


Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[sisyphus] ALT Workstation 11.0 x86_64
qemu-9.2.3-alt2.x86_64
virt-viewer-11.0-alt3.x86_64

[p11] ALT Workstation 11.0 x86_64
qemu-9.1.2-alt1.x86_64
virt-viewer-11.0-alt3.x86_64
Comment 1 Artem Varaksa 2025-07-04 18:17:40 MSK
Created attachment 18941 [details]
qxl.connection-attempt.png
Comment 2 Artem Varaksa 2025-07-04 18:18:26 MSK
Created attachment 18942 [details]
virtio-vga.png