awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
fwupd avatar

fwupd/fwupd

0
View on GitHub↗
4,036 stars·597 forks·C·LGPL-2.1·14 views

Fwupd

fwupd is a system service for discovering, downloading, and installing hardware firmware updates on Linux. It functions as a firmware distribution client and a hardware device discovery tool that matches system devices against vendor metadata to identify compatible updates. It also serves as a platform security manager to evaluate host security attributes and apply BIOS settings.

The project includes a dedicated manager for UEFI firmware capsules, generating and managing binaries that the system processes during the boot sequence. It provides security frameworks to filter updates using version-based approval and checksum allowlists, ensuring only verified releases are deployed.

The system covers broad capability areas including device management for hardware identification and deployment, and firmware processing for raw binary and archive-based installations. It also implements network-level metadata sharing to reduce bandwidth via local peer-to-peer distribution.

The service utilizes a plugin-based hardware abstraction system to extend support for various device specifications and uses a daemon to orchestrate update states and system access control.

Features

  • Hardware Firmware Updaters - Detects compatible hardware and applies firmware and BIOS updates either immediately or staged for reboot.
  • Firmware Distribution Clients - Functions as a firmware distribution client that synchronizes with vendor metadata to fetch signed binaries.
  • Metadata-Driven - Synchronizes remote XML or JSON metadata stores to map hardware identifiers to compatible firmware versions.
  • Metadata Retrieval - Provides the ability to download latest firmware information from vendor services to identify available updates.
  • Version-Based Filtering - Filters available firmware to a specific list of approved versions to ensure only tested updates are applied.
  • Firmware Deployment Tools - Installs, reinstalls, or downgrades device firmware from remote servers or local archives.
  • Firmware Management - Updates hardware device firmware on Linux systems by fetching metadata and binaries from vendor remotes.
  • Metadata Parsing - Analyzes raw binary files to extract critical metadata like version numbers and chip identifiers.
  • Firmware Repository Synchronization - Aligns local version records with remote vendor service data to identify available software updates.
  • Hardware Device Discovery - Enumerates system hardware and matches device identifiers against vendor metadata to identify compatible updates.
  • Hardware Device Identification - Enumerates system devices and searches for compatible firmware updates using unique identifiers and vendor names.
  • Device Protocol Abstractions - Uses a modular plugin system to implement device-specific communication protocols for reading and writing firmware.
  • Firmware Checksum Verifications - Verifies the integrity and authenticity of firmware binaries by matching cryptographic hashes against approved allowlists.
  • Checksum Allowlists - Restricts installable firmware to a specific list of approved checksums to ensure only verified releases are deployed.
  • UEFI Capsule Management - Generates boot-time binaries that the system firmware processes during the early boot sequence for low-level updates.
  • UEFI Capsule Updates - Provides a dedicated manager for generating and managing UEFI firmware capsules for boot-time updates.
  • UEFI Update Integration - Generates UEFI binaries and manages capsule splash support to update firmware during the boot process.
  • Platform Security Management - Evaluates host security attributes, applies fixes to security failures, and modifies BIOS firmware settings.
  • Platform Security Managers - Evaluates host security attributes and applies BIOS settings or security fixes to the system platform.
  • Plugin-Based Device Support - Allows the addition of new plugin types to read and write firmware for various hardware specifications.
  • Approved Checksum Filtering - Restricts available hardware updates to an approved list of checksums to ensure only verified versions are installed.
  • UEFI Capsule Managers - Generates and manages UEFI binaries used to perform firmware updates during the boot process.
  • Hardware Lifecycle Tracking - Tracks firmware versions and applies updates or downgrades to ensure hardware stays compatible and secure.
  • Local Firmware Metadata Sharing - Publishes downloaded firmware metadata to the local network via mDNS or LLMNR to reduce external bandwidth.
  • Peer Metadata Exchanges - Re-publishes downloaded firmware metadata on the local network so other clients can retrieve updates.
  • Plugin Coordinators - Implements a coordination mechanism that allows different hardware plugins to share metadata and resolve dependencies during the update process.
  • Raw Binary Firmware Installation - Writes raw binary firmware files directly to target hardware using specific device identifiers.
  • Inter-Daemon Message Bus - Communicates between the system daemon and session software using a standardized D-Bus inter-process communication framework.
  • Staged Update Orchestration - Manages the lifecycle of updates through staged states to handle dependencies and required system reboots.
  • Hardware Compatibility Mapping - Retrieves a detailed list of hardware devices supported by plugins including unique identifiers and versions.

Star history

Star history chart for fwupd/fwupdStar history chart for fwupd/fwupd

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Fwupd

These projects share indexed features with Fwupd. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • seerge/g-helperseerge avatar

    seerge/g-helper

    12,235View on GitHub↗

    G-helper is a system utility designed for the management and optimization of ASUS laptop hardware. It functions as a background service that interfaces directly with kernel-level drivers and ACPI tables to provide granular control over device performance, thermal profiles, and power states. The utility distinguishes itself by offering automated firmware orchestration, which handles the retrieval and verification of manufacturer-signed updates to maintain system stability. It also provides specialized hardware control, including the ability to toggle between integrated and dedicated graphics m

    C#allyamdarmoury
    View on GitHub↗12,235
  • tinygo-org/tinygotinygo-org avatar

    tinygo-org/tinygo

    17,529View on GitHub↗

    TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re

    Goadafruitarduinoarm
    View on GitHub↗17,529
  • arendst/tasmotaarendst avatar

    arendst/Tasmota

    24,502View on GitHub↗

    Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and management of smart home hardware. It functions as an event-driven automation controller that replaces proprietary factory firmware, allowing users to manage relays, sensors, and lighting systems without relying on external cloud services. The system is built on a modular driver architecture that enables dynamic hardware configuration and peripheral support through a web-based management interface. The platform distinguishes itself through a template-driven hardware mapping s

    Carduinoautomationesp32
    View on GitHub↗24,502
  • petoicamp/opencat-quadruped-robotPetoiCamp avatar

    PetoiCamp/OpenCat-Quadruped-Robot

    4,891View on GitHub↗

    OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides a comprehensive environment for quadruped robot development, featuring tools for locomotion gait design, inverse kinematics, and a layered control architecture that separates high-level intelligence from low-level motion. The project distinguishes itself as an embedded AI deployment tool, allowing users to train, quantize, and deploy machine learning models to vision modules for tasks such as object detection and visual target tracking. It further supports complex human-robot

    C++aiarduinoblock-coding
    View on GitHub↗4,891
Compare all 30 related projects→

Frequently asked questions

What does fwupd/fwupd do?

fwupd is a system service for discovering, downloading, and installing hardware firmware updates on Linux. It functions as a firmware distribution client and a hardware device discovery tool that matches system devices against vendor metadata to identify compatible updates. It also serves as a platform security manager to evaluate host security attributes and apply BIOS settings.

What are the main features of fwupd/fwupd?

The main features of fwupd/fwupd are: Hardware Firmware Updaters, Firmware Distribution Clients, Metadata-Driven, Metadata Retrieval, Version-Based Filtering, Firmware Deployment Tools, Firmware Management, Metadata Parsing.

Which projects share features with fwupd/fwupd?

Projects with overlapping indexed features include: seerge/g-helper — G-helper is a system utility designed for the management and optimization of ASUS laptop hardware. It functions as a… tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… arendst/tasmota — Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and… petoicamp/opencat-quadruped-robot — OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides… greatscottgadgets/hackrf — This project is a software-defined radio platform designed to capture, analyze, and broadcast radio frequency signals… immortalwrt/immortalwrt — ImmortalWrt is an embedded network operating system for routers and network hardware. Built as a Linux distribution…