%general-entities; ]> $LastChangedBy$ $Date$ MesaLib-&mesalib-version; MesaLib Introduction to MesaLib Mesa is an OpenGL compatible 3D graphics library. &lfs74_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &mesalib-md5sum; Download size: &mesalib-size; Estimated disk space required: &mesalib-buildsize; Estimated build time: &mesalib-time; Additional Downloads GLU Download (HTTP): GLU Download (FTP): GLU Download MD5 sum: &glu-md5sum; GLU Download size: &glu-size; Estimated GLU disk space required: &glu-buildsize; Estimated GLU build time: &glu-time; Additional Patches Recommended patch: (Needed if testing the Xorg installation per BLFS instructions). MesaLib Dependencies Required , , , and Recommended (required for radeon 3d drivers), (to build VDPAU drivers), (required for radeon 3d drivers and also for llvmpipe which is intended to be the fastest of the three sw rasterizers, see ) Optional Wayland The instructions below assume that elfutils and LLVM are installed. You will need to modify the instructions if you choose not to install them. Please note that elfutils and LLVM are required for Radeon 3D drivers. For an explanation of gallium please see . The libxml2 Python module must have been built during the installation of libxml2 or else MesaLib build will fail. User Notes: Installation of MesaLib Unlike other packages, the MesaLib-&mesalib-version;.tar.bz2 archive will extract to the Mesa-&mesalib-version; directory. If you have downloaded the recommended patch, apply it by running the following command: patch -Np1 -i ../MesaLib-&mesalib-version;-add_xdemos-1.patch Install MesaLib by running the following commands: ./configure CFLAGS="-O2" CXXFLAGS="-O2" \ --prefix=$XORG_PREFIX \ --sysconfdir=/etc \ --enable-texture-float \ --enable-gles1 \ --enable-gles2 \ --enable-openvg \ --enable-osmesa \ --enable-xa \ --enable-gbm \ --enable-gallium-egl \ --enable-gallium-gbm \ --enable-glx-tls \ --with-llvm-shared-libs \ --with-egl-platforms="drm,x11" \ --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" && make If you have applied the recommended patch, build the demo programs by running the following command: make -C xdemos DEMOS_PREFIX=$XORG_PREFIX This package does not come with a test suite. Now, as the root user: make install If you have built the demo programs, install them by running the following command as the root user: make -C xdemos DEMOS_PREFIX=$XORG_PREFIX install If desired, install the optional documentation by running the following commands as the root user: install -v -dm755 /usr/share/doc/MesaLib-&mesalib-version; && cp -rfv docs/* /usr/share/doc/MesaLib-&mesalib-version; Installation of GLU Install GLU by running the following commands: ./configure --prefix=$XORG_PREFIX --disable-static && make This package does not come with a test suite. Now, as the root user: make install Command Explanations CFLAGS="-O2" CXXFLAGS="-O2": By default, Autoconf sets CFLAGS and CXXFLAGS to "-g -O2". That results in binaries and libraries being built with debugging symbols which make them bigger. Override the default flags to omit -g compiler flag so the final libraries are smaller. : This switch enables floating-point textures and render buffers. Please consult docs/patents.txt to see if there are any legal issues if you use this feature. : This switch enables support for OpenGL ES 1.x API. : This switch enables support for OpenGL ES 2.x API. : This switch enables support for OpenVG API. : This switch enables building of the libOSMesa library. : This switch enables building of the XA X Acceleration API (Required for VMware 3D Driver). : This switch enables building of the Mesa Graphics Buffer Manager library. : This switch enables optional EGL state tracker for Gallium. : This switch enables optional GBM state tracker for Gallium. : This switch enables TLS (Thread Local Storage) support in GLX. : This switch is used so Gallium drivers will link against shared LLVM libraries instead of the static ones. Remove if you did not install LLVM. --with-egl-platforms="...": This parameter controls for which platforms EGL should be built. Available platforms are drm, x11 and wayland. --with-gallium-drivers="...": This parameter controls which Gallium drivers should be built. Available drivers are: i915, ilo, nouveau, r300, r600, radeonsi, svga and swrast. You will need to remove r300, r600 and radeonsi from the list if you did not install elfutils and LLVM. : Use this switch to enable experimental R600 LLVM backend for graphics shaders which claims to speed up the driver. Contents Installed Programs Installed Libraries Installed Directories glxgears and glxinfo libdricore&mesalib-version;.so, libEGL.so, libgbm.so, libglapi.so, libGLESv1_CM.so, libGLESv2.so, libGL.so, libGLU.so, libOpenVG.so, libOSMesa.so, libxatracker.so, libXvMCnouveau.so, libXvMCr300.so, libXvMCr600.so and libXvMCsoftpipe.so $XORG_PREFIX/include/EGL, $XORG_PREFIX/include/GLES, $XORG_PREFIX/include/GLES2, $XORG_PREFIX/include/GLES3, $XORG_PREFIX/include/KHR, $XORG_PREFIX/include/VG, $XORG_PREFIX/lib/dri, $XORG_PREFIX/lib/egl, $XORG_PREFIX/lib/gallium-pipe, $XORG_PREFIX/lib/gbm, $XORG_PREFIX/lib/vdpau and /usr/share/doc/MesaLib-&mesalib-version; (optional) Short Descriptions glxgears is a GL demo useful for troubleshooting graphics problems. glxgears glxinfo is a diagnostic program that displays information about the graphics hardware and installed GL libraries. glxinfo libdricore&mesalib-version;.so contains common DRI routines used by Mesa DRI drivers. libdricore&mesalib-version;.so libEGL.so provides a native platform graphics interface as defined by the EGL-1.4 specification. libEGL.so libgbm.so is the Mesa Graphics Buffer Manager library. libgbm.so libGLESv1_CM.so is the Mesa OpenGL ES 1.1 library. libGLESv1_CM.so libGLES2.so is the Mesa OpenGL ES 2.0 library. libGLES2.so libGL.so is the main Mesa OpenGL library. libGL.so libGLU.so is the Mesa OpenGL Utility library. libGLU.so libOpenVG.so is the Mesa OpenVG 1.0 library. libOpenVG.so libOSMesa.so is the Mesa Off-screen Rendering library. libOSMesa.so libxatracker.so is the Xorg Gallium3D acceleration library. libxatracker.so