- mesa (v25.2.6): OpenGL и Vulkan драйверы с поддержкой AMD RDNA 4 (RX 9070 XT)

* Gallium драйверы: r300, r600, radeonsi, llvmpipe, softpipe, zink
  * Vulkan драйверы: amd, swrast
  * Поддержка VA-API и VDPAU для аппаратного декодирования
  * Использует LLVM 18
  * Заменяет стандартные пакеты mesa из репозитория

- lib32-mesa (v25.2.6): 32-битная версия Mesa для поддержки 32-битных игр и приложений
  * Те же драйверы и функции что и в 64-битной версии
  * Кросс-компиляция с использованием meson cross-file
  * Устанавливается в /usr/lib (не конфликтует с 64-битной версией)

- linux-xanmod-bin (v6.17.6): Prebuilt ядро Xanmod с оптимизациями
  * Автоопределение CPU микроархитектуры (x64v1-v4)
  * Поддержка BLS (Boot Loader Specification) с grubby
  * Автоматическое создание initramfs и регистрация в GRUB
  * Кеширование загруженных файлов
This commit is contained in:
2025-11-11 00:22:57 +03:00
parent d4903f88c6
commit 113b291e14
6 changed files with 831 additions and 0 deletions

252
lib32-mesa/alr.sh Normal file
View File

@@ -0,0 +1,252 @@
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)'
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=(
'lib32-mesa'
'lib32-mesa-dri-drivers'
'lib32-mesa-vulkan-drivers'
'lib32-mesa-va-drivers'
'lib32-mesa-vdpau-drivers'
'lib32-mesa-libgbm'
'lib32-mesa-libEGL'
'lib32-mesa-libGL'
'lib32-mesa-libGLES'
'lib32-vulkan-radeon'
'lib32-libva-mesa-driver'
'lib32-opengl-driver'
'lib32-vulkan-driver'
)
conflicts=(
'lib32-mesa'
'lib32-mesa-dri-drivers'
'lib32-mesa-vulkan-drivers'
'lib32-mesa-va-drivers'
'lib32-mesa-vdpau-drivers'
'lib32-mesa-libgbm'
'lib32-mesa-libEGL'
'lib32-mesa-libGL'
'lib32-mesa-libGLES'
)
# 32-битные зависимости
deps=(
'expat.i686'
'libdrm.i686'
'libelf.i686'
'libglvnd.i686'
'libx11.i686'
'libxcb.i686'
'libxext.i686'
'libxshmfence.i686'
'libxxf86vm.i686'
'llvm18-libs.i686'
'lm_sensors.i686'
'libwayland-client.i686'
'libwayland-server.i686'
'zlib.i686'
'zstd.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'
)
# Зависимости для сборки (в основном 64-бит tools + 32-бит libs)
build_deps=(
'gcc'
'clang'
'meson'
'ninja-build'
'cmake'
'python3'
'python3-mako'
'python3-packaging'
'python3-pyyaml'
'bison'
'flex'
'llvm18'
'llvm18-devel'
'clang-devel'
'rust'
'rust-bindgen-devel'
'cbindgen'
'glslang-devel'
'spirv-tools-devel'
'glibc-devel.i686'
'libdrm-devel.i686'
'libxcb-devel.i686'
'libX11-devel.i686'
'libXext-devel.i686'
'libXxf86vm-devel.i686'
'libXfixes-devel.i686'
'libXdamage-devel.i686'
'libxshmfence-devel.i686'
'libXrandr-devel.i686'
'elfutils-libelf-devel.i686'
'libglvnd-devel.i686'
'wayland-devel.i686'
'wayland-protocols-devel'
'libva-devel.i686'
'libvdpau-devel.i686'
'expat-devel.i686'
'libxml2-devel.i686'
'libzstd-devel.i686'
'lm_sensors-devel.i686'
'systemd-devel.i686'
'libpng-devel.i686'
'vulkan-headers'
'vulkan-loader-devel.i686'
'llvm18-libs.i686'
)
build_deps_redos=("${build_deps[@]}")
_pkgver="${version}"
sources=("https://archive.mesa3d.org/mesa-${_pkgver}.tar.xz")
checksums=('361c97e8afa5fe20141c5362c5b489040751e12861c186a16c621a2fb182fc42')
prepare() {
cd "$srcdir/mesa-${_pkgver}"
# Установка версии для правильной идентификации
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 meson cross-file for 32-bit compilation
cat > "$srcdir/lib32-cross.ini" <<EOF
[binaries]
c = ['gcc', '-m32']
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']
c_link_args = ['-m32']
cpp_args = ['-m32']
cpp_link_args = ['-m32']
[host_machine]
system = 'linux'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
EOF
echo "==> Preparing Mesa ${version} (32-bit) for AMD RDNA 4 (RX 9070 XT) support..."
}
build() {
cd "$srcdir/mesa-${_pkgver}"
# Set environment for 32-bit build
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig"
export LLVM_CONFIG="$srcdir/llvm-config-18-32"
# 32-bit CFLAGS/CXXFLAGS
export CFLAGS="-m32 -O2 -g1"
export CXXFLAGS="-m32 -O2 -g1"
export LDFLAGS="-m32"
echo "==> Configuring Mesa (32-bit) with Meson..."
meson setup builddir \
--cross-file="$srcdir/lib32-cross.ini" \
--prefix=/usr \
--libdir=lib \
--buildtype=release \
-Db_ndebug=true \
-Dplatforms=x11,wayland \
-Dgallium-drivers=r300,r600,radeonsi,llvmpipe,softpipe,zink \
-Dvulkan-drivers=amd,swrast \
-Dvideo-codecs=all \
-Dgallium-extra-hud=true \
-Dgallium-rusticl=false \
-Dgallium-va=enabled \
-Dgallium-vdpau=enabled \
-Dgbm=enabled \
-Dgles1=disabled \
-Dgles2=enabled \
-Dglvnd=enabled \
-Dglx=dri \
-Degl=enabled \
-Dllvm=enabled \
-Dlmsensors=enabled \
-Dvalgrind=disabled \
-Dvulkan-layers=device-select,overlay \
-Dintel-rt=disabled \
-Dlibunwind=disabled \
-Dmicrosoft-clc=disabled
echo "==> Building Mesa (32-bit) - this may take 15-30 minutes..."
meson compile -C builddir -j$(nproc)
}
package() {
cd "$srcdir/mesa-${_pkgver}"
echo "==> Installing Mesa (32-bit)..."
DESTDIR="$pkgdir" meson install -C builddir --no-rebuild
# Install license
install -Dm644 docs/license.rst "$pkgdir/usr/share/licenses/$name/LICENSE"
# Remove files that conflict with 64-bit mesa
rm -rf "$pkgdir/usr/include"
rm -rf "$pkgdir/usr/share/drirc.d"
rm -rf "$pkgdir/usr/share/vulkan"
rm -rf "$pkgdir/usr/share/glvnd"
rm -rf "$pkgdir/usr/lib/pkgconfig"
rm -f "$pkgdir/usr/bin"/*
echo "==> Mesa ${version} (32-bit) installed with AMD RDNA 4 support"
}
files() {
# Find all installed 32-bit library files
if [ -d ./usr/lib ]; then
find ./usr/lib -type f -printf '%p\n'
find ./usr/lib -type l -printf '%p\n'
fi
if [ -d ./usr/share/licenses ]; then
find ./usr/share/licenses -type f -printf '%p\n'
fi
}