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
|