Getting the code

The latest fwupd code is always available at GitHub and this is also the place to file bugs or feature requests. You can trivially get the code by doing:

$ git clone

You can also install all the required dependencies using:

$ sudo dnf install docbook-utils gettext intltool libgudev1-devel \
                   colord-devel polkit-devel libgcab1-devel \
                   sqlite-devel gpgme-devel fwupdate-devel libsoup-devel


The 'client' which is typically gnome-software or fwupdmgr interacts with the daemon using D-DBus using PolicyKit. The daemon has no network access and only acts as the mechanism for clients.

fwupd is implemented as a D-Bus activated service that is autostarted when required.


Although we already support many different methods of updating firmware we're happy to accept patches for vendor-specific protocols. The plugin loader requires the plugin to obtain the list of attached hardware and assign a model-specific GUID value to each device.