Подробный гайд: Настройка графики и нескольких мониторов в QEMU/KVM в Arch Linux

Настройка QEMU/KVM с графикой и двумя мониторами в Arch Linux с XFCE: установка пакетов, SPICE, QXL, virt-manager и запуск ВМ.

2026.08.04                  


Подробный гайд: Настройка графики и нескольких мониторов в QEMU/KVM в Arch LinuxПодробный гайд: Настройка графики и нескольких мониторов в QEMU/KVM в Arch Linux Настройка виртуальной машины QEMU/KVM с поддержкой графического ускорения и двух мониторов в Arch Linux с XFCE — задача вполне решаемая. Лучший и самый стабильный способ реализации этого в Linux — использование связки QEMU + KVM + libvirt + virt-manager с протоколом отображения SPICE.


Шаг 1: Подготовка хоста (Arch Linux + XFCE)

Для начала убедитесь, что у вас установлены все необходимые пакеты. В Arch Linux основной пакет теперь называется qemu-full.

Откройте терминал и выполните:

sudo pacman -S qemu-full libvirt virt-manager edk2-ovmf dnsmasq spice-vdagent
  • qemu-full — сам эмулятор и инструменты.
  • libvirt — служба управления виртуалками.
  • virt-manager — графический интерфейс.
  • edk2-ovmf — прошивка UEFI (обязательно для Windows и современных Linux).
  • spice-vdagent — агент для интеграции (общий буфер обмена, автоматическое изменение разрешения).

Включите службу libvirt и добавьте своего пользователя в нужную группу:

sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt $(whoami)

Важно:

После выполнения команды usermod нужно выйти из сеанса XFCE и зайти заново (или перезагрузиться), чтобы группы применились.


Шаг 2: Настройка виртуальной машины в Virt-Manager

Чтобы два монитора работали корректно по протоколу SPICE, лучше всего использовать виртуальный видеоадаптер QXL. (Адаптер virtio-vga дает лучшее 3D-ускорение, но с двумя мониторами по SPICE иногда работает нестабильно).

  1. Откройте virt-manager и создайте новую ВМ (или откройте настройки существующей).
  2. В окне настроек ВМ (иконка лампочки или оборудования) перейдите в раздел Video (Видео).
  3. Установите модель видеокарты: QXL.
  4. Чтобы добавить второй монитор, там же в разделе оборудования нажмите Add Hardware (Добавить устройство) -> Video (Видео) и добавьте вторую видеокарту QXL.
  5. В разделе Display (Дисплей / Консоль) убедитесь, что тип консоли выбран Spice server.
  6. В разделе Channel (Каналы) должно быть устройство com.redhat.spice.0 (создается автоматически, нужно для работы spice-vdagent).

Шаг 3: Настройка внутри Гостевой ОС (Virtual Machine)

То, как появятся вторые мониторы, зависит от ОС, которую вы виртуализируете.


Вариант А: Гость — Linux (например, Ubuntu, Fedora, Arch)

Внутри гостевого Linux должен быть установлен агент SPICE.

  • Для Arch/Ubuntu: sudo pacman -S spice-vdagent или sudo apt install spice-vdagent.
  • Запустите гостевую ОС. Откройте настройки дисплея в гостевой ОС. Там должны отображаться два виртуальных монитора. Вы можете расширить экраны.
* Если графическая утилита не видит второй экран, используйте консоль гостя:
  xrandr --listmonitors
  xrandr --output Virtual-2 --auto --right-of Virtual-1

(Имена выходов Virtual-1, Virtual-2, VGA-1 и т.д. могут немного отличаться, смотрите вывод xrandr).


Вариант Б: Гость — Windows (10/11)

Для Windows обязательно нужно установить драйверы QXL и SPICE Tools, иначе Windows не поймет, что мониторов два.

  1. Скачайте ISO-образ SPICE Guest Tools (например, отсюда или готовый ISO из репозиториев Fedora/AltLinux). В Virt-Manager подключите этот ISO в виртуальный CD-ROM.
  2. Внутри Windows запустите spice-guest-tools.exe и установите его. Он установит драйверы видеокарты QXL и агента.
  3. Перезагрузите Windows.
  4. Кликните правой кнопкой мыши по рабочему столу Windows -> Параметры экрана (Display settings).
  5. Нажмите Обнаружить (Detect) или выберите режим Расширить эти экраны (Extend these displays).

Шаг 4: Специфика XFCE и полноэкранного режима

Когда вы настроите два монитора внутри виртуалки, вам нужно будет правильно раскинуть их по вашим физическим мониторам хоста:

  1. В окне просмотра консоли Virt-Manager нажмите кнопку Fullscreen (Во весь экран) или используйте сочетание клавиш (обычно Ctrl+Alt+F или через меню Вид -> Полноэкранный режим).
  2. Если у вас в XFCE настроено два физических монитора, окно remote-viewer (которое открывает virt-manager) растянется на оба экрана, и виртуальные рабочие столы идеально лягут на физические.
3. Совет для XFCE:

Убедитесь, что в настройках дисплея самого XFCE (Меню приложений -> Настройки -> Дисплей) ваши физические мониторы настроены в режиме "Расширенный рабочий стол", а не дублируются.


Альтернатива: Запуск через командную строку (без virt-manager)

Если вы предпочитаете запускать QEMU скриптом из терминала, аргументы для двух мониторов и графики будут выглядеть примерно так:

qemu-system-x86_64 \
  -enable-kvm \
  -m 4G \
  -drive file=/path/to/disk.qcow2,if=virtio \
  -device qxl-vga \
  -device qxl \
  -spice port=5900,addr=127.0.0.1,disable-ticketing=on \
  -device virtio-serial-pci \
  -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
  -chardev spicevmc,id=spicechannel0,name=vdagent

После запуска этой команды, откройте окно терминала и введите:

remote-viewer spice://127.0.0.1:5900

Откроется окно с графикой, где гостевая ОС увидит два монитора (благодаря флагам -device qxl-vga и -device qxl).


Важно:

Для стабильной работы 2-х мониторов используйте 2 видеокарты QXL в настройках QEMU и протокол SPICE, а внутри гостя обязательно установите spice-vdagent (для Linux) или spice-guest-tools (для Windows).


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (5)(531)(30)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта