Представлен релиз проекта QEMU 1.5.0. В качестве эмулятора QEMU позволяет запустить программу собранную для одной аппаратной платформы на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе, за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Беллардом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. Всего в разработке всех выпусков QEMU приняло участие более 400 авторов, которые подготовили около 20 тысяч изменений. При подготовке версии 1.5 внесено около 1800 изменений от 130 разработчиков. Отмечается, что выпуск QEMU 1.5.0 является самым интенсивно развиваемый за всю историю проекта, значительный релиз был подготовлен всего за три месяца, при этом ежедневно вносилось около 20 коммитов, что на 38% больше, чем наблюдалось при разработке проекта год назад.
Ключевые улучшения, добавленные в QEMU 1.5.0:
- Представлен графический интерфейс пользователя, написанный с использованием библиотеки GTK+ и полноценно поддерживающий интернационализацию;
- Поддержка работы гипервизора KVM на системах на базе архитектуры ARM;
- Экспериментальная еализация VFIO-драйвера для проброса VGA-устройств в гостевые системы. Поддержка VFIO была представлена в ядре Linux 3.6 и позиционируется как средство для создания виртуализированных драйверов устройств, работающих в пространстве пользователя. Подсистема была создана разработчиками системы виртуализации KVM для упрощения создания драйверов для прямого доступа к PCI-устройствам из гостевых систем, обеспечивающих максимальную производительность и минимальное время задержки, но не требующих запуска отдельных компонентов уровня ядра на стороне хост-системы;
- Поддержка паравиртуализации SCSI с задействованием средств ускорения tcm_vhost, работающих на уровне ядра;
- Поддержка TLS-шифрования для VNC-сеансов, работающих поврех WebSockets;
- Поддержка образов в формате VHDX (Hyper-V) в режиме только для чтения;
- Существенное увеличение производительности для TCG (Tiny Code Generator) на хостах с Windows;
- Поддержка эмуляции виртуальных устройств VMware PVSCSI и VMXNET3;
- Задействование libusb для проброса USB-устройств;
- Для гостевых систем s390x обеспечена возможность загрузки с использованием транспорта virtio-ccw;
- Реализованы средства для уведомления о крахе паравиртуализированых гостевых систем;
- Поддержка проброса модулей TPM (Trusted Platform Module);
- Поддержка горячего добавления CPU и символьных устройств;
- Увеличение производительности работы со снапшотами для формата QCOW2.