|
%bcond_without videocodecs |
|
%global source_date_epoch_from_changelog 0 |
|
|
|
%ifnarch s390x |
|
%global with_hardware 1 |
|
%global with_nvk 1 |
|
%global with_radeonsi 1 |
|
%global with_vmware 1 |
|
%global with_vulkan_hw 1 |
|
%global with_va 1 |
|
%if !0%{?rhel} |
|
%global with_r300 1 |
|
%global with_r600 1 |
|
%global with_opencl 1 |
|
%endif |
|
%global base_vulkan %{?with_vulkan_hw:,amd}%{!?with_vulkan_hw:%{nil}} |
|
%endif |
|
|
|
%ifnarch %{ix86} |
|
%if !0%{?rhel} |
|
%global with_teflon 1 |
|
%endif |
|
%endif |
|
|
|
%ifarch %{ix86} x86_64 |
|
%global with_crocus 1 |
|
%global with_iris 1 |
|
%global intel_platform_vulkan %{?with_vulkan_hw:,intel,intel_hasvk}%{!?with_vulkan_hw:%{nil}} |
|
%if !0%{?rhel} |
|
%global with_i915 1 |
|
%endif |
|
%global with_intel_nullhw 1 |
|
%endif |
|
%ifarch x86_64 |
|
%if !0%{?with_vulkan_hw} |
|
%global with_intel_vk_rt 1 |
|
%endif |
|
%endif |
|
|
|
%ifarch aarch64 x86_64 %{ix86} |
|
%if !0%{?rhel} |
|
%global with_asahi 1 |
|
# disabled: DirectX-Headers >= 1.618.1 required, F43 has 1.615.0 |
|
#%%global with_d3d12 1 |
|
%global with_etnaviv 1 |
|
%global with_lima 1 |
|
%global with_tegra 1 |
|
%global with_vc4 1 |
|
%global with_v3d 1 |
|
%endif |
|
%global with_freedreno 1 |
|
%global with_kmsro 1 |
|
%global with_panfrost 1 |
|
%if 0%{?with_asahi} |
|
%global asahi_platform_vulkan %{?with_vulkan_hw:,asahi}%{!?with_vulkan_hw:%{nil}} |
|
%endif |
|
%global extra_platform_vulkan %{?with_vulkan_hw:,broadcom,freedreno,panfrost,imagination}%{!?with_vulkan_hw:%{nil}} |
|
%endif |
|
|
|
%if !0%{?rhel} |
|
%global with_libunwind 1 |
|
%global with_lmsensors 1 |
|
%global with_virtio 1 |
|
%endif |
|
|
|
%ifarch %{valgrind_arches} |
|
%bcond_without valgrind |
|
%else |
|
%bcond_with valgrind |
|
%endif |
|
|
|
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?asahi_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau}%{?with_virtio:,virtio}%{?with_d3d12:,microsoft-experimental} |
|
## additional functionality not in the fedora standard packages |
|
%global with_vulkan_overlay 1 |
|
%global with_gallium_extra_hud 1 |
|
|
|
%if 0%{?with_nvk} && 0%{?rhel} |
|
%global vendor_nvk_crates 1 |
|
%endif |
|
|
|
%global shortcommit rc2 |
|
|
|
Name: mesa |
|
Summary: Mesa graphics libraries |
|
Version: 26.0.0 |
|
Release: %{shortcommit}%{?dist} |
|
|
|
License: MIT AND BSD-3-Clause AND SGI-B-2.0 |
|
URL: http://www.mesa3d.org |
|
|
|
Source0: mesa-26.0.0-rc2.tar.gz |
|
# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license. |
|
# Source1 contains email correspondence clarifying the license terms. |
|
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. |
|
|
|
# Patch10: gnome-shell-glthread-disable.patch |
|
|
|
BuildRequires: meson >= 1.3.0 |
|
BuildRequires: gcc |
|
BuildRequires: gcc-c++ |
|
BuildRequires: gettext |
|
%if 0%{?with_hardware} |
|
BuildRequires: kernel-headers |
|
BuildRequires: systemd-devel |
|
%endif |
|
# We only check for the minimum version of pkgconfig(libdrm) needed so that the |
|
# SRPMs for each arch still have the same build dependencies. See: |
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1859515 |
|
BuildRequires: pkgconfig(libdrm) >= 2.4.97 |
|
%if 0%{?with_libunwind} |
|
BuildRequires: pkgconfig(libunwind) |
|
%endif |
|
BuildRequires: pkgconfig(expat) |
|
BuildRequires: pkgconfig(zlib) >= 1.2.3 |
|
BuildRequires: pkgconfig(libzstd) |
|
BuildRequires: pkgconfig(wayland-scanner) |
|
BuildRequires: pkgconfig(wayland-protocols) >= 1.8 |
|
BuildRequires: pkgconfig(wayland-client) >= 1.11 |
|
BuildRequires: pkgconfig(wayland-server) >= 1.11 |
|
BuildRequires: pkgconfig(wayland-egl-backend) >= 3 |
|
BuildRequires: pkgconfig(x11) |
|
BuildRequires: pkgconfig(xext) |
|
BuildRequires: pkgconfig(xdamage) >= 1.1 |
|
BuildRequires: pkgconfig(xfixes) |
|
BuildRequires: pkgconfig(xcb-glx) >= 1.8.1 |
|
BuildRequires: pkgconfig(xxf86vm) |
|
BuildRequires: pkgconfig(xcb) |
|
BuildRequires: pkgconfig(x11-xcb) |
|
BuildRequires: pkgconfig(xcb-dri2) >= 1.8 |
|
BuildRequires: pkgconfig(xcb-dri3) |
|
BuildRequires: pkgconfig(xcb-present) |
|
BuildRequires: pkgconfig(xcb-sync) |
|
BuildRequires: pkgconfig(xshmfence) >= 1.1 |
|
BuildRequires: pkgconfig(dri2proto) >= 2.8 |
|
BuildRequires: pkgconfig(glproto) >= 1.4.14 |
|
BuildRequires: pkgconfig(xcb-xfixes) |
|
BuildRequires: pkgconfig(xcb-randr) |
|
BuildRequires: pkgconfig(xrandr) >= 1.3 |
|
BuildRequires: bison |
|
BuildRequires: flex |
|
BuildRequires: libdisplay-info-devel |
|
%if 0%{?with_lmsensors} |
|
BuildRequires: lm_sensors-devel |
|
%endif |
|
%if 0%{?with_va} |
|
BuildRequires: pkgconfig(libva) >= 0.38.0 |
|
%endif |
|
BuildRequires: pkgconfig(libelf) |
|
BuildRequires: pkgconfig(libglvnd) >= 1.3.2 |
|
BuildRequires: llvm-devel >= 7.0.0 |
|
%if 0%{?with_teflon} |
|
BuildRequires: flatbuffers-devel |
|
BuildRequires: flatbuffers-compiler |
|
BuildRequires: xtensor-devel |
|
%endif |
|
%if 0%{?with_opencl} || 0%{?with_nvk} || 0%{?with_asahi} || 0%{?with_panfrost} |
|
BuildRequires: clang-devel |
|
BuildRequires: pkgconfig(libclc) |
|
BuildRequires: pkgconfig(SPIRV-Tools) |
|
BuildRequires: pkgconfig(LLVMSPIRVLib) |
|
%endif |
|
%if 0%{?with_opencl} || 0%{?with_nvk} |
|
BuildRequires: bindgen |
|
%if 0%{?rhel} |
|
BuildRequires: rust-toolset |
|
%else |
|
BuildRequires: cargo-rpm-macros |
|
%endif |
|
%endif |
|
%if 0%{?with_nvk} |
|
BuildRequires: cbindgen |
|
BuildRequires: (crate(paste) >= 1.0.14 with crate(paste) < 2) |
|
BuildRequires: (crate(proc-macro2) >= 1.0.56 with crate(proc-macro2) < 2) |
|
BuildRequires: (crate(quote) >= 1.0.25 with crate(quote) < 2) |
|
BuildRequires: (crate(syn/clone-impls) >= 2.0.15 with crate(syn/clone-impls) < 3) |
|
BuildRequires: (crate(unicode-ident) >= 1.0.6 with crate(unicode-ident) < 2) |
|
Buildrequires: rust-rustc-hash-devel |
|
%endif |
|
%if %{with valgrind} |
|
BuildRequires: pkgconfig(valgrind) |
|
%endif |
|
BuildRequires: python3-devel |
|
BuildRequires: python3-mako |
|
BuildRequires: python3-ply |
|
BuildRequires: python3-pycparser |
|
BuildRequires: python3-pyyaml |
|
BuildRequires: vulkan-headers |
|
BuildRequires: glslang |
|
%if 0%{?with_vulkan_hw} |
|
BuildRequires: pkgconfig(vulkan) |
|
%endif |
|
%if 0%{?with_d3d12} |
|
BuildRequires: pkgconfig(DirectX-Headers) >= 1.614.1 |
|
%endif |
|
## vulkan hud requires |
|
%if 0%{?with_vulkan_overlay} |
|
BuildRequires: glslang |
|
%endif |
|
|
|
%description |
|
%{summary}. |
|
|
|
%package filesystem |
|
Summary: Mesa driver filesystem |
|
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release} |
|
Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release} |
|
Obsoletes: mesa-libd3d < %{?epoch:%{epoch}:}%{version}-%{release} |
|
Obsoletes: mesa-libd3d-devel < %{?epoch:%{epoch}:}%{version}-%{release} |
|
|
|
%description filesystem |
|
%{summary}. |
|
|
|
%package libGL |
|
Summary: Mesa libGL runtime libraries |
|
Requires: libglvnd-glx%{?_isa} >= 1:1.3.2 |
|
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
%if 0%{?fedora} > 41 |
|
Obsoletes: %{name}-libOSMesa < 25.1.0~rc2-1 |
|
%endif |
|
|
|
%description libGL |
|
%{summary}. |
|
|
|
%package libGL-devel |
|
Summary: Mesa libGL development package |
|
Requires: (%{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-libGL%{?_isa}) |
|
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2 |
|
Provides: libGL-devel |
|
Provides: libGL-devel%{?_isa} |
|
Recommends: gl-manpages |
|
%if 0%{?fedora} > 41 |
|
Obsoletes: %{name}-libOSMesa-devel <= 25.1.0~rc2-1 |
|
%endif |
|
|
|
%description libGL-devel |
|
%{summary}. |
|
|
|
%package libEGL |
|
Summary: Mesa libEGL runtime libraries |
|
Requires: libglvnd-egl%{?_isa} >= 1:1.3.2 |
|
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
|
|
%description libEGL |
|
%{summary}. |
|
|
|
%package libEGL-devel |
|
Summary: Mesa libEGL development package |
|
Requires: (%{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-libEGL%{?_isa}) |
|
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2 |
|
Requires: %{name}-khr-devel%{?_isa} |
|
Provides: libEGL-devel |
|
Provides: libEGL-devel%{?_isa} |
|
|
|
%description libEGL-devel |
|
%{summary}. |
|
|
|
%package dri-drivers |
|
Summary: Mesa-based DRI drivers |
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
%if 0%{?with_va} |
|
Recommends: %{name}-va-drivers%{?_isa} |
|
%endif |
|
Obsoletes: %{name}-libglapi < 25.0.0~rc2-1 |
|
Provides: %{name}-libglapi >= 25.0.0~rc2-1 |
|
|
|
%description dri-drivers |
|
%{summary}. |
|
|
|
%if 0%{?with_va} |
|
%package va-drivers |
|
Summary: Mesa-based VA-API video acceleration drivers |
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
Obsoletes: %{name}-vaapi-drivers < 22.3.0-0.24 |
|
|
|
%description va-drivers |
|
%{summary}. |
|
%endif |
|
|
|
%package libgbm |
|
Summary: Mesa gbm runtime library |
|
Provides: libgbm |
|
Provides: libgbm%{?_isa} |
|
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
# If mesa-dri-drivers are installed, they must match in version. This is here to prevent using |
|
# older mesa-dri-drivers together with a newer mesa-libgbm and its dependants. |
|
# See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 . |
|
Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-dri-drivers%{?_isa}) |
|
|
|
%description libgbm |
|
%{summary}. |
|
|
|
%package libgbm-devel |
|
Summary: Mesa libgbm development package |
|
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
Provides: libgbm-devel |
|
Provides: libgbm-devel%{?_isa} |
|
|
|
%description libgbm-devel |
|
%{summary}. |
|
|
|
%if 0%{?with_opencl} |
|
%package libOpenCL |
|
Summary: Mesa OpenCL runtime library |
|
Requires: (ocl-icd%{?_isa} or OpenCL-ICD-Loader%{?_isa}) |
|
Requires: libclc%{?_isa} |
|
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
Requires: opencl-filesystem |
|
|
|
%description libOpenCL |
|
%{summary}. |
|
|
|
%package libOpenCL-devel |
|
Summary: Mesa OpenCL development package |
|
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
|
|
%description libOpenCL-devel |
|
%{summary}. |
|
%endif |
|
|
|
%if 0%{?with_teflon} |
|
%package libTeflon |
|
Summary: Mesa TensorFlow Lite delegate |
|
|
|
%description libTeflon |
|
%{summary}. |
|
|
|
%files libTeflon |
|
%{_libdir}/libteflon.so |
|
%endif |
|
|
|
%if 0%{?with_d3d12} |
|
%package dxil-devel |
|
Summary: Mesa SPIR-V to DXIL binary |
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
|
|
%description dxil-devel |
|
Development tools for translating SPIR-V shader code to DXIL for Direct3D 12 |
|
%endif |
|
|
|
%package vulkan-drivers |
|
Summary: Mesa Vulkan drivers |
|
Requires: vulkan%{_isa} |
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} |
|
Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release} |
|
|
|
%description vulkan-drivers |
|
The drivers with support for the Vulkan API. |
|
|
|
%prep |
|
%autosetup -n mesa-26.0.0-%{shortcommit} -p1 |
|
# cp %{SOURCE1} docs/ |
|
|
|
%build |
|
# ensure standard Rust compiler flags are set |
|
export RUSTFLAGS="%build_rustflags" |
|
|
|
%if 0%{?with_nvk} |
|
export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/" |
|
# So... Meson can't actually find them without tweaks |
|
%define inst_crate_nameversion() %(basename %{cargo_registry}/%{1}-*) |
|
%define rewrite_wrap_file() wrapfile=$(ls subprojects/%{1}*.wrap | head -n1) && extracted_dir=$(basename $(find /usr/share/cargo/registry/ -maxdepth 1 -type d -name '%{1}-*' | head -n1)) && sed -i -e '/^source_filename/d' -e '/^source_url/d' -e "s/^directory = .*/directory = ${extracted_dir}/" "$wrapfile" |
|
|
|
%rewrite_wrap_file proc-macro2 |
|
%rewrite_wrap_file quote |
|
%rewrite_wrap_file syn |
|
%rewrite_wrap_file unicode-ident |
|
%rewrite_wrap_file paste |
|
%endif |
|
|
|
# We've gotten a report that enabling LTO for mesa breaks some games. See |
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details. |
|
# Disable LTO for now |
|
%define _lto_cflags %{nil} |
|
|
|
%meson \ |
|
-Dplatforms=x11,wayland \ |
|
%if 0%{?with_hardware} |
|
-Dgallium-drivers=softpipe,llvmpipe,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_i915:,i915}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_asahi:,asahi}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink}%{?with_d3d12:,d3d12} \ |
|
%else |
|
-Dgallium-drivers=softpipe,llvmpipe,virgl \ |
|
%endif |
|
-Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \ |
|
-Dgallium-mediafoundation=disabled \ |
|
-Dteflon=%{?with_teflon:true}%{!?with_teflon:false} \ |
|
%if 0%{?with_opencl} |
|
-Dgallium-rusticl=true \ |
|
%endif |
|
-Dgallium-extra-hud=%{?with_gallium_extra_hud:true}%{!?with_gallium_extra_hud:false} \ |
|
-Dvulkan-drivers=%{?vulkan_drivers} \ |
|
-Dvulkan-layers=device-select%{?with_intel_nullhw:,intel-nullhw}%{?with_vulkan_overlay:,overlay} \ |
|
-Dgles1=enabled \ |
|
-Dgles2=enabled \ |
|
-Dopengl=true \ |
|
-Dgbm=enabled \ |
|
-Dglx=dri \ |
|
-Degl=enabled \ |
|
-Dglvnd=enabled \ |
|
-Dintel-rt=%{?with_intel_vk_rt:enabled}%{!?with_intel_vk_rt:disabled} \ |
|
-Dmicrosoft-clc=disabled \ |
|
-Dllvm=enabled \ |
|
-Dshared-llvm=enabled \ |
|
-Dvalgrind=%{?with_valgrind:enabled}%{!?with_valgrind:disabled} \ |
|
-Dbuild-tests=false \ |
|
%if !0%{?with_libunwind} |
|
-Dlibunwind=disabled \ |
|
%endif |
|
%if !0%{?with_lmsensors} |
|
-Dlmsensors=disabled \ |
|
%endif |
|
-Dandroid-libbacktrace=disabled \ |
|
%ifarch %{ix86} |
|
-Dglx-read-only-text=true \ |
|
%endif |
|
%if %{with videocodecs} |
|
-Dvideo-codecs=all \ |
|
%endif |
|
%{nil} |
|
%meson_build |
|
|
|
%install |
|
%meson_install |
|
|
|
# likewise glvnd |
|
rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so |
|
rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so |
|
# XXX can we just not build this |
|
rm -vf %{buildroot}%{_libdir}/libGLES* |
|
|
|
%if ! 0%{?with_asahi} |
|
# This symlink is unconditionally created when any kmsro driver is enabled |
|
# We don't want this one so delete it |
|
rm -vf %{buildroot}%{_libdir}/dri/apple_dri.so |
|
%endif |
|
|
|
# glvnd needs a default provider for indirect rendering where it cannot |
|
# determine the vendor |
|
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 |
|
|
|
# this keeps breaking, check it early. note that the exit from eu-ftr is odd. |
|
# With glvnd, Mesa produces libGLX_mesa.so.0, not libGL.so |
|
pushd %{buildroot}%{_libdir} |
|
for i in libGLX_mesa.so.0 ; do |
|
eu-findtextrel $i && exit 1 |
|
done |
|
popd |
|
|
|
%files filesystem |
|
%dir %{_libdir}/dri |
|
%dir %{_datadir}/drirc.d |
|
|
|
%files libGL |
|
%{_libdir}/libGLX_mesa.so.0* |
|
%{_libdir}/libGLX_system.so.0* |
|
%files libGL-devel |
|
%dir %{_includedir}/GL |
|
%dir %{_includedir}/GL/internal |
|
%{_includedir}/GL/internal/dri_interface.h |
|
%{_libdir}/pkgconfig/dri.pc |
|
|
|
%files libEGL |
|
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json |
|
%{_libdir}/libEGL_mesa.so.0* |
|
%files libEGL-devel |
|
%dir %{_includedir}/EGL |
|
%{_includedir}/EGL/eglext_angle.h |
|
%{_includedir}/EGL/eglmesaext.h |
|
|
|
%files libgbm |
|
%{_libdir}/libgbm.so.1 |
|
%{_libdir}/libgbm.so.1.* |
|
%files libgbm-devel |
|
%{_libdir}/libgbm.so |
|
%{_includedir}/gbm.h |
|
%{_includedir}/gbm_backend_abi.h |
|
%{_libdir}/pkgconfig/gbm.pc |
|
|
|
%if 0%{?with_opencl} |
|
%files libOpenCL |
|
%{_libdir}/libRusticlOpenCL.so.* |
|
%{_sysconfdir}/OpenCL/vendors/rusticl.icd |
|
|
|
%files libOpenCL-devel |
|
%{_libdir}/libRusticlOpenCL.so |
|
%endif |
|
|
|
%files dri-drivers |
|
%{_datadir}/drirc.d/00-mesa-defaults.conf |
|
%{_libdir}/libgallium-*.so |
|
%{_libdir}/gbm/dri_gbm.so |
|
%{_libdir}/dri/kms_swrast_dri.so |
|
%{_libdir}/dri/libdril_dri.so |
|
%{_libdir}/dri/swrast_dri.so |
|
%{_libdir}/dri/virtio_gpu_dri.so |
|
|
|
%if 0%{?with_hardware} |
|
%if 0%{?with_r300} |
|
%{_libdir}/dri/r300_dri.so |
|
%endif |
|
%if 0%{?with_radeonsi} |
|
%if 0%{?with_r600} |
|
%{_libdir}/dri/r600_dri.so |
|
%endif |
|
%{_libdir}/dri/radeonsi_dri.so |
|
%endif |
|
%ifarch %{ix86} x86_64 |
|
%{_libdir}/dri/crocus_dri.so |
|
%{_libdir}/dri/iris_dri.so |
|
%if 0%{?with_i915} |
|
%{_libdir}/dri/i915_dri.so |
|
%endif |
|
%endif |
|
%ifarch aarch64 x86_64 %{ix86} |
|
%if 0%{?with_asahi} |
|
%{_libdir}/dri/apple_dri.so |
|
%{_libdir}/dri/asahi_dri.so |
|
%endif |
|
%if 0%{?with_d3d12} |
|
%{_libdir}/dri/d3d12_dri.so |
|
%endif |
|
%{_libdir}/dri/ingenic-drm_dri.so |
|
%{_libdir}/dri/imx-drm_dri.so |
|
%{_libdir}/dri/imx-lcdif_dri.so |
|
%{_libdir}/dri/kirin_dri.so |
|
%{_libdir}/dri/komeda_dri.so |
|
%{_libdir}/dri/mali-dp_dri.so |
|
%{_libdir}/dri/mcde_dri.so |
|
%{_libdir}/dri/mxsfb-drm_dri.so |
|
%{_libdir}/dri/rcar-du_dri.so |
|
%{_libdir}/dri/stm_dri.so |
|
%endif |
|
%if 0%{?with_vc4} |
|
%{_libdir}/dri/vc4_dri.so |
|
%endif |
|
%if 0%{?with_v3d} |
|
%{_libdir}/dri/v3d_dri.so |
|
%endif |
|
%if 0%{?with_freedreno} |
|
%{_libdir}/dri/kgsl_dri.so |
|
%{_libdir}/dri/msm_dri.so |
|
%endif |
|
%if 0%{?with_etnaviv} |
|
%{_libdir}/dri/etnaviv_dri.so |
|
%endif |
|
%if 0%{?with_tegra} |
|
%{_libdir}/dri/tegra_dri.so |
|
%endif |
|
%if 0%{?with_lima} |
|
%{_libdir}/dri/lima_dri.so |
|
%endif |
|
%if 0%{?with_panfrost} |
|
%{_libdir}/dri/panfrost_dri.so |
|
%{_libdir}/dri/panthor_dri.so |
|
%endif |
|
%{_libdir}/dri/nouveau_dri.so |
|
%if 0%{?with_vmware} |
|
%{_libdir}/dri/vmwgfx_dri.so |
|
%endif |
|
%endif |
|
%if 0%{?with_kmsro} |
|
%{_libdir}/dri/armada-drm_dri.so |
|
%{_libdir}/dri/exynos_dri.so |
|
%{_libdir}/dri/gm12u320_dri.so |
|
%{_libdir}/dri/hdlcd_dri.so |
|
%{_libdir}/dri/hx8357d_dri.so |
|
%{_libdir}/dri/ili9163_dri.so |
|
%{_libdir}/dri/ili9225_dri.so |
|
%{_libdir}/dri/ili9341_dri.so |
|
%{_libdir}/dri/ili9486_dri.so |
|
%{_libdir}/dri/imx-dcss_dri.so |
|
%{_libdir}/dri/mediatek_dri.so |
|
%{_libdir}/dri/meson_dri.so |
|
%{_libdir}/dri/mi0283qt_dri.so |
|
%{_libdir}/dri/panel-mipi-dbi_dri.so |
|
%{_libdir}/dri/pl111_dri.so |
|
%{_libdir}/dri/repaper_dri.so |
|
%{_libdir}/dri/rockchip_dri.so |
|
%{_libdir}/dri/rzg2l-du_dri.so |
|
%{_libdir}/dri/ssd130x_dri.so |
|
%{_libdir}/dri/st7586_dri.so |
|
%{_libdir}/dri/st7735r_dri.so |
|
%{_libdir}/dri/sti_dri.so |
|
%{_libdir}/dri/sun4i-drm_dri.so |
|
%{_libdir}/dri/udl_dri.so |
|
%{_libdir}/dri/vkms_dri.so |
|
%{_libdir}/dri/zynqmp-dpsub_dri.so |
|
%endif |
|
%if 0%{?with_vulkan_hw} |
|
%{_libdir}/dri/zink_dri.so |
|
%endif |
|
|
|
%if 0%{?with_va} |
|
%files va-drivers |
|
%{_libdir}/dri/nouveau_drv_video.so |
|
%if 0%{?with_r600} |
|
%{_libdir}/dri/r600_drv_video.so |
|
%endif |
|
%if 0%{?with_radeonsi} |
|
%{_libdir}/dri/radeonsi_drv_video.so |
|
%endif |
|
%if 0%{?with_d3d12} |
|
%{_libdir}/dri/d3d12_drv_video.so |
|
%endif |
|
%{_libdir}/dri/virtio_gpu_drv_video.so |
|
%endif |
|
|
|
%if 0%{?with_d3d12} |
|
%files dxil-devel |
|
%{_bindir}/spirv2dxil |
|
%{_libdir}/libspirv_to_dxil.a |
|
%{_libdir}/libspirv_to_dxil.so |
|
%endif |
|
|
|
%files vulkan-drivers |
|
%if 0%{?with_nvk} |
|
%if 0%{?vendor_nvk_crates} |
|
%license cargo-vendor.txt |
|
%endif |
|
%endif |
|
%{_libdir}/libvulkan_lvp.so |
|
%{_datadir}/vulkan/icd.d/lvp_icd.*.json |
|
%{_libdir}/libVkLayer_MESA_device_select.so |
|
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json |
|
%if 0%{?with_virtio} |
|
%{_libdir}/libvulkan_virtio.so |
|
%{_datadir}/vulkan/icd.d/virtio_icd.*.json |
|
%endif |
|
%if 0%{?with_intel_nullhw} |
|
%{_libdir}/libVkLayer_INTEL_nullhw.so |
|
%{_datadir}/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json |
|
%endif |
|
%if 0%{?with_vulkan_hw} |
|
%{_libdir}/libvulkan_radeon.so |
|
%{_datadir}/drirc.d/00-radv-defaults.conf |
|
%{_datadir}/vulkan/icd.d/radeon_icd.*.json |
|
%if 0%{?with_nvk} |
|
%{_libdir}/libvulkan_nouveau.so |
|
%{_datadir}/vulkan/icd.d/nouveau_icd.*.json |
|
%endif |
|
%if 0%{?with_d3d12} |
|
%{_libdir}/libvulkan_dzn.so |
|
%{_datadir}/vulkan/icd.d/dzn_icd.*.json |
|
%endif |
|
%ifarch %{ix86} x86_64 |
|
%{_libdir}/libvulkan_intel.so |
|
%{_datadir}/vulkan/icd.d/intel_icd.*.json |
|
%{_libdir}/libvulkan_intel_hasvk.so |
|
%{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json |
|
%endif |
|
%ifarch aarch64 x86_64 %{ix86} |
|
%if 0%{?with_asahi} |
|
%{_libdir}/libvulkan_asahi.so |
|
%{_datadir}/vulkan/icd.d/asahi_icd.*.json |
|
%endif |
|
%{_libdir}/libvulkan_broadcom.so |
|
%{_datadir}/vulkan/icd.d/broadcom_icd.*.json |
|
%{_libdir}/libvulkan_freedreno.so |
|
%{_datadir}/vulkan/icd.d/freedreno_icd.*.json |
|
%{_libdir}/libvulkan_panfrost.so |
|
%{_datadir}/vulkan/icd.d/panfrost_icd.*.json |
|
%{_libdir}/libvulkan_powervr_mesa.so |
|
%{_datadir}/vulkan/icd.d/powervr_mesa_icd.*.json |
|
%endif |
|
%endif |
|
|
|
%if 0%{?with_vulkan_overlay} |
|
%{_bindir}/mesa-overlay-control.py |
|
%{_libdir}/libVkLayer_MESA_overlay.so |
|
%{_datadir}/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json |
|
%endif |
|
|
|
%changelog |
|
|
Thanks, a very useful guide. It worked well for me on Fedora 42, with the only issue being that I had to add
-Dvideo-codecs=h264dec,h264enc,h265dec,h265enc,vc1decto the meson setup options so that the drivers would be built with hardware video encoding support.I needed that in order to get Steam VR to connect to my Meta Quest 3, which was the reason I wanted the latest mesa in the first place.