[notify] mesa: restructured optional dependencies (mostly vulkan related), see README.md for some guidance

This commit is contained in:
Tim Biermann 2024-07-20 17:30:40 +02:00
parent 543218ee79
commit 95c45424cc
Signed by: tb
GPG Key ID: 42F8B4E30B673606
4 changed files with 260 additions and 45 deletions

View File

@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/xorg.pub
RWTSGWF5Q7TndAJwX59MuSLxZGqeKQtkiSfCQUMhq8D0gRC+rzuaBdHez18m5Z4gDToSHxUCfnp/tyx1IZ8CwrjaQBVtm5Lmygs=
SHA256 (Pkgfile) = 72512c90555c57e9dfa1395c41e42f849e9d3f0cf113b1efb06e50875c23f0d8
RWTSGWF5Q7TndIkUOKzrA4DsEBHfvVLNBMOTiKB/Fw9yOnf8/Mpommo9koo+sSgoOCNBJjtK0eGDBCMLbhGIymJs00wA+e4RZwI=
SHA256 (Pkgfile) = dc510f57f769ff0c68b347bfe90c50cd5b017acfde9e798d01b74a975d935950
SHA256 (.footprint) = 292574297df461fc888f42badb9e2c5b28e03d54c78284928042ca8a4e4a64e3
SHA256 (mesa-24.1.4.tar.xz) = 7cf7c6f665263ad0122889c1d4b076654c1eedea7a2f38c69c8c51579937ade1
SHA256 (0001-Revert-frontends-va-Fix-AV1-slice_data_offset-with-m.patch) = db209e829f8888396dc89f06cc650048170ab8a830247a8a243de206a8121937

View File

@ -0,0 +1,106 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: David Rosca <david.rosca@amd.com>
Date: Thu, 18 Jul 2024 19:15:13 +0200
Subject: [PATCH] Revert "frontends/va: Fix AV1 slice_data_offset with multiple
slice data buffers"
This commit is fixing an issue where all AV1 slice data offsets always point
into the first slice data buffer, even when multiple slice data buffers
are submitted. However, after b0d6e58d88f ("Reapply "radeonsi/vcn: AV1 skip the redundant bs resize"")
only the first slice data buffer will be sent to decoder and the incorrect
behavior is required, so this commit also needs to be reverted.
This reverts commit 6746d4df6eac83d048e88c2d54aa19e7c1a0a696.
---
src/gallium/frontends/va/picture.c | 11 +++--------
src/gallium/frontends/va/picture_av1.c | 4 ++--
src/gallium/frontends/va/va_private.h | 2 +-
3 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/src/gallium/frontends/va/picture.c b/src/gallium/frontends/va/picture.c
index 59692aeee91c..a2bb608ec96a 100644
--- a/src/gallium/frontends/va/picture.c
+++ b/src/gallium/frontends/va/picture.c
@@ -299,7 +299,7 @@ handleIQMatrixBuffer(vlVaContext *context, vlVaBuffer *buf)
}
static void
-handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices, unsigned slice_offset)
+handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices)
{
switch (u_reduce_video_profile(context->templat.profile)) {
case PIPE_VIDEO_FORMAT_MPEG12:
@@ -331,7 +331,7 @@ handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf, unsigned num_s
break;
case PIPE_VIDEO_FORMAT_AV1:
- vlVaHandleSliceParameterBufferAV1(context, buf, num_slices, slice_offset);
+ vlVaHandleSliceParameterBufferAV1(context, buf, num_slices);
break;
default:
@@ -968,7 +968,6 @@ vlVaRenderPicture(VADriverContextP ctx, VAContextID context_id, VABufferID *buff
unsigned i;
unsigned slice_idx = 0;
- unsigned slice_offset = 0;
vlVaBuffer *seq_param_buf = NULL;
if (!ctx)
@@ -1024,17 +1023,13 @@ vlVaRenderPicture(VADriverContextP ctx, VAContextID context_id, VABufferID *buff
slice_idx is the zero based number of total slices received
before this call to handleSliceParameterBuffer
-
- slice_offset is the slice offset in bitstream buffer
*/
- handleSliceParameterBuffer(context, buf, slice_idx, slice_offset);
+ handleSliceParameterBuffer(context, buf, slice_idx);
slice_idx += buf->num_elements;
} break;
case VASliceDataBufferType:
vaStatus = handleVASliceDataBufferType(context, buf);
- if (slice_idx)
- slice_offset += buf->size;
break;
case VAProcPipelineParameterBufferType:
diff --git a/src/gallium/frontends/va/picture_av1.c b/src/gallium/frontends/va/picture_av1.c
index c014b0b1168c..e6f2652e3623 100644
--- a/src/gallium/frontends/va/picture_av1.c
+++ b/src/gallium/frontends/va/picture_av1.c
@@ -396,18 +396,18 @@ void vlVaHandlePictureParameterBufferAV1(vlVaDriver *drv, vlVaContext *context,
context->desc.av1.slice_parameter.slice_count = 0;
}
-void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices, unsigned slice_offset)
+void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices)
{
for (uint32_t buffer_idx = 0; buffer_idx < buf->num_elements; buffer_idx++) {
uint32_t slice_index =
/* slices obtained so far from vaRenderPicture in previous calls*/
num_slices +
/* current slice index processing this VASliceParameterBufferAV1 */
buffer_idx;
VASliceParameterBufferAV1 *av1 = &(((VASliceParameterBufferAV1*)buf->data)[buffer_idx]);
context->desc.av1.slice_parameter.slice_data_size[slice_index] = av1->slice_data_size;
- context->desc.av1.slice_parameter.slice_data_offset[slice_index] = slice_offset + av1->slice_data_offset;
+ context->desc.av1.slice_parameter.slice_data_offset[slice_index] = av1->slice_data_offset;
context->desc.av1.slice_parameter.slice_data_row[slice_index] = av1->tile_row;
context->desc.av1.slice_parameter.slice_data_col[slice_index] = av1->tile_column;
context->desc.av1.slice_parameter.slice_data_anchor_frame_idx[slice_index] = av1->anchor_frame_idx;
diff --git a/src/gallium/frontends/va/va_private.h b/src/gallium/frontends/va/va_private.h
index 007ed95ce7f7..ad30f3bad2a9 100644
--- a/src/gallium/frontends/va/va_private.h
+++ b/src/gallium/frontends/va/va_private.h
@@ -540,7 +540,7 @@ void vlVaHandlePictureParameterBufferVP9(vlVaDriver *drv, vlVaContext *context,
void vlVaHandleSliceParameterBufferVP9(vlVaContext *context, vlVaBuffer *buf);
void vlVaDecoderVP9BitstreamHeader(vlVaContext *context, vlVaBuffer *buf);
void vlVaHandlePictureParameterBufferAV1(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf);
-void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices, unsigned slice_offset);
+void vlVaHandleSliceParameterBufferAV1(vlVaContext *context, vlVaBuffer *buf, unsigned num_slices);
void getEncParamPresetH264(vlVaContext *context);
void getEncParamPresetH265(vlVaContext *context);
void getEncParamPresetAV1(vlVaContext *context);

View File

@ -2,29 +2,41 @@
# URL: https://www.mesa3d.org/
# Maintainer: CRUX Xorg Team, xorg-ports at crux dot nu
# Depends on: elfutils libdrm libglvnd llvm python3-mako xorg-libxdamage xorg-libxrandr xorg-libxshmfence xorg-libxvmc xorg-libxxf86vm
# Optional: directx-headers glslang libclc libunwind libva libvdpau lm_sensors rust-bindgen spirv-llvm-translator vulkan-loader wayland-protocols
# Optional: cbindgen directx-headers glslang libclc libunwind libva libvdpau lm_sensors lua python3-ply rust-bindgen spirv-llvm-translator vulkan-loader wayland-protocols
name=mesa
version=24.1.4
release=1
source=(https://archive.mesa3d.org/$name-$version.tar.xz)
release=2
source=(https://archive.mesa3d.org/$name-$version.tar.xz
0001-Revert-frontends-va-Fix-AV1-slice_data_offset-with-m.patch)
build() {
prt-get isinst directx-headers && PKGMK_MESA_GALLIUM+='d3d12,'
prt-get isinst libclc spirv-llvm-translator && PKGMK_MESA+=' -D gallium-opencl=icd'
prt-get isinst libclc rust-bindgen spirv-llvm-translator && PKGMK_MESA+=' -D gallium-rusticl=true'
prt-get isinst glslang python3-ply && PKGMK_MESA+=' -D vulkan-drivers=auto -D vulkan-layers=device-select,intel-nullhw,overlay' || PKGMK_MESA+=' -D vulkan-drivers='
prt-get isinst libclc && PKGMK_MESA_GALLIUM+='iris,'
prt-get isinst libclc && PKGMK_MESA+=' -D gallium-opencl=icd' PKGMK_MESA_GALLIUM+='iris,'
prt-get isinst libclc rust-bindgen && PKGMK_MESA+=' -D gallium-rusticl=true'
prt-get isinst libunwind && PKGMK_MESA+=' -D libunwind=enabled'
prt-get isinst libva && PKGMK_MESA+=' -D gallium-va=enabled' || PKGMK_MESA+=' -D gallium-va=disabled'
prt-get isinst libvdpau && PKGMK_MESA+=' -D gallium-vdpau=enabled' || PKGMK_MESA+=' -D gallium-vdpau=disabled'
prt-get isinst lm_sensors && PKGMK_MESA+=' -D lmsensors=enabled'
prt-get isinst vulkan-loader && PKGMK_MESA_GALLIUM+='zink,'
if prt-get isinst vulkan-loader; then
prt-get isinst cbindgen rust-bindgen && PKGMK_MESA_VULKAN_DRIVERS+='nouveau,'
prt-get isinst directx-headers && PKGMK_MESA_VULKAN_DRIVERS+='microsoft-experimental,'
prt-get isinst glslang && PKGMK_MESA_VULKAN_DRIVERS+='amd,' PKGMK_MESA_VULKAN_LAYERS+='overlay,'
prt-get isinst glslang libclc python3-ply lua && PKGMK_MESA_VULKAN_DRIVERS+='intel,' PKGMK_MESA_VULKAN_LAYERS+='intel-nullhw,'
VULKAN_DRIVERS=${PKGMK_MESA_VULKAN_DRIVERS#,}intel_hasvk,swrast,virtio
PKGMK_MESA_GALLIUM+='zink,'
else
VULKAN_DRIVERS=""
VULKAN_LAYERS=""
fi
prt-get isinst wayland-protocols && PKGMK_MESA_PLATFORMS+='wayland'
## for future references
#prt-get isinst xorg-libxdamage xorg-libxrandr xorg-libxshmfence xorg-libxvmc xorg-libxxf86vm && PKGMK_MESA_PLATFORMS+=',x11'
PKGMK_MESA_PLATFORMS+=',x11'
patch -Np1 -d $name-$version -i $SRC/0001-Revert-frontends-va-Fix-AV1-slice_data_offset-with-m.patch
printf '%s' "$version-$release" > $name-$version/VERSION
meson setup build $name-$version $PKGMK_MESA \
--prefix=/usr \
--sysconfdir=/etc \
@ -44,8 +56,10 @@ build() {
-D gallium-drivers=${PKGMK_MESA_GALLIUM}crocus,nouveau,r300,r600,radeonsi,svga,swrast,virgl,i915 \
-D platforms=${PKGMK_MESA_PLATFORMS#,} \
-D shared-glapi=enabled \
-D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc \
-D glvnd=enabled
-D video-codecs=all \
-D glvnd=enabled \
-D vulkan-drivers=$VULKAN_DRIVERS \
-D vulkan-layers=$VULKAN_LAYERS
meson compile -C build -j ${JOBS:-1}
DESTDIR=$PKG meson install -C build

View File

@ -1,41 +1,78 @@
mesa options
============
Infos copied from various places*, built against current CRUX 3.7
Infos copied from various places, built against current CRUX 3.7
Latest update: 07/20/2024, CRUX 3.7, mesa 24.1.4-2
*:
- [meson.build · main · Mesa / mesa · GitLab](https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/meson.build?ref_type=heads)
- [meson_options.txt · main · Mesa / mesa · GitLab](https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/meson_options.txt?ref_type=heads)
- [BLFS: Mesa-23.1.8](https://www.linuxfromscratch.org/blfs/view/svn/x/mesa.html)
- [File Mesa.spec of Package Mesa - openSUSE Build Service](https://build.opensuse.org/package/view_file/openSUSE:Factory/Mesa/Mesa.spec?expand=1)
1. [meson.build · main · Mesa / mesa · GitLab](https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/meson.build?ref_type=heads)
2. [meson_options.txt · main · Mesa / mesa · GitLab](https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/meson_options.txt?ref_type=heads)
3. [BLFS: Mesa-23.1.8](https://www.linuxfromscratch.org/blfs/view/svn/x/mesa.html)
4. [File Mesa.spec of Package Mesa - openSUSE Build Service](https://build.opensuse.org/package/view_file/openSUSE:Factory/Mesa/Mesa.spec?expand=1)
See BLFS for a comprehensive rundown on what is needed when.
## cbindgen rust-bindgen
---
> 💡 **_NOTE:_** Needs vulkan-loader installed.
---
Allows building the nouveau vulkan driver.
```
=======> New files found:
NEW -rwxr-xr-x root/root usr/lib/libvulkan_nouveau.so
NEW -rw-r--r-- root/root usr/share/vulkan/icd.d/nouveau_icd.x86_64.json
=======> Building '/home/pkgmk/packages/mesa#24.1.4-2.pkg.tar.xz' succeeded.
```
## directx-headers
---
> 💡 **_NOTE:_** Needs vulkan-loader installed for `microsoft-experimental`
> vulkan driver.
---
Allows building the d3d12 gallium driver, as well as the microsoft-experimental
vulkan driver.
```
=======> New files found:
NEW drwxr-xr-x root/root usr/bin/
NEW -rwxr-xr-x root/root usr/bin/spirv2dxil
NEW -rwxr-xr-x root/root usr/lib/dri/d3d12_dri.so
=======> Building '/home/pkgmk/packages/mesa#23.2.1-1.pkg.tar.xz' succeeded.
NEW -rw-r--r-- root/root usr/lib/libspirv_to_dxil.a
NEW -rwxr-xr-x root/root usr/lib/libspirv_to_dxil.so
NEW -rwxr-xr-x root/root usr/lib/libvulkan_dzn.so
NEW -rw-r--r-- root/root usr/share/vulkan/icd.d/dzn_icd.x86_64.json
=======> Building '/home/pkgmk/packages/mesa#24.1.4-1.pkg.tar.xz' succeeded.
```
## glslang
glslang (for vulkan drivers)
---
> 💡 **_NOTE:_** Needs vulkan-loader installed.
---
Allows building the amd vulkan driver, as well as the overlay vulkan layer.
```
=======> New files found:
NEW drwxr-xr-x root/root usr/bin/
NEW -r-xr-xr-x root/root usr/bin/mesa-overlay-control.py
NEW -rwxr-xr-x root/root usr/lib/libVkLayer_MESA_overlay.so
NEW -rwxr-xr-x root/root usr/lib/libvulkan_intel.so
NEW -rwxr-xr-x root/root usr/lib/libvulkan_radeon.so
=======> ERROR: Footprint mismatch found:
NEW -r-xr-xr-x root/root usr/bin/mesa-overlay-control.py
NEW -rwxr-xr-x root/root usr/lib/libVkLayer_MESA_overlay.so
NEW -rwxr-xr-x root/root usr/lib/libvulkan_radeon.so
NEW -rw-r--r-- root/root usr/share/drirc.d/00-radv-defaults.conf
NEW drwxr-xr-x root/root usr/share/vulkan/explicit_layer.d/
NEW -rw-r--r-- root/root usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
NEW -rw-r--r-- root/root usr/share/vulkan/icd.d/intel_icd.x86_64.json
NEW -rw-r--r-- root/root usr/share/vulkan/icd.d/radeon_icd.x86_64.json
=======> Building '/home/pkgmk/packages/mesa#23.2.1-1.pkg.tar.xz' succeeded.
=======> ERROR: Building '/home/pkgmk/packages/mesa#24.1.4-1.pkg.tar.xz' succeeded.
```
## libclc spirv-llvm-translator
## glslang libclc python3-ply lua
---
> 💡 **_NOTE:_** Needs vulkan-loader installed.
---
Skylake or later vulkan drivers.
```
=======> New files found:
@ -43,6 +80,9 @@ NEW drwxr-xr-x root/root etc/
NEW drwxr-xr-x root/root etc/OpenCL/
NEW drwxr-xr-x root/root etc/OpenCL/vendors/
NEW -rw-r--r-- root/root etc/OpenCL/vendors/mesa.icd
NEW drwxr-xr-x root/root usr/bin/
NEW -r-xr-xr-x root/root usr/bin/mesa-overlay-control.py
NEW -rwxr-xr-x root/root usr/lib/dri/iris_dri.so
NEW drwxr-xr-x root/root usr/lib/gallium-pipe/
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_crocus.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_i915.so
@ -56,36 +96,87 @@ NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_vmwgfx.so
NEW lrwxrwxrwx root/root usr/lib/libMesaOpenCL.so -> libMesaOpenCL.so.1
NEW lrwxrwxrwx root/root usr/lib/libMesaOpenCL.so.1 -> libMesaOpenCL.so.1.0.0
NEW -rwxr-xr-x root/root usr/lib/libMesaOpenCL.so.1.0.0
=======> Building '/home/pkgmk/packages/mesa#23.2.1-1.pkg.tar.xz' succeeded.
NEW -rwxr-xr-x root/root usr/lib/libVkLayer_INTEL_nullhw.so
NEW -rwxr-xr-x root/root usr/lib/libVkLayer_MESA_overlay.so
NEW -rwxr-xr-x root/root usr/lib/libvulkan_intel.so
NEW -rwxr-xr-x root/root usr/lib/libvulkan_radeon.so
NEW -rw-r--r-- root/root usr/share/drirc.d/00-radv-defaults.conf
NEW drwxr-xr-x root/root usr/share/vulkan/explicit_layer.d/
NEW -rw-r--r-- root/root usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json
NEW -rw-r--r-- root/root usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
NEW -rw-r--r-- root/root usr/share/vulkan/icd.d/intel_icd.x86_64.json
NEW -rw-r--r-- root/root usr/share/vulkan/icd.d/radeon_icd.x86_64.json
=======> Building '/home/pkgmk/packages/mesa#24.1.4-1.pkg.tar.xz' succeeded.
```
## libclc rust-bindgen spirv-llvm-translator
## libclc
Builds both the gallium "clover" frontend and iris driver (Broadwell and
later).
```
=======> New files found:
NEW drwxr-xr-x root/root etc/
NEW drwxr-xr-x root/root etc/OpenCL/
NEW drwxr-xr-x root/root etc/OpenCL/vendors/
NEW -rw-r--r-- root/root etc/OpenCL/vendors/mesa.icd
NEW -rwxr-xr-x root/root usr/lib/dri/iris_dri.so
NEW drwxr-xr-x root/root usr/lib/gallium-pipe/
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_crocus.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_i915.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_iris.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_nouveau.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_r300.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_r600.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_radeonsi.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_swrast.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_vmwgfx.so
NEW lrwxrwxrwx root/root usr/lib/libMesaOpenCL.so -> libMesaOpenCL.so.1
NEW lrwxrwxrwx root/root usr/lib/libMesaOpenCL.so.1 -> libMesaOpenCL.so.1.0.0
NEW -rwxr-xr-x root/root usr/lib/libMesaOpenCL.so.1.0.0
=======> Building '/home/pkgmk/packages/mesa#24.1.4-1.pkg.tar.xz' succeeded.
```
## libclc rust-bindgen
Enables rusticl, another OpenCL implementation on top of the gallium drivers.
```
=======> New files found:
NEW drwxr-xr-x root/root etc/
NEW drwxr-xr-x root/root etc/OpenCL/
NEW drwxr-xr-x root/root etc/OpenCL/vendors/
NEW -rw-r--r-- root/root etc/OpenCL/vendors/mesa.icd
NEW -rw-r--r-- root/root etc/OpenCL/vendors/rusticl.icd
NEW -rwxr-xr-x root/root usr/lib/dri/iris_dri.so
NEW drwxr-xr-x root/root usr/lib/gallium-pipe/
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_crocus.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_i915.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_iris.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_nouveau.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_r300.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_r600.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_radeonsi.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_swrast.so
NEW -rwxr-xr-x root/root usr/lib/gallium-pipe/pipe_vmwgfx.so
NEW lrwxrwxrwx root/root usr/lib/libMesaOpenCL.so -> libMesaOpenCL.so.1
NEW lrwxrwxrwx root/root usr/lib/libMesaOpenCL.so.1 -> libMesaOpenCL.so.1.0.0
NEW -rwxr-xr-x root/root usr/lib/libMesaOpenCL.so.1.0.0
NEW lrwxrwxrwx root/root usr/lib/libRusticlOpenCL.so -> libRusticlOpenCL.so.1
NEW lrwxrwxrwx root/root usr/lib/libRusticlOpenCL.so.1 -> libRusticlOpenCL.so.1.0.0
NEW -rwxr-xr-x root/root usr/lib/libRusticlOpenCL.so.1.0.0
=======> Building '/home/pkgmk/packages/mesa#23.2.1-1.pkg.tar.xz' succeeded.
=======> Building '/home/pkgmk/packages/mesa#24.1.4-2.pkg.tar.xz' succeeded.
```
## libunwind
[unchanged]
Use libunwind for stack-traces.
## libva
Install libva before building mesa to get hardware acceleration for the
following drivers:
VA-API support for various gallium drivers.
> libva-2.19.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)
[BLFS: Mesa-23.1.8](https://www.linuxfromscratch.org/blfs/view/svn/x/mesa.html)
see BLFS about a circular dependency warning and how to handle it
```
=======> New files found:
@ -93,12 +184,13 @@ NEW -rwxr-xr-x root/root usr/lib/dri/nouveau_drv_video.so
NEW -rwxr-xr-x root/root usr/lib/dri/r600_drv_video.so
NEW -rwxr-xr-x root/root usr/lib/dri/radeonsi_drv_video.so
NEW -rwxr-xr-x root/root usr/lib/dri/virtio_gpu_drv_video.so
=======> Building '/home/pkgmk/packages/mesa#23.2.1-1.pkg.tar.xz' succeeded.
=======> Building '/home/pkgmk/packages/mesa#24.1.4-2.pkg.tar.xz' succeeded.
```
## libvdpau
libvdpau-1.5 (to build VDPAU drivers)
Video Decode and Presentation API for Unix developed by NVIDIA. Might be
obsolete by now.
```
=======> New files found:
@ -119,21 +211,23 @@ NEW lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_virtio_gpu.so -
NEW lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_virtio_gpu.so.1 -> libvdpau_virtio_gpu.so.1.0.0
NEW lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_virtio_gpu.so.1.0 -> libvdpau_virtio_gpu.so.1.0.0
NEW -rwxr-xr-x root/root usr/lib/vdpau/libvdpau_virtio_gpu.so.1.0.0
=======> Building '/home/pkgmk/packages/mesa#23.2.1-1.pkg.tar.xz' succeeded.
=======> Building '/home/pkgmk/packages/mesa#24.1.4-2.pkg.tar.xz' succeeded.
```
## lm_sensors
[unchanged]
Enable HUD lmsensors support.
## vulkan-loader
Needed for the zink gallium driver. Also needed to build any vulkan driver.
```
=======> New files found:
=======> ERROR: Footprint mismatch found:
NEW -rwxr-xr-x root/root usr/lib/dri/zink_dri.so
=======> Building '/home/pkgmk/packages/mesa#23.2.1-1.pkg.tar.xz' succeeded.
=======> Building '/home/pkgmk/packages/mesa#24.1.4-2.pkg.tar.xz' succeeded.
```
## wayland-protocols
[unchanged]
Build support for the wayland window system.