Introduction to Mesa
        
        
          Mesa is an OpenGL compatible 3D
          graphics library.
        
        
          This package is known to build and work properly using an LFS-8.0
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          Mesa Dependencies
        
        
          Required
        
        
          Xorg
          Libraries, libdrm-2.4.75, and Python-2.7.13
        
        
          Recommended
        
        
          elfutils-0.168 (required for the radeonsi
          driver), libva-1.7.3 (to build drivers for supported
          hardware, note that there is a circular dependency. You must build
          libva first without EGL and GLX
          support, install this package, and rebuild libva.), libvdpau-1.1.1
          (to build VDPAU drivers), LLVM-3.9.1 (required
          for Gallium3D, r300, and radeonsi drivers and for the llvmpipe
          software rasterizer. See http://www.mesa3d.org/systems.html
          for more information.)
        
        
          Optional
        
        
          libgcrypt-1.7.6, Nettle-3.3,
          Wayland-1.12.0 (required for Plasma-5.9.2 , LXQt
          , and GNOME), mesa-demos
          (provides more than 300 extra demos to test Mesa; this includes the same programs added by
          the patch above), and Bellagio OpenMAX Integration
          Layer (for mobile platforms)
        
        
          
          
            Note
          
          
            The instructions below assume that elfutils and LLVM with the r600/amdgpu and host backends
            are installed. You will need to modify the instructions if you
            choose not to install them. For an explanation of Gallium3D see
            https://en.wikipedia.org/wiki/Gallium3D.
          
         
        
          User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/mesa
        
       
      
        
          Installation of Mesa
        
        
          If you have downloaded the xdemos patch (needed if testing the Xorg
          installation per BLFS instructions), apply it by running the
          following command:
        
        
patch -Np1 -i ../mesa-13.0.4-add_xdemos-1.patch
        
          Now, select the drivers you wish to install. The available drivers
          are i915, ilo, nouveau, r300, r600, radeonsi, freedreno, svga,
          swrast, vc4, and virgl. If the Gallium drivers are not specified,
          the default is 'r300,r600,svga,swrast'. Modify the command below
          for any desired drivers. The listed drivers below will cover most
          modern video cards. For help in selecting drivers see http://www.mesa3d.org/systems.html.
        
        
GLL_DRV="i915,r600,nouveau,radeonsi,svga,swrast"
        
          Install Mesa by running the
          following commands:
        
        
          
          
            Note
          
          
            Add wayland to the --with-egl-platforms switch below
            if you plan on building Plasma-5.9.2, LXQt, or GNOME.
          
         
        
sed -i "/pthread_stubs_possible=/s/yes/no/" configure.ac &&
./autogen.sh CFLAGS='-O2' CXXFLAGS='-O2'    \
            --prefix=$XORG_PREFIX           \
            --sysconfdir=/etc               \
            --enable-texture-float          \
            --enable-osmesa                 \
            --enable-xa                     \
            --enable-glx-tls                \
            --with-egl-platforms="drm,x11"  \
            --with-gallium-drivers=$GLL_DRV &&
unset GLL_DRV &&
make
        
          If you have applied the xdemos patch, build the demo programs by
          running the following command:
        
        
make -C xdemos DEMOS_PREFIX=$XORG_PREFIX
        
          To test the results, issue: make
          check.
        
        
          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/mesa-13.0.4 &&
cp -rfv docs/* /usr/share/doc/mesa-13.0.4
       
      
        
          Command Explanations
        
        
          sed -i ...
          configure.ac: This sed removes a dependency on the
          libpthread-stubs package which is
          useless on Linux.
        
        
          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
          the -g compiler flag so the final libraries are smaller.
        
        
          --enable-texture-float:
          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.
        
        
          --enable-osmesa: This
          switch enables building the libOSMesa
          library.
        
        
          --enable-xa: This switch
          enables building the XA X Acceleration API (Required for VMware 3D
          Driver).
        
        
          --enable-gbm: This switch
          enables building the Mesa Graphics
          Buffer Manager library.
        
        
          --enable-glx-tls: This
          switch enables TLS (Thread Local Storage) support in GLX.
        
        
          --with-egl-platforms="...":
          This parameter controls which platforms EGL will be built for.
          Available platforms are drm, x11 and wayland.
        
        
          --with-gallium-drivers="...": This
          parameter controls which Gallium3D drivers should be built.