Your company here — click to reach over 10,000 unique daily visitors

waffle_display - Man Page

class waffle_display


#include <waffle.h>

struct waffle_display;

struct waffle_display* waffle_display_connect(const char* name);

bool waffle_display_disconnect(struct waffle_display *self);

bool waffle_display_supports_context_api(struct waffle_display *self, int32_t context_api);

union waffle_native_display* waffle_display_get_native(struct waffle_display *self);


struct waffle_display

An opaque type.


Connect to a display. The interpretation of name differs according to the platform given to waffle_init(3).

On Android, CGL and WGL name is ignored.

On the X11 platforms, GLX and X11/EGL, the function connects to the X11 display with the given name. If name is null, then it uses the value of the environment variable DISPLAY.

On Wayland, the function connects to the Wayland display with the given name. If name is null, then it uses the value of the environment variable WAYLAND_DISPLAY.

On GBM, the function opens the device at the filepath name. If name is NULL, then the function uses the value of environment variable WAFFLE_GBM_DEVICE. If name is null and WAFFLE_GBM_DEVICE is unset, then the function iterates using udev through the set of card devices in the drm subsystem, which are usually located in /dev/dri, and attempts to open each in turn with open(O_RDWR | O_CLOEXEC) until successful.


Disconnect from the waffle_display and release it's memory. All pointers to waffle objects that were created with the display become invalid.


Check if the display is capable of creating a waffle_context(3) with the given context_api. See waffle_config(3) for choices of context_api and expectations for each platform.


Get the display's underlying native objects. Use free(3) to deallocate the returned pointer. See waffle_native(3) for the definition of union waffle_native_display.

Return Value

Functions whose return type is bool return true on success and false on failure. Functions whose return type is a pointer return NULL on failure. Use waffle_error_get_info(3) to get information about any errors.


See waffle_error(3) for the complete list of waffle's error codes.

No errors are specific to any of the waffle_display functions.


Please report bugs or and feature requests to https://gitlab.freedesktop.org/mesa/waffle/issues.

See Also



Chad Versace <chad.versace@linux.intel.com>


Referenced By

waffle(7), waffle_config(3).

The man pages waffle_display_connect(3), waffle_display_disconnect(3), waffle_display_get_native(3) and waffle_display_supports_context_api(3) are aliases of waffle_display(3).

01/27/2024 Waffle Manual