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
|