Technical guide
Update Firmware on Linux with fwupd and fwupdmgr
Use fwupd and fwupdmgr to identify supported devices, refresh LVFS metadata, check firmware updates, apply them safely, and verify update history on Linux.
On this page
- fwupd separates Linux firmware delivery from ordinary package updates
- 1. Use the fwupd package supplied by your Linux distribution
- 2. Check what fwupd can actually see
- 3. Refresh metadata, then inspect available updates
- 4. Apply updates and respect reboot or device-state requirements
- 5. Verify the result instead of assuming the command completed the flash
- LVFS availability is a support boundary, not a universal firmware catalog
- Firmware updates are not the same as driver updates
fwupd separates Linux firmware delivery from ordinary package updates
fwupd is a Linux system daemon for updating device firmware. Its command-line client is fwupdmgr. On most systems, fwupd is configured to use the Linux Vendor Firmware Service (LVFS), where hardware vendors can publish redistributable firmware and metadata for supported devices.
That makes firmware updating a different layer from updating applications, libraries, or the Linux kernel through apt, dnf, pacman, or another distribution package manager. A normal package upgrade does not imply that every device firmware image is current, and fwupd support does not imply that every device in the machine has an LVFS update available.
| Command | Purpose |
|---|---|
| fwupdmgr get-devices | List devices detected by fwupd and inspect their firmware information and update capability. |
| fwupdmgr refresh | Refresh firmware metadata from configured remotes such as LVFS. |
| fwupdmgr get-updates | Show available newer firmware releases for supported detected devices. |
| fwupdmgr update | Download and apply available updates; some updates are staged for the next reboot. |
| fwupdmgr get-history | Inspect firmware-update history recorded by fwupd. |
1. Use the fwupd package supplied by your Linux distribution
The fwupd project recommends that ordinary users use the version packaged and tested by their Linux distribution rather than compiling fwupd from source. Installation commands therefore vary by distribution; use your distribution package manager or its graphical software center if fwupd is not already installed.
Before changing firmware, connect portable systems to reliable external power and avoid beginning an update when power loss is likely. Also preserve important data. Firmware mechanisms differ by device, and an interrupted or failed firmware flash can have a larger blast radius than an ordinary application update.
2. Check what fwupd can actually see
Run `fwupdmgr get-devices` before assuming a BIOS, dock, SSD, peripheral, or other component is supported. The command shows devices enumerated by fwupd and can expose properties such as current firmware version and whether a device is updatable or supported by a configured remote.
A device missing from this list is not evidence that its firmware is current. It means this fwupd instance did not enumerate it in the expected update path. Check the hardware vendor and distribution documentation rather than forcing a firmware package intended for a different model.
3. Refresh metadata, then inspect available updates
Run `fwupdmgr refresh` to download current metadata from enabled remotes. The fwupd project configures LVFS by default on most systems, but administrators and distributions can change remote configuration. Refreshing metadata does not itself flash device firmware.
Then run `fwupdmgr get-updates`. Read the device name, installed version, offered version, release information, and any requirements shown by the client before proceeding. No listed update can simply mean that no newer release in the configured metadata applies to the detected device; it should not be generalized into a claim that the vendor has never released other firmware through another supported channel.
4. Apply updates and respect reboot or device-state requirements
The upstream basic workflow uses `fwupdmgr update` to download and apply available updates. fwupd documents two broad outcomes: updates that can be applied live are performed immediately, while updates that need boot-time deployment are staged and completed during a subsequent reboot.
Follow the prompts and device-specific requirements rather than interrupting the process because the screen, dock, peripheral, or machine temporarily changes state. Do not power off a system during a firmware operation unless the updater or hardware vendor explicitly instructs you to do so. If an update requests a reboot, let the supported update path complete before judging the installed version.
5. Verify the result instead of assuming the command completed the flash
After any required reboot, run `fwupdmgr get-devices` again and inspect the relevant firmware version. `fwupdmgr get-history` provides the firmware update history stored by fwupd, while `fwupdmgr get-results` can expose the result of the last update for a selected device.
Verification matters because downloading or staging an update is not the same event as successfully activating it. If the reported version or update result is unexpected, preserve the output and consult the exact device vendor and fwupd guidance before retrying or attempting a manual flash.
LVFS availability is a support boundary, not a universal firmware catalog
LVFS allows hardware vendors to upload redistributable firmware in cabinet archives with Linux-specific metadata, and fwupd uses plugins to support multiple firmware-update protocols. This creates a standardized delivery path for many devices, but coverage depends on vendor participation, device support, enabled remotes, fwupd/plugin support, and the exact hardware revision.
If fwupdmgr reports no supported update for a device, do not substitute a similarly named firmware image or bypass model checks. Some vendors provide another supported Linux or bootable update mechanism; others may require a vendor-specific process. Use the exact product documentation for that boundary.
Firmware updates are not the same as driver updates
Firmware runs on the device or platform, while a Linux driver is operating-system software that communicates with hardware. Updating fwupd itself, updating a kernel driver, and flashing device firmware are therefore separate operations even when all three affect the same component.
Do not treat a firmware update as a generic fix for every hardware problem. Read the release notes and update only through a supported path. For storage devices and system firmware in particular, preserve backups and recovery information appropriate to the machine before changing low-level software.
Sources
Primary and technical sources
Technical details can vary by exact model, firmware, and platform. These are the sources used for the factual claims in this article.
01 fwupd project
fwupd upstream README — purpose, distribution packaging guidance, LVFS and basic command-line workflow02 fwupd project
fwupdmgr command-line reference — device, update, history and result commands03 Linux Vendor Firmware Service
Linux Vendor Firmware Service — vendor firmware distribution and fwupd overview
Related
Continue from here
Useful next steps selected from the same technical reference and publication system.
Technical guide
How to Back Up Installed Drivers in Windows 11
Export third-party driver packages from the Windows 11 driver store with PnPUtil, preserve them before a reinstall, and understand what the backup does and does not contain.
Technical guide
How to Roll Back a Device Driver in Windows 11: Device Manager, Previous Packages, Recovery, and Verification
Safely roll back a problematic Windows 11 device driver, handle an unavailable rollback button, use supported previous packages, and verify the result.
Technical guide
ACPI Firmware Tables Explained: DSDT, SSDT, and More
Learn how ACPI firmware tables describe PC hardware to the operating system, what DSDT and SSDT contain, and how ACPI differs from UEFI, SMBIOS, and drivers.
Compatibility & upgrades
How to Check a Driver’s Digital Signature in Windows 11
Check whether a Windows 11 driver package or driver file is digitally signed, understand catalog versus embedded signatures, and interpret what a valid signature actually proves.