Реализация поддержки OpenGL ES для QEMU
Из составных частей проекта gles-libs отмечены:
- fgles (fake gles) - библиотека-враппер с реализацией EGL, OpenGL ES 1.1 и 2.0 API, передающая вызовы к модулю kfgles;
- kfgles (kernel fgles) - модуль ядра, транслирующий вызовы от библиотеки fgles к qemu через iomem;
- qemu hw/gles* - код QEMU, обеспечивающий передачу вызовов из пространства гостевой системы на уровень хост-системы;
- dgles (desktop gles) - библиотека с реализацией EGL, OpenGL ES 1.1 и 2.0 API, занимающаяся непосредственно трансляцией вызовов в доступное в базовой системе API GLX, Windows GL и Apple GL. Может использоваться отдельно от QEMU в роли прослойки для трансляции OpenGL ES в OpenGL 2.0+.
В настоящий момент уже достигнута неплохая совместимость с проприетарными драйверами NVIDIA и ATI, также обеспечена поддержка драйверов Intel. Поддержка других драйверов Mesa пока оставляет желать лучшего. Среди ближайших планов отмечается продвижение созданных патчей в состав основной ветки QEMU и подготовка готовых к работе пакетов для Debian и Ubuntu.
Кроме представленной разработки, эмуляция OpenGL на достаточно высоком уровне ранее уже реализована в системе виртуализации VirtualBox и в эмуляторе из состава Android SDK, выполненном на базе QEMU. Как варианты также рассмотрены наработки компании Red Hat (работа по обеспечению OpenGL-акселерации в KVM с использованием технологии SPICE) и VMware (поддерживающий OpenGL виртуальный Gallium3D-драйвер и модуль ядра vmwgfx).
В заключение, можно отметить выход корректирующего релиза системы эмуляции аппаратного обеспечения и виртуализации QEMU 0.14.1, в котором отмечено только исправление 20 ошибок.
Источник: http://www.opennet.ru/opennews/art.shtml?num=30526
|
0 | Tweet | Нравится |
|