Почему зависает консоль виртуальной машины KVM в полноэкранном режиме?
Ситуация непонятная.
QEMU 2.8.1-r2, libvirt 3.1.0, virt-manager 1.4.0-r3. Calculate Linux 17, ведро 4.4.39 (пробовал 4.9.17 - без разницы).
Виртуалка с Win7, дисплей SPICE, видео QXL. До некоторого времени (примерно месяц назад) все работало без каких-либо проблем - с момента создания оной два года назад. Но вот недавно начались какие-то неведомые проблемы, которые выражаются в том, что "зависает" изображение на экране консоли в virt-manager. То есть открываешь консоль - показывает заставку Windows. Заходишь в систему и стоит перейти в полноэкранный режим - изображение "зависает" и не обновляется, при возврате в окно - полосы, артефакты, приходится закрывать консоль и открывать заново - после открытия заново видишь изображение каким оно должно быть (то есть действия были выполнены, но на экране они не отобразились). Причем фигня эта возникает только в том случае, если разрешение консоли равно физическому разрешению монитора (в данном случае 1920x1200), при установке любого другого, больше, меньше - все работает ничего не глючит.
Вопрос - что делать и кто виноват? :) В ведре проблема, в qemu, в дровах на QXL? Дрова обновлял с сайта spice-space, нашлась пара устройств типа VirtIO Serial (да нафиг они мне?). Ведро загружено без nomodeset - почему-то последнее время опять же загрузка с nomodeset вызывает зависание после надписи "Loading initial ramdisk".
нашлась пара устройств типа VirtIO Serial (да нафиг они мне?)
Они нужны как раз для передачи состояния видеорежима в том числе. Попробуйте поставьте vdagent, чтоб он подцепился к этим последовательным портам, он должен автоматом под окно видеорежим подстраивать. Либо, наоборот, вырубите это в клиенте спайса. Ещё можно попробовать отключить расширения протокола различные, типа различных сжатий.
А через сторонний спайс-клиент так же? Или только через вирт-менеджер?
Дмитрий: А про сторонний спайс-клиент я вообще хотел отдельный вопрос создать, потому что в полных непонятках в теме. Насколько я понимаю, в машину встраивается spice-сервер (ну либо vnc) для доступа к консоли оной, а virt-manager подключается к нему. Я пробовал spicy, - но получается неведомое - в окне spicy я вижу копию рабочего стола xfce! (а вовсе не винду, как я ожидал) spicy -h localhost -p 5902
При запуске virt-viewer появляется окно с надписью Connected to the graphic server в сером прямоугольнике внутри черного прямоугольника большего размера.
Я видимо что-то делаю не так, причем нечто глобальное, потому что пока нет четкого понимания, как эта байда работает.
Служба SPICE VDAgent в винде запущена, служба QEMU Guest VSS Provider запущена, QEMU Guest Agent не запускается, говорит "служба не ответила на запрос своевременно". VirtIO Balloon driver и VirtIO Serial Driver установлены.
Насчет "vdagent...подцепился к последовательным портам" не совсем понял - откуда и куда цепляться?
Насколько я понимаю, в машину встраивается spice-сервер
Спайс-хост встроен в сам видео-драйвер qxl.
Насчет "vdagent...подцепился к последовательным портам" не совсем понял - откуда и куда цепляться?
Агент сам цепляется к этим портам. Потом, когда меняется размер окна спайс-клиента и, соответственно, включена опция в этом клиенте, система сама изменяет разрешение под этот размер. Ещё может пробрасывать буфер обмена, мышь, различные кастомные ивенты.
Конкретно по libvirt не могу помочь, ибо пользуюсь чистым kvm без всяких обвязок.
Может, проблема в видео-драйвере хоста? Пробовали ставить проприетарные или наоборот опенсорсные?
Дмитрий: intel. К нему вроде один-единственный драйвер. И он-то как раз менялся... А вот QXL драйвер не менялся - как поставил spice-guest-tools-0.100.exe - там и стояли они пока баг не обнаружился.
Дмитрий: А насчет того, почему spicy цепляется фактически сам к себе, а не к виртуальной винде - можете подсказать что-нибудь? Последний раз я такое видел, когда запустил в виртуалке VNC и подключился из нее к хосту :D
Что из этого починило работу консоли - так и непонятно. Просто после очередной пересборки я не увидел привычного уже "зависания" значков virt-manager в полноэкранном режиме - и OMG - все починилось. Сейчас все работает как должно. Ведро загружено без nomodeset - calculate=video:intel splash=off