Mesa Demos ========== Introduction ------------ The Mesa Demos package contains a large number of OpenGL demonstration and test programs. These programs were previously distributed as the MesaDemos-x.y.z.tar.gz package released in conjunction with the MesaLib-x.y.z.tar.gz package. The demos are separated now since they don't change often and aren't tied to a particular version of Mesa. Note that the Mesa demos should be usable with any OpenGL implementation; not just Mesa. Latest Release -------------- The latest version of the Mesa demos can be found on the `mesa3d.org archives `_ site. Git Repository -------------- The Mesa demos git repository can be obtained with: .. code-block:: sh $ git clone https://gitlab.freedesktop.org/mesa/demos.git Building -------- The Mesa demos can be built with `Meson `_. Prerequisites ^^^^^^^^^^^^^ You'll need GLUT or `FreeGLUT `_ (runtime libraries and header files). If you're using an RPM-based Linux distro you can install these items with: .. code-block:: sh $ yum install freeglut freeglut-devel And if you're using a Debian based Linux distro you can install these items with: .. code-block:: sh $ apt-get install freeglut3-dev For `Wayland `_ support, `wayland-protocols `_ and `wayland-scanner `_ must be available. Meson ^^^^^ Run **meson configure** to see the options available for building the demos. Otherwise, just run **meson build-dir; meson compile -C build-dir** to build the demos. See the `Meson documentation `_ for more information about Meson. MinGW cross-compilation """"""""""""""""""""""" Create a **cross-file** file containing: .. code-block:: ini [binaries] c = '/usr/bin/x86_64-w64-mingw32-gcc' cpp = '/usr/bin/x86_64-w64-mingw32-g++' ar = '/usr/bin/x86_64-w64-mingw32-ar' strip = '/usr/bin/x86_64-w64-mingw32-strip' pkgconfig = 'x86_64-w64-mingw32-pkg-config' exe_wrapper = 'wine' [host_machine] system = 'windows' cpu_family = 'x86_64' cpu = 'i686' endian = 'little' Then do: .. code-block:: sh $ meson --prefix=/path/to/install --cross-file /path/to/cross-file build-dir $ meson compile -C build-dir $ meson install -C build-dir The Demos --------- Look in the **src/** directory for these sub-directories, among others: - **demos**: the original Mesa demos, such as gears, gloss, etc. - **redbook**: the OpenGL Programming Guide demos - **samples**: original SGI OpenGL demos - **glsl**: OpenGL Shading Language demos - **xdemos**: GLX-based demos - **egl**: EGL-based demos - **wgl**: WGL-based demos - **fp**: fragment program tests - **vp**: vertex program tests - **data**: data files used by the demos - **tests**: assorted test programs - **objviewer**: program to view .obj modes with a skybox - **vulkan**: Vulkan demos Getting Help ------------ If you have trouble building or using the Mesa demos, you can post to the `Mesa users `_ mailing list. If your question is especially technical, you can try the to the `Mesa dev `_ mailing list. Reporting Bugs -------------- Bugs in the demos can be reported to the `Mesa demos issue tracker `_.