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 Benchmarking Platform
Phoromatic Test Orchestration

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.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Ubuntu 15.04 Offers Faster OpenGL For AMD Radeon GPUs On Open-Source
  2. Ubuntu 15.04 Brings Some Graphics Performance Improvements For Intel Haswell
  3. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  4. The Lenovo T450s Is Working Beautifully With Linux
  5. Linux 4.0 SSD EXT4 / Btrfs / XFS / F2FS Benchmarks
  6. Linux 4.0 Hard Drive Comparison With Six File-Systems
Latest Linux News
  1. GCC 4.9.2 vs. GCC 5 Benchmarks On An Intel Xeon Haswell
  2. Intel Haswell/Broadwell Power Use On Linux Still Moving Lower
  3. QEMU 2.3 Officially Released
  4. It's Been Three Years Since The Big Steam Linux Reveal
  5. Debian-Based Distribution Updated With KDE 3.5 Forked Desktop
  6. Intel Is Making Some Progress With Compute Shaders
  7. Linux 4.1-rc1 Kernel Released, Packs In Several New Features
  8. It Doesn't Look Like KDBUS Will Make It For Linux 4.1
  9. Debian 9.0 Is Codenamed Stretch
  10. AMD Radeon GPUs With Linux 4.0 + Mesa 10.6-devel
Most Viewed News This Week
  1. AMD Releases New "AMDGPU" Linux Kernel Driver & Mesa Support
  2. Ubuntu's Desktop-Next Switching From .DEBs To Snappy
  3. Systemd Kills Off Shutdownd
  4. My Favorite Computer Desk Of The Past Decade For Less Than $100
  5. KDBUS Still Hasn't Been Pulled, Might Not Land For Linux 4.1
  6. AMD Open-Sources "Addrlib" From Catalyst
  7. Debian 8.0 Jessie Is Ready For Release This Weekend
  8. Qt Creator 3.4 Brings C++ Programming Improvements & More