name : linux-firmware version : '20250410' release : 92 source : - git|https://gitlab.com/kernel-firmware/linux-firmware.git : 20250410 license : - GPL-2.0-or-later - Distributable component : kernel homepage : https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary summary : - Firmware required for many devices - nvidia : Firmware required for many devices, Nvidia GSP firmware description: - Free and non-free firmware required for enablement of many devices and hardware - nvidia : Firmware required for many devices, Nvidia GSP firmware strip : no debug : no networking : yes builddeps : - parallel - rdfind rundeps : - intel-microcode # 2025-02-26: At some point (perhaps 12 months after this post) we can remove these rundeps and ensure that they are instead installed by the installer # That would allow an end-user to remove firmware they don't need. - linux-firmware-amdgpu - linux-firmware-intel-graphics - linux-firmware-libertas - linux-firmware-mlxsw-spectrum - linux-firmware-qcom setup : | git config --global user.email "solus@getsol.us" git config --global user.name "Solus" # https://gitlab.freedesktop.org/drm/amd/-/issues/3760 git checkout d6c600d46981e69ccf2eeb249299aac0c0bfd236 -- amdgpu/dcn_3_1_4_dmcub.bin # https://github.com/getsolus/packages/issues/5499 # https://www.mail-archive.com/debian-kernel@lists.debian.org/msg141973.html # https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/518 git checkout cb465aa0042bc2057579b313f518a80a2207a55c -- rtw89/rtw8852c_fw-1.bin install : | %make install-zst DESTDIR="$installdir" FIRMWAREDIR="/usr/lib64/firmware" # Remove blacklisted for i in airoha carl9170fw netronome liquidio powervr qed; do rm -rvf $installdir/usr/lib64/firmware/$i done # Exit if there are any absolute symlinks anywhere since those will mess things up pushd $installdir/ ! find . -type l -lname '/*' -print | grep . popd # Usr-merge install -dm00755 $installdir/lib64 pushd $installdir/usr dir_list=() while IFS= read -r -d $'\0'; do dir_list+=("$REPLY") done < <(find lib64 -type d -print0) for file in "${dir_list[@]}"; do install -dm00755 "$installdir/$file" done file_list=() while IFS= read -r -d $'\0'; do file_list+=("$REPLY") done < <(find lib64 -type f -print0) for file in "${file_list[@]}"; do ln -srv "$installdir/usr/$file" "$installdir/$file" done link_list=() while IFS= read -r -d $'\0'; do link_list+=("$REPLY") done < <(find lib64 -type l -print0) for file in "${link_list[@]}"; do link=$(readlink "$file") ln -sv "$link" "$installdir/$file" done popd # Stick docs in install -dDm00755 $installdir/usr/share/doc/${package} install -m00644 LICENSE* $installdir/usr/share/doc/${package}/. install -m00644 LICENCE* $installdir/usr/share/doc/${package}/. patterns : - amdgpu : - /lib64/firmware/amdgpu - /lib64/firmware/amdnpu - /lib64/firmware/radeon - /usr/lib64/firmware/amdgpu - /usr/lib64/firmware/amdnpu - /usr/lib64/firmware/radeon - /usr/share/doc/linux-firmware/LICENSE.amdgpu - /usr/share/doc/linux-firmware/LICENSE.amdnpu - /usr/share/doc/linux-firmware/LICENSE.radeon - intel-graphics : - /lib64/firmware/i915 - /lib64/firmware/intel/ipu - /lib64/firmware/intel/irci_* - /lib64/firmware/intel/vsc - /lib64/firmware/xe - /usr/lib64/firmware/i915 - /usr/lib64/firmware/intel/ipu - /usr/lib64/firmware/intel/irci_* - /usr/lib64/firmware/intel/vsc - /usr/lib64/firmware/xe - /usr/share/doc/linux-firmware/LICENSE.i915 - libertas : # Fedora has this additionally split into a mrvlprestera firmware package, maybe we want that? - /lib64/firmware/libertas - /lib64/firmware/mrvl - /usr/lib64/firmware/libertas - /usr/lib64/firmware/mrvl - /usr/share/doc/linux-firmware/LICENCE.Marvell - /usr/share/doc/linux-firmware/LICENCE.OLPC - mlxsw-spectrum : - /lib64/firmware/mellanox - /usr/lib64/firmware/mellanox - nvidia : - /lib64/firmware/nvidia/ad*/gsp - /lib64/firmware/nvidia/ga*/gsp - /lib64/firmware/nvidia/tu*/gsp - /usr/lib64/firmware/nvidia/ad*/gsp - /usr/lib64/firmware/nvidia/ga*/gsp - /usr/lib64/firmware/nvidia/tu*/gsp - /usr/share/doc/linux-firmware/LICENCE.nvidia - qcom : - /lib64/firmware/qcom - /usr/lib64/firmware/qcom - /usr/share/doc/linux-firmware/LICENSE.qcom - /usr/share/doc/linux-firmware/LICENSE.qcom-2 - /usr/share/doc/linux-firmware/LICENSE.qcom_yamato