FedoraRHEL Based

How To Install Fwupd on Fedora 43

Install Fwupd on Fedora 43

Keeping your system firmware up to date is just as critical as updating your operating system and applications. Firmware updates patch security vulnerabilities, improve hardware stability, enhance device performance, and fix compatibility issues that can affect your entire computing experience. For years, Linux users struggled with firmware updates, often requiring Windows installations or complex vendor-specific tools just to update their BIOS, UEFI, or peripheral firmware.

Fwupd changes this paradigm entirely. This lightweight daemon brings enterprise-grade firmware management directly to Fedora 43, enabling seamless updates without leaving your Linux environment. Through integration with the Linux Vendor Firmware Service (LVFS), fwupd connects users with verified firmware updates from major hardware manufacturers including Dell, Lenovo, HP, Intel, Logitech, and hundreds more.

This comprehensive guide walks you through everything you need to know about installing and using fwupd on Fedora 43. You’ll learn multiple installation methods, master essential commands, troubleshoot common issues, and implement best practices for maintaining your system’s firmware health.

Understanding Fwupd and Firmware Updates in Linux

Firmware serves as the foundational software layer that operates at the hardware level, providing low-level instructions that control how your devices function. Unlike regular software updates that modify applications or the operating system, firmware updates directly modify the code stored in your hardware’s non-volatile memory. This includes your motherboard’s UEFI/BIOS, storage controller firmware, network adapter code, and even peripheral devices like keyboards and webcams.

Fwupd revolutionized Linux firmware management by creating a unified, standardized update mechanism. Before fwupd, updating firmware on Linux required navigating fragmented vendor tools, creating bootable DOS environments, or maintaining dual-boot Windows installations solely for firmware updates. The introduction of fwupd eliminated these cumbersome workflows entirely.

The magic happens through the Linux Vendor Firmware Service (LVFS), a cloud-based repository where hardware manufacturers upload cryptographically signed firmware updates. When you run fwupd on Fedora 43, it communicates with LVFS servers to check for available updates, downloads verified firmware packages, validates cryptographic signatures, and deploys updates either immediately or during the next system boot.

Fwupd integrates seamlessly with both command-line tools through fwupdmgr and graphical interfaces like GNOME Software. This dual approach ensures accessibility for both terminal enthusiasts and users who prefer point-and-click interfaces. Security features include multi-layer verification, payload integrity checks, hardware compatibility validation, and system requirement verification before any firmware touches your hardware.

Prerequisites and System Requirements

Before installing fwupd on Fedora 43, verify that your system meets the necessary requirements. You’ll need a working Fedora 43 installation with a stable internet connection for downloading firmware metadata and update packages. Administrative privileges through sudo access are essential, as firmware operations require elevated permissions.

Storage requirements are minimal. Fwupd itself occupies only a few megabytes, though firmware updates vary in size from hundreds of kilobytes to several hundred megabytes depending on the device. Ensure you have at least 500MB of free space in your /boot/efi partition for UEFI firmware staging.

Hardware compatibility deserves careful consideration. Not all devices support firmware updates through fwupd. Major manufacturers like Dell, Lenovo, and HP provide extensive support for their business-class laptops and workstations. Consumer devices may have more limited support. You can check device compatibility by visiting the LVFS website or running fwupd’s device detection commands after installation.

UEFI-specific requirements apply for BIOS and system firmware updates. Your system must have a properly configured UEFI implementation with an accessible EFI System Partition. Legacy BIOS systems can still use fwupd for peripheral firmware updates but cannot update the system BIOS itself through this mechanism.

Understanding the distinction between device detection and update capability prevents confusion. Fwupd may detect and list devices that cannot receive updates through LVFS. This occurs when manufacturers haven’t published firmware to the repository or when devices use proprietary update mechanisms. Detection simply means fwupd recognizes the hardware; updateability depends on vendor participation in the LVFS ecosystem.

Method 1: Standard Installation via DNF Package Manager

The DNF package manager provides the recommended installation path for fwupd on Fedora 43. This method ensures optimal integration with your system and receives updates through Fedora’s standard repository channels.

Step 1: Update System Packages

Start by refreshing your system to ensure all existing packages are current. Open a terminal and execute:

sudo dnf update

This command synchronizes your local package database with Fedora’s repositories and installs any pending updates. The process may take several minutes depending on how many packages need updating. If kernel updates were installed, reboot your system before proceeding to ensure you’re running on the latest kernel version.

Step 2: Install Fwupd Package

With your system fully updated, install fwupd using the following command:

sudo dnf install fwupd

DNF automatically resolves and installs all required dependencies, including critical libraries like libdbus for inter-process communication, libssl for cryptographic operations, and libudev for hardware device management. The installation typically completes within 30-60 seconds on modern hardware with broadband connections.

This native DNF installation method is specifically optimized for Fedora’s ecosystem, ensuring maximum compatibility and integration with systemd services, SELinux policies, and other distribution-specific components.

Step 3: Verify Installation

Confirm successful installation by checking the installed version:

fwupdmgr --version

Successful output displays version information similar to:

client version: 1.9.x
daemon version: 1.9.x

The version numbers should match, indicating proper communication between the fwupdmgr client and the fwupd daemon.

Step 4: Start and Enable the Service

While fwupd activates automatically when needed through systemd’s on-demand activation, explicitly enabling the service ensures consistent availability:

sudo systemctl start fwupd.service
sudo systemctl enable fwupd.service

The first command starts the daemon immediately. The second configures automatic startup during system boot. Verify the service status:

systemctl status fwupd.service

Look for “active (running)” in the output, confirming the daemon is operational.

Step 5: Initial Metadata Refresh

Synchronize with LVFS to download the latest firmware metadata catalog:

sudo fwupdmgr refresh

This command contacts LVFS servers and downloads an updated database of available firmware packages. You’ll see progress indicators showing metadata download and decompression. The initial refresh may take 1-2 minutes depending on network speed. This metadata enables fwupd to identify available updates for your specific hardware configuration.

Method 2: Alternative Installation via Snap

Snap packages offer an alternative installation pathway with distinct advantages in specific scenarios. Consider the Snap version when you need containerized isolation, automatic background updates, or simplified version management across different Linux distributions.

First, ensure snapd is installed on your Fedora 43 system:

sudo dnf install snapd

Create the classic snap support symlink:

sudo ln -s /var/lib/snapd/snap /snap

Log out and log back in, or reboot your system to update shell paths and environment variables. Then install the fwupd snap:

sudo snap install fwupd

The Snap package contains the complete fwupd stack in a self-contained environment. Advantages include automatic updates managed by snapd, application isolation through sandboxing, and consistent behavior across different distributions. However, the confined environment may introduce permission complications with hardware access, and troubleshooting can be more complex due to the additional abstraction layer.

For most Fedora 43 users, the native DNF installation remains the recommended approach unless specific requirements mandate Snap deployment.

Essential Fwupd Commands and Basic Usage

Mastering fwupdmgr commands unlocks the full potential of firmware management on Fedora 43.

Accessing Help Documentation

Display comprehensive command reference and usage information:

fwupdmgr --help

This outputs all available commands, options, and syntax examples. Reference this whenever you need quick command reminders.

Listing Detected Devices

View all detectable hardware components on your system:

fwupdmgr get-devices

This command queries hardware and displays detailed information including device names, manufacturers, current firmware versions, unique device identifiers, and capability flags. Pay special attention to the “Flags” field, which indicates whether a device supports updates and any special requirements like UEFI capsule support or bootloader mode.

Example output might show:

Device Name: System Firmware
Manufacturer: Dell Inc.
Version: 2.15.0
Flags: updatable, requires-ac-power

The “updatable” flag confirms this device can receive firmware updates through fwupd.

Refreshing Firmware Metadata

Download the latest firmware catalog from LVFS:

sudo fwupdmgr refresh

Run this command periodically to ensure your local database reflects the newest firmware releases. Add the --force flag to bypass caching and force a complete re-download:

sudo fwupdmgr refresh --force

This proves useful when troubleshooting metadata-related issues.

Checking for Available Updates

Identify pending firmware updates for your hardware:

sudo fwupdmgr get-updates

The output displays comprehensive information for each available update: current installed version, new available version, urgency classification, release notes, download size, and any special requirements. Urgency levels (critical, high, medium, low) help prioritize updates, with critical updates addressing severe security vulnerabilities or hardware-damaging bugs.

Installing Firmware Updates

Apply all available firmware updates with a single command:

sudo fwupdmgr update

Fwupd automatically handles the complete update workflow: downloading firmware packages, verifying cryptographic signatures, authenticating update authenticity, installing to appropriate storage locations, and staging for reboot when necessary. Monitor the progress indicators carefully, and never interrupt the process during critical stages.

Performing Firmware Updates Step-by-Step

Successfully updating firmware requires careful preparation and attention to detail.

Pre-Update Preparations

Critical precautions protect against update failures and potential hardware damage. For laptops, connect the AC power adapter before starting any firmware update. Many firmware operations refuse to proceed on battery power alone due to the risk of power loss during critical update stages. Ensure battery charge exceeds 50%, ideally reaching 100% for maximum safety margins.

Backup important data to external storage before major firmware updates, especially BIOS or UEFI updates. While failures are rare with modern update mechanisms, prudent data protection prevents catastrophic losses in worst-case scenarios.

Close unnecessary applications to minimize system activity during updates. Heavy disk or network usage during firmware updates can occasionally cause timeouts or corruption.

Executing the Update Process

Run the comprehensive update command:

sudo fwupdmgr update

Watch the detailed progress indicators for each update stage. You’ll observe downloading showing transfer progress and speed, decompressing as packages are unpacked, authenticating while signatures are verified, preparing as temporary files are staged, and updating during the actual firmware flash operation.

Understanding the difference between live and offline updates prevents confusion. Live updates apply immediately without rebooting and are typical for external USB devices, webcams, keyboards, and similar peripherals. Offline updates require system reboot and are standard for UEFI firmware, embedded controller updates, and other low-level system components.

Handling Post-Update Reboots

UEFI and BIOS updates necessitate system reboots to apply changes. When prompted, save your work and reboot:

sudo reboot

During the restart, expect longer boot times than usual. You’ll see a firmware update screen distinct from your normal Fedora boot process, often displaying manufacturer branding, progress bars, and percentage indicators. This screen appears before GRUB and the operating system load. Some updates complete in seconds; others may require several minutes. Never force power off during this stage.

Verifying Update Success

After rebooting, confirm updates applied correctly:

fwupdmgr get-devices

Check that firmware versions match the expected updated versions. Review the update history to see completed operations:

sudo fwupdmgr get-history

This displays timestamps, device names, version transitions, and update outcomes.

GUI-Based Firmware Updates

Graphical interfaces provide accessible alternatives for users who prefer visual interaction over command-line operations.

GNOME Software Center integrates firmware updates directly into the standard Software application. Launch GNOME Software, navigate to the Updates tab, and look for firmware updates listed separately from application and system updates. Click on firmware entries to view detailed information including device names, version changes, and release notes. The Download and Install buttons initiate the update process with visual progress indicators.

GNOME Firmware Utility offers a dedicated firmware management interface. Install it using:

sudo dnf install gnome-firmware

This specialized tool provides comprehensive device views, detailed version information, historical firmware tracking, and streamlined update workflows. Launch it from your applications menu and browse detected devices. The interface clearly distinguishes between updatable and non-updatable hardware.

KDE Discover serves KDE Plasma users on Fedora 43. Access firmware updates through Discover’s Updates section, which integrates fwupd functionality with KDE’s native design language.

Note important GUI limitations. Graphical tools sometimes provide less detailed error reporting than command-line equivalents. Some users have reported unresponsive download buttons in GNOME Software on Fedora 42 and earlier versions. If you encounter GUI issues, fall back to the reliable command-line methods described previously.

Common Issues and Troubleshooting

Even with fwupd’s mature codebase, occasional issues arise. These troubleshooting techniques resolve the most common problems.

Unresponsive GUI Download Buttons

When firmware update buttons in GNOME Software fail to respond to clicks, bypass the GUI entirely:

sudo fwupdmgr update

This command-line approach circumvents interface bugs while still applying updates successfully.

AC Power Requirement Errors

Firmware updates, particularly for laptops, mandate AC power connections to prevent catastrophic failures from battery depletion. If you receive AC power errors despite being plugged in, verify the connection is secure and the battery is charging. For desktop systems experiencing power fluctuation issues, consider using an uninterruptible power supply (UPS) to guarantee clean power during updates.

Read-only File System Errors

The error “Failed to create ‘/boot/efi/EFI/fedora/fw’: Read-only file system” indicates EFI System Partition mounting problems. Verify the ESP mounts correctly:

mount | grep efi

If missing or mounted read-only, remount with read-write permissions. Check filesystem integrity:

sudo fsck /boot/efi

Sometimes rebooting and immediately running updates before other applications access the ESP resolves transient mounting issues.

UDisks2 Interface Errors

Errors mentioning “FuPluginUefiCapsule failed to mount ESP” with missing UDisks2 interfaces indicate missing system components. Install and restart udisks2:

sudo dnf install udisks2
sudo systemctl restart udisks2

Then retry the firmware update.

Failed Verification or Authentication

When firmware packages fail cryptographic verification, force a metadata refresh:

sudo fwupdmgr refresh --force

Verify your system clock displays the correct time. Certificate validation fails with significant time discrepancies. Check network connectivity to LVFS servers, ensuring firewalls don’t block required connections.

Recovery from Failed Updates

If a firmware update appears frozen or unresponsive, remain calm and resist the urge to force power off. Keep AC power connected for laptops. Wait at least 10-15 minutes before taking action, as some updates include lengthy verification stages with no visible progress. Modern firmware update mechanisms include built-in rollback capabilities that engage automatically if updates fail verification or encounter errors.

Advanced Fwupd Usage

Power users can leverage advanced fwupd features for specialized scenarios.

Downgrading Firmware

When newer firmware versions introduce problems, rollback to previous versions. First, view available firmware releases for a device:

fwupdmgr get-releases DEVICE_ID

Replace DEVICE_ID with the specific identifier from fwupdmgr get-devices. Then downgrade:

sudo fwupdmgr downgrade DEVICE_ID

Note that not all devices support downgrading due to manufacturer restrictions or security policies.

Automating Firmware Updates

Create a systemd timer for automated firmware checks. Create /etc/systemd/system/fwupd-auto-update.timer:

[Unit]
Description=Weekly Firmware Update Check

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target

Create the corresponding service file /etc/systemd/system/fwupd-auto-update.service:

[Unit]
Description=Automatic Firmware Updates

[Service]
Type=oneshot
ExecStart=/usr/bin/fwupdmgr refresh
ExecStart=/usr/bin/fwupdmgr update

Enable the timer:

sudo systemctl enable --now fwupd-auto-update.timer

This configuration automatically checks and applies firmware updates weekly.

Device-Specific Considerations

Thunderbolt devices may require explicit authorization in system security settings before accepting firmware updates. NVMe storage firmware updates occasionally require temporarily disabling secure boot in UEFI settings. Network interface updates should only proceed when the interface isn’t actively handling critical network traffic.

Security Verification

Manually verify firmware integrity using:

fwupdmgr verify DEVICE_ID

For high-security environments, test firmware updates on non-production systems before deploying to critical infrastructure.

Congratulations! You have successfully installed Fwupd. Thanks for using this tutorial for installing Fwupd open-source Linux daemon and framework on Fedora 43 Linux system. For additional help or useful information, we recommend you check the official Fwupd website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button