Linux firmware
Linux firmware is a collection of firmware binary blobs distributed alongside the kernel, necessary for partial or full functionality of certain hardware devices. These binary blobs were never permitted to include in a GPL'd work, but have been permitted to redistribute under separate cover.
Typical kinds of hardware requiring firmware:
- GPUs,
- Wired network adapters,
- Wireless network adapters,
- Bluetooth controllers,
- Sound cards—professional audio or onboard audio.
Installation
Install the linux-firmware meta package to pull all commonly used firmware. This is the recommended way for most users.
Installing individual vendor packages
To save some space you could opt into installing firmware only for individual hardware vendors your system use.
Primary packages pulled by linux-firmware:
- linux-firmware-amdgpu - for AMD Radeon GPUs.
- linux-firmware-atheros - for Qualcomm Atheros Wi-Fi and Bluetooth adapters.
- linux-firmware-broadcom - for Broadcom and Cypress network adapters.
- linux-firmware-cirrus - for Cirrus Logic audio devices.
- linux-firmware-intel - for Intel audio devices, Bluetooth adapters, GPUs, network adapters, NPUs, webcams and other various devices.
- linux-firmware-mediatek - for MediaTek and Ralink network adapters.
- linux-firmware-nvidia - for NVIDIA GPUs and SoCs.
- linux-firmware-other - for unsorted various devices.
- linux-firmware-radeon - for ATI Radeon GPUs.
- linux-firmware-realtek - for Realtek network and Bluetooth adapters.
Optional packages:
- linux-firmware-liquidio - for Cavium LiquidIO server adapters.
- linux-firmware-marvell - for Marvell network adapters.
- linux-firmware-mellanox - for Mellanox Spectrum switches.
- linux-firmware-nfp - for Netronome Flow Processors.
- linux-firmware-qcom - for Qualcomm SoCs.
- linux-firmware-qlogic - for QLogic networked devices.
Third-party packages:
- alsa-firmware - for loader programs in alsa-tools and hotplug firmware loader. See ALSA#Firmware.
- sane-gt68xx-firmware - for gt68xx-based scanners.
- sigrok-firmware-fx2lafw - for FX2 logic analyzers.
- sof-firmware - Sound Open Firmware. See ALSA#Firmware.
Tips and tricks
Detecting loaded firmware
Sometimes you want to know what firmware is loaded by your system, for debugging or to pick firmware packages to install.
That could be achieved using dynamic debug:
- Add
dyndbg="func fw_log_firmware_info +p"
to the kernel parameters. Note that the quotes may need to be escaped depending upon boot loader. - List loaded firmware with
# journalctl -kg 'loaded f'