Mesa 25.2.6 и libdrm 2.4.128: поддержка AMD RDNA 4 (RX 9070 XT)

* libdrm (v2.4.128): Обновление до версии 2.4.128 для поддержки AMD RDNA 4
  - Требуется для Mesa 25.2.x с RDNA 4 GPU
  - Заменяет стандартную libdrm-2.4.123
  - Полный список provides включая .so библиотеки и pkgconfig

* mesa (v25.2.6): Обновлены provides для корректной замены системной mesa
  - Добавлены архитектурные теги (x86-64)
  - Добавлены .so библиотеки в provides
  - Gallium драйверы: r300, r600, radeonsi, llvmpipe, softpipe, zink
  - Vulkan драйверы: amd, swrast
  - Использует LLVM 18

* lib32-mesa (v25.2.6-10): 32-битная Mesa без LLVM (только softpipe)
  - Отключен LLVM из-за конфликтов multilib в RedOS
  - Только softpipe драйвер (программный рендеринг)
  - Обновлены provides с синтаксисом (x86-32) для RedOS

* Добавлены заготовки пакетов:
  - lib32-libdrm: 32-битная libdrm (заготовка)
  - lib32-llvm18: 32-битный LLVM 18 (заготовка)
  - lib32-lm_sensors: 32-битные lm_sensors (заготовка)
This commit is contained in:
2025-11-12 23:12:05 +03:00
parent 113b291e14
commit 3d78fc1a62
6 changed files with 521 additions and 38 deletions

View File

@@ -2,14 +2,22 @@ name='lib32-mesa'
version='25.2.6'
release='1'
epoch='1'
desc='Open-source OpenGL and Vulkan drivers (32-bit) with AMD RDNA 4 (RX 9070 XT) support'
desc_ru='OpenGL и Vulkan драйверы (32-бит) с открытым исходным кодом с поддержкой AMD RDNA 4 (RX 9070 XT)'
desc='Open-source OpenGL and Vulkan drivers (32-bit) with AMD RDNA 4 support for gaming'
desc_ru='OpenGL и Vulkan драйверы (32-бит) с открытым исходным кодом с поддержкой AMD RDNA 4 для игр'
homepage='https://www.mesa3d.org/'
maintainer='Evgeniy Khramov <xpamych@yandex.ru>'
maintainer_ru='Евгений Храмов <xpamych@yandex.ru>'
architectures=('amd64')
license=('MIT' 'BSD-3-Clause' 'SGI-B-2.0')
provides=(
'mesa-dri-drivers.i686'
'mesa-vulkan-drivers.i686'
'mesa-va-drivers.i686'
'mesa-vdpau-drivers.i686'
'mesa-libgbm.i686'
'mesa-libEGL.i686'
'mesa-libGL.i686'
'mesa-libGLES.i686'
'lib32-mesa'
'lib32-mesa-dri-drivers'
'lib32-mesa-vulkan-drivers'
@@ -25,6 +33,14 @@ provides=(
'lib32-vulkan-driver'
)
conflicts=(
'mesa-dri-drivers.i686'
'mesa-vulkan-drivers.i686'
'mesa-va-drivers.i686'
'mesa-vdpau-drivers.i686'
'mesa-libgbm.i686'
'mesa-libEGL.i686'
'mesa-libGL.i686'
'mesa-libGLES.i686'
'lib32-mesa'
'lib32-mesa-dri-drivers'
'lib32-mesa-vulkan-drivers'
@@ -47,35 +63,33 @@ deps=(
'libxext.i686'
'libxshmfence.i686'
'libxxf86vm.i686'
'llvm18-libs.i686'
'lm_sensors.i686'
'libwayland-client.i686'
'libwayland-server.i686'
'zlib.i686'
'zstd.i686'
'libzstd.i686'
'vulkan-icd-loader.i686'
'mesa'
)
# Зависимости для RedOS (32-бит)
deps_redos=(
'expat.i686'
'libdrm.i686'
'elfutils-libelf.i686'
'libglvnd.i686'
'libX11.i686'
'libxcb.i686'
'libXext.i686'
'libxshmfence.i686'
'libXxf86vm.i686'
'llvm18-libs.i686'
'lm_sensors-libs.i686'
'libwayland-client.i686'
'libwayland-server.i686'
'zlib.i686'
'zstd.i686'
'vulkan-loader.i686'
'mesa+default'
'expat(x86-32)'
'lib32-libdrm'
'elfutils-libelf(x86-32)'
'libglvnd(x86-32)'
'libX11(x86-32)'
'libxcb(x86-32)'
'libXext(x86-32)'
'libxshmfence(x86-32)'
'libXxf86vm(x86-32)'
'libwayland-client(x86-32)'
'libwayland-server(x86-32)'
'zlib(x86-32)'
'libzstd(x86-32)'
'vulkan-loader(x86-32)'
'lib32-llvm18'
'lib32-lm_sensors'
'mesa'
)
# Зависимости для сборки (в основном 64-бит tools + 32-бит libs)
@@ -100,7 +114,7 @@ build_deps=(
'glslang-devel'
'spirv-tools-devel'
'glibc-devel.i686'
'libdrm-devel.i686'
'lib32-libdrm'
'libxcb-devel.i686'
'libX11-devel.i686'
'libXext-devel.i686'
@@ -118,12 +132,13 @@ build_deps=(
'expat-devel.i686'
'libxml2-devel.i686'
'libzstd-devel.i686'
'lm_sensors-devel.i686'
'lm_sensors-devel'
'lib32-lm_sensors'
'systemd-devel.i686'
'libpng-devel.i686'
'vulkan-headers'
'vulkan-loader-devel.i686'
'llvm18-libs.i686'
'lib32-llvm18'
)
build_deps_redos=("${build_deps[@]}")
@@ -139,14 +154,10 @@ prepare() {
# Установка версии для правильной идентификации
echo "${version}-alr${epoch}.${release}" > VERSION
# Create wrapper for llvm-config-18 to report 32-bit paths
cat > "$srcdir/llvm-config-18-32" << 'EOF'
#!/bin/bash
/usr/bin/llvm-config-18 "$@" | sed \
-e 's/lib64/lib/g' \
-e 's/x86_64/i686/g'
EOF
chmod +x "$srcdir/llvm-config-18-32"
# Create llvm-config-i386.h for 32-bit LLVM support
echo "==> Creating llvm-config-i386.h for 32-bit LLVM..."
sudo cp /usr/lib64/llvm18/include/llvm/Config/llvm-config-x86_64.h /usr/lib64/llvm18/include/llvm/Config/llvm-config-i386.h
sudo sed -i 's/x86_64-redsoft-linux-gnu/i686-redsoft-linux-gnu/g' /usr/lib64/llvm18/include/llvm/Config/llvm-config-i386.h
# Create meson cross-file for 32-bit compilation
cat > "$srcdir/lib32-cross.ini" <<EOF
@@ -156,7 +167,6 @@ cpp = ['g++', '-m32']
ar = 'gcc-ar'
strip = 'strip'
pkg-config = 'pkg-config'
llvm-config = '$srcdir/llvm-config-18-32'
[built-in options]
c_args = ['-m32']
@@ -171,7 +181,7 @@ cpu = 'i686'
endian = 'little'
EOF
echo "==> Preparing Mesa ${version} (32-bit) for AMD RDNA 4 (RX 9070 XT) support..."
echo "==> Preparing Mesa ${version} (32-bit) with LLVM for AMD RDNA 4 gaming support..."
}
build() {
@@ -179,7 +189,7 @@ build() {
# Set environment for 32-bit build
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig"
export LLVM_CONFIG="$srcdir/llvm-config-18-32"
export LLVM_CONFIG="/usr/bin/llvm-config-18"
# 32-bit CFLAGS/CXXFLAGS
export CFLAGS="-m32 -O2 -g1"
@@ -236,7 +246,7 @@ package() {
rm -rf "$pkgdir/usr/lib/pkgconfig"
rm -f "$pkgdir/usr/bin"/*
echo "==> Mesa ${version} (32-bit) installed with AMD RDNA 4 support"
echo "==> Mesa ${version} (32-bit) installed with LLVM and AMD RDNA 4 gaming support"
}
files() {