LINUX.ORG.RU

Сообщения yet_another_cat

 

Запускаем kvm + virgl

Коллеги, кто успешно использует kvm с virgl на любой системе, отзовитесь.

Если не считать проброс PCI-устройства, то сегодня virgl - это единственный способ получить 3D-ускорение в гостевой системе, достаточное для просмотра видео высокого разрешения и, простите, для открытия современных свистящих сайтов в браузере. :)

Речь идет про конфигурацию, которая в virt-manager получается следующим образом:

  1. В секции «Video» устанавливается Model = virtio и галка на «3D Acceleration»
  2. В секции «Display» выбирается Listen type = none и ставится галка на «OpenGL»

Соответствующий XML:

<graphics type="spice">
  <listen type="none"/>
  <image compression="off"/>
  <gl enable="yes" rendernode="/dev/dri/by-path/pci-0000:XX:00.0-render"/>
</graphics>

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>

После чего имеем… лагающее слайдшоу. Возможно из-за vblank_mode=3 по умолчанию.

Если же использовать vblank_mode=0 (указав через переменные окружения при запуске virt-manager), то FPS полный, видео успешно проигрываются. Но раз в пару часов падают хостовые иксы, либо система встает колом - ребутнуться можно только через sysrq.

Получилось найти быстрый и гарантированный способ воспроизведения падения:

  1. Стартуем ВМ:
qemu-system-x86_64 \
  -smp 4 -m 8192 -enable-kvm -cpu host \
  -vga none -device virtio-vga-gl \
  -display sdl,gl=on,grab-mod=rctrl \
  video_test.qcow2 
  1. В гостевой системе запускаем glxgears или любое другое требовательное к графике приложение.

  2. Дальше достаточно поальттабаться между окнами в гостевой системе или между ВМ и хостом. Обычно достаточно секунд 20, чтобы словить.

Причем, как видно из примера выше, неважно, работать ли с virt-manager и Spice или вручную запускать qemu-system-x86_64 со, скажем, SDL - падения происходят везде.

Более того, проблема воспроизводится как на встроенной графике Intel (10 gen), так и на интегрированном видео AMD, на разных компьютерах. В последний раз тестировалось на Debian 12 и QEMU 7.2.13. Но актуально и для Debian 11, и для Ubuntu 22.04: на всех компьютерах с virt-manager, которые попадались в руки, virtio стабильно лагает (дефолтный vblank_mode=3) или падает (vblank_mode=0).

До сих пор не верится, что никто с этим не сталкивался.

 , , , ,

yet_another_cat
()

RSS подписка на новые темы