Mesa-22.3.5
      
      
        
          Introduction to Mesa
        
        
          Mesa is an OpenGL compatible 3D
          graphics library.
        
        
          
          
            Note
          
          
            Mesa is updated relatively
            often. You may want to use the latest available 22.3.x mesa
            version.
          
         
        
          This package is known to build and work properly using an LFS 11.3
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          Mesa Dependencies
        
        
          Required
        
        
          Xorg
          Libraries, libdrm-2.4.115, and Mako-1.2.4
        
        
          Recommended
        
        
          libva-2.17.0 (to provide VA-API support for some
          gallium drivers, 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.5 (to
          build VDPAU drivers), LLVM-15.0.7 (required for Gallium3D,
          nouveau, and radeonsi drivers and for swrast, the software
          rasterizer which is sometimes referred to as llvmpipe. See
          https://docs.mesa3d.org/systems.html
          for more information), and wayland-protocols-1.31 (required for
          Plasma-5.26.5, GNOME, and recommended for
          GTK+-3.24.36)
        
        
          Optional
        
        
          libgcrypt-1.10.1, libunwind-1.6.2, lm-sensors-3-6-0 , Nettle-3.8.1,
          Valgrind-3.20.0, mesa-demos (provides more
          than 300 extra demos to test Mesa;
          this includes the same programs added by the patch above),
          Bellagio
          OpenMAX Integration Layer (for mobile platforms), glslang
          (for vulkan drivers), 
          libtizonia, and libvulkan
        
        
          User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/mesalib
        
       
      
        
          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-22.3.5-add_xdemos-1.patch
        
          Install Mesa by running the
          following commands:
        
        mkdir build &&
cd    build &&
meson setup                   \
      --prefix=$XORG_PREFIX   \
      --buildtype=release     \
      -Dplatforms=x11,wayland \
      -Dgallium-drivers=auto  \
      -Dvulkan-drivers=""     \
      -Dvalgrind=disabled     \
      -Dlibunwind=disabled    \
      ..                      &&
ninja
        
          To test the results, issue: meson
          configure -Dbuild-tests=true && ninja test.
        
        
          Now, as the root user:
        
        ninja install
        
          If desired, install the optional documentation by running the
          following commands as the root
          user:
        
        install -v -dm755 /usr/share/doc/mesa-22.3.5 &&
cp -rfv ../docs/* /usr/share/doc/mesa-22.3.5
       
      
        
          Command Explanations
        
        
          --buildtype=release: This
          switch ensures a fully-optimized build, and disables debug
          assertions which will severely slow down the libraries in certain
          use-cases. Without this switch, build sizes can span into the 2GB
          range.
        
        
          -Dgallium-drivers="...":
          This parameter controls which Gallium3D drivers should be built.
        
        
          -Dplatforms="...": This
          parameter controls which windowing systems will be supported.
          Available linux platforms are x11 and wayland.
        
        
          -Dvulkan-drivers="": This
          switch allows choosing which Vulkan drivers are built. The default
          is auto, but this requires the optional dependency glslang. So it is better to pass an empty list,
          in order to remove the need for that dependency. Nothing in BLFS
          uses Vulkan anyway.
        
        
          -Dvalgrind=disabled: This
          parameter disables the usage of Valgrind during the build process.
          Remove this parameter if you have Valgrind installed, and wish to
          check for memory leaks.
        
        
          -Dlibunwind=disabled: This
          parameter disables the usage of libunwind.
        
        
          meson configure
          -Dbuild-tests=true: This command will reconfigure
          the build to set -Dbuild-tests=true,
          but keep the other options specified in the meson setup command unchanged. It
          allows ninja test to
          build and run unit tests.
        
        
          -Degl-native-platform="...": This
          parameter controls which Embedded Graphics Library support will be
          built. Available linux options are auto (default), x11, wayland,
          surfaceless, and drm.
        
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              glxgears and glxinfo
            
            
              Installed Libraries:
              libEGL.so, libGL.so, libGLESv1_CM.so,
              libGLESv2.so, libgbm.so, libglapi.so, and
              libxatracker.so
            
            
              Installed Drivers:
              crocus_dri.so, i915_dri.so, iris_dri.so,
              kms_swrast_dri.so, nouveau_dri.so, nouveau_drv_video.so,
              r300_dri.so, r600_dri.so, r600_drv_video.so, radeonsi_dri.so,
              radeonsi_drv_video.so, swrast_dri.so, virtio_gpu_dri.so,
              virtio_gpu_drv_video.so, vmwgfx_dri.so, libvdpau_nouveau.so,
              libvdpau_r300.so libvdpau_r600.so, and libvdpau_radeonsi.so
              libvdpau_virtio_gpu.so (Many of these drivers are
              hard-linked).
            
            
              Installed Directories:
              $XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR},
              $XORG_PREFIX/lib/{dri,vdpau}}, $XORG_PREFIX/share/drirc.d
              (contains workarounds for various applications, particularly
              browsers and games), and /usr/share/doc/mesa-22.3.5
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                   
                    glxgears
                   
                 | 
                
                   
                    is a GL demo useful for troubleshooting graphics problems
                   
                 | 
              
              
                | 
                   
                    glxinfo
                   
                 | 
                
                   
                    is a diagnostic program that displays information about
                    the graphics hardware and installed GL libraries
                   
                 | 
              
              
                | 
                   
                    libEGL.so
                   
                 | 
                
                   
                    provides a native platform graphics interface as defined
                    by the EGL-1.4 specification
                   
                 | 
              
              
                | 
                   
                    libgbm.so
                   
                 | 
                
                   
                    is the Mesa Graphics
                    Buffer Manager library
                   
                 | 
              
              
                | 
                   
                    libGLESv1_CM.so
                   
                 | 
                
                   
                    is the Mesa OpenGL ES
                    1.1 library
                   
                 | 
              
              
                | 
                   
                    libGLES2.so
                   
                 | 
                
                   
                    is the Mesa OpenGL ES
                    2.0 library
                   
                 | 
              
              
                | 
                   
                    libGL.so
                   
                 | 
                
                   
                    is the main Mesa OpenGL
                    library
                   
                 |