1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

OpenGL ES Support For QEMU Emulator

Virtualization

Published on 11 May 2011 06:43 AM EDT
Written by Michael Larabel in Virtualization
5 Comments

One of the items brought up this week at UDS Budapest was about providing OpenGL / OpenGL ES support for QEMU guests. The need for OpenGL ES 2.0 support in QEMU guests has come up since it's used in emulating Maemo / MeeGo for development environments. This would also make it possible to use Canonical's Unity desktop in a virtualized environment.

Code was already written to accelerate OpenGL in QEMU when using x86 software on the guest and host, followed by support for an ARM guest on an x86 system, and then a library was also written for translating OpenGL ES calls to OpenGL.

This Ubuntu-developed OpenGL QEMU acceleration method works by having a fake OpenGL ES library on the guest that implements the EGL, OpenGL ES 1.1, and OpenGL ES 2.0 APIs. This fake library passes the calls onto a kernel module via iomem. There's then some hacked-up QEMU code that reads these OpenGL ES calls from registers and copies the buffers from the guest user-space memory to host user-space. This component though is targeted for being rewritten so that it's much cleaner. This would also be needed for potential upstream QEMU acceptance.

There's also another library in-development that does the EGL / GLES 1.1 / GLES 2.0 translations to GLX, Windows GL, and Apple GL. This part is not dependent upon QEMU but just having a host with OpenGL 2.1+ support. It's working with the proprietary NVIDIA/AMD drivers and the Intel classic Mesa driver, but not much else in terms of the other Mesa / Gallium3D drivers.

This is the rough solution for what Canonical's after, but they haven't explored what Red Hat may be doing for OpenGL acceleration with KVM and SPICE. It would also be interesting to leverage a virtual Gallium3D driver such as what VMware does with their virtualization stack, but that's not a target for these Ubuntu / Linaro developers.

More details in the UDS notes.

Latest Linux Hardware Reviews
  1. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  2. Overclocking The AMD AM1 Athlon & Sempron APUs
  3. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  4. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
Latest Linux Articles
  1. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  2. AMD OpenCL Performance With AM1 Kabini APUs
  3. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  4. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
Latest Linux News
  1. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  2. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  3. QEMU 2.0 Released With ARM, x86 Enhancements
  4. Running The Unity 8 Preview Session On Ubuntu 14.04 LTS
  5. R600 Gallium3D Disables LLVM Back-End By Default
  6. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  7. Fedora Workstation Is Making Me Quite Excited
  8. Maynard: A Lightweight Wayland Desktop
  9. Chromium Browser Going Through Growing Pains In Ubuntu 14.04
  10. KDE 4.13 Is Being Released Today With New Features
  11. Trying Out Radeon R9 290 Graphics On Open-Source
  12. Intel Broadwell GT3 Graphics Have Dual BSD Rings
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. The GNOME Foundation Is Running Short On Money
  3. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  4. Suspected PHP Proxy Issue
  5. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  6. Change installation destination from home directory
  7. Bye bye BSD, Hello Linux: A Sys Admin's Story
  8. New tool for undervolt/overclock AMD K8L and K10 processors