Introduction to Cogl

Cogl is a modern 3D graphics API with associated utility APIs designed to expose the features of 3D graphics hardware using a direct state access API design, as opposed to the state-machine style of OpenGL.



Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

Cogl Dependencies


Cairo-1.17.6, gdk-pixbuf-2.42.10, GLU-9.0.2, Mesa-22.3.5, Pango-1.50.12, and Wayland-1.21.0



gst-plugins-base-1.22.0, GTK-Doc-1.33.2, SDL-1.2.15, and SDL2-2.26.3

User Notes:

Installation of Cogl

Install Cogl by running the following commands:



This package may occasionally fail when building with multiple processors. See Using Multiple Processors for more information.

./configure --prefix=/usr  \
            --enable-gles1 \
            --enable-gles2 \
            --enable-{kms,wayland,xlib}-egl-platform \
            --enable-wayland-egl-server              &&

To test the results, issue: make check. The tests should be run from an X terminal on the hardware accelerated Xorg Server. A few tests will use all CPUs in parallel, regardless of parallellism settings.

Now, as the root user:

make install

Command Explanations

--enable-gles1: This switch enables support for OpenGL ES 1.1.

--enable-gles2: This switch enables support for OpenGL ES 2.0.

--enable-{kms,wayland,xlib}-egl-platform: These switches enable support for KMS, Wayland and Xlib EGL platforms. They are required for GNOME Wayland support.

--enable-wayland-egl-server: This switch enables Cogl's Wayland Server API which is required for GNOME Wayland support.

--enable-cogl-gst: This switch enables gstreamer support.

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.


Installed Programs: None
Installed Libraries:,,, and, and optional libraries and /usr/lib/gstreamer-1.0/
Installed Directories: /usr/include/cogl and /usr/share/cogl

Short Descriptions

is the OpenGL ES 2.0 integration library for Cogl

is the Pango integration library for Cogl

is an object oriented GL/GLES Abstraction/Utility Layer library