WAFFLE_GBM(3)

πŸŽ€ NAME πŸŽ€

Bestie, say hi to the whole squad πŸ‘‹ β€” <purple>waffle_gbm</purple>, <purple>waffle_gbm_display</purple>, <purple>waffle_gbm_config</purple>, <purple>waffle_gbm_context</purple>, and <purple>waffle_gbm_window</purple>, all documented right here in waffle_gbm(3).

And what are they, you ask? They are literally containers for underlying native GBM objects ✨. That's the whole job description. They hold the native stuff, they look cute doing it, periodt πŸ’….


πŸ’– SYNOPSIS πŸ’–

First things first, you gotta bring in the header:

#include <waffle_gbm.h>

Then boom, four structs, waiting for you like πŸ¦‹:

struct waffle_gbm_display {
    struct gbm_device *gbm_device;
    EGLDisplay egl_display;
};

struct waffle_gbm_config {
    struct waffle_gbm_display display;
    EGLConfig egl_config;
};

struct waffle_gbm_context {
    struct waffle_gbm_display display;
    EGLContext egl_context;
};

struct waffle_gbm_window {
    struct waffle_gbm_display display;
    struct gbm_surface *gbm_surface;
    EGLSurface egl_surface;
};

Vibe check on each one, no cap:

  • waffle_gbm_display β€” carries its very own <cyan>struct gbm_device *gbm_device</cyan> plus an `EGLDisplay egl_display. 🌈
  • waffle_gbm_config β€” nests a whole waffle_gbm_display in there (as display, obvs) and adds an `EGLConfig egl_config. It's giving ✨collector✨.
  • waffle_gbm_context β€” same deal, it's got a waffle_gbm_display display and an `EGLContext egl_context. πŸ‘‘
  • waffle_gbm_window β€” the main character fr: it holds a waffle_gbm_display display, a <cyan>struct gbm_surface *gbm_surface</cyan>, AND an `EGLSurface egl_surface. Ate and left no crumbs πŸ’…πŸ’–

Like, the way every single one of the last three is built on top of waffle_gbm_display? That's iconic inheritance-by-nesting energy. 🫢


😭 ISSUES 😭

Found a bug? Got a feature request bubbling in your brain? Please report bugs or feature requests to https://gitlab.freedesktop.org/mesa/waffle/issues. That's the spot, bestie β€” not my DMs πŸ₯².


🌸 SEE ALSO 🌸

Go read these next, they're the besties of this page:


πŸ’œ AUTHOR πŸ’œ

Chad Versace <chad.versace@linux.intel.com> &nbsp;&nbsp;&nbsp;&nbsp;Former maintainer πŸ‘‘


Copyright Β© 2013 Intel

This manual page is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License (CC BY-SA 3.0). Wanna see a copy of this license? Visit http://creativecommons.org.license/by-sa/3.0/us. πŸŽ€


okay that's the whole thing fr fr. no skips, no missing bits, every struct field intact 🀝

And that's a wrap on waffle_gbm(3) from the waffle manual, dated 07/06/2026 πŸ¦‹βœ¨ thanks for reading, mwah πŸ’–Ctrl+D your way out whenever, love u, bye πŸ‘‹πŸ’…

πŸ“¦ where this page comes from