Waffle: Run-Time Selecting GL, Windowing System

Posted by Michael Larabel on September 05, 2012

Chad Versace of Intel has been working on a cross-platform C library that defers selection of the OpenGL API and windowing system until run-time. This makes it easier switching OpenGL back-end targets as well as going from X.Org to Wayland.

Versace's project page for Waffle describes the library as "a cross-platform C library that allows one to defer selection of GL API and of window system until runtime. For example, on Linux, Waffle enables an application to select X11/EGL with an OpenGL 3.3 core profile, Wayland with OpenGL ES2, and other window system / API combinations. Waffle's immediate goal is to enable Piglit, Mesa's OpenGL test suite, to test multiple GL flavors in a cross-platform way. However, Waffle's design does not preclude it from being useful to other projects."

Native platforms for Waffle include GLX, X11/EGL, Wayland, and GBM (tentative) for Linux. On Windows there is MacOS CGL right now with possible MacOS GLX support. Android and Windows support are also being talked about. The OpenGL APIs that can be handled by the tasty library include OpenGL, OpenGL ES 1.0, and OpenGL ES 2.0.

Waffle has been quietly under development going back to early April of this year. There will be a brief presentation about the Waffle library at XDC2012 in two weeks.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Intel Ultrabook Performance Is Faster With Mesa 9.2
  2. Hot Relocation HDD To SSD Support For Btrfs
  3. Phoronix Test Suite 4.6.0 "Utsira" Released
  4. New Intel X.Org Driver Supports All Of Haswell
  5. SQLite Now Faster With Memory Mapped I/O
  6. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  7. Qt For Tizen Launches, Based On Qt 5.1
  8. KTAP Released For Linux Kernel Dynamic Tracing
  9. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  10. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  11. Handbrake 0.9.9 Supports OpenCL Offloading
Latest Forum Talk
  1. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  2. Phoronix Test Suite 4.6.0 "Utsira"...
  3. New Intel X.Org Driver Supports All Of Haswell
  4. Intel Ultrabook Performance Is Faster With Mesa...
  5. Freedreno Gallium3D Now Banging The Adreno A3XX
  6. Microsoft Releases Skype For Linux 4.2, Has...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite