fwupd/plugins
2019-10-10 16:53:44 +01:00
..
altos Read firmware back from the device as a FuFirmware 2019-10-10 11:57:48 +01:00
amt Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
ata trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
colorhug trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
csr Read firmware back from the device as a FuFirmware 2019-10-10 11:57:48 +01:00
dell Remove FU_PLUGIN_RULE_REQUIRES_QUIRK as all the plugins now use it 2019-10-09 20:02:16 +01:00
dell-dock trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
dell-esrt uefi, dell-esrt: Show firmware version when capsule updates unavailable 2019-09-19 15:48:39 +01:00
dfu dfu: Remove functionality you can do now with fwupdtool 2019-10-10 16:53:44 +01:00
ebitdo ebitdo: Use klass_device->write_firmware like other plugins 2019-10-09 20:02:16 +01:00
fastboot trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
flashrom flashrom: Only show DEBUG and DEBUG2 output if using --plugin-verbose=flashrom 2019-07-12 09:22:38 -07:00
modem-manager trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
nitrokey trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
nvme trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
optionrom Read firmware back from the device as a FuFirmware 2019-10-10 11:57:48 +01:00
redfish trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
rts54hid trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
rts54hub trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
solokey trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
steelseries trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
superio Read firmware back from the device as a FuFirmware 2019-10-10 11:57:48 +01:00
synaptics-cxaudio trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
synaptics-prometheus trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
synaptics-rmi trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
synapticsmst trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
test Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
thelio-io trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
thunderbolt thunderbolt: recognize new 'generation' sysfs attribute 2019-10-09 10:25:37 -04:00
thunderbolt-power thunderbolt-power: avoid checking for bolt support 2019-10-04 08:16:28 -05:00
uefi trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
uefi-recovery uefi-recovery: Add a plugin to add a fake ESRT entry for device recovery 2019-09-11 12:47:31 +01:00
unifying trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
upower Add a specific error code for the low battery case 2019-07-11 09:31:34 -07:00
wacom-raw trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
wacom-usb trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
meson.build Rename and modernize the udev plugin 2019-10-09 14:59:54 +01:00
README.md trivial: plugins: clarify stance on afuefi.efi 2019-08-23 10:54:58 -05:00

Adding a new plugin

An extensible architecture allows for providing new plugin types (for reading and writing different firmware) as well as ways quirk their behavior.

You can find more information about the architecture in the developers section of the fwupd website.

You can use the fwupd developer documentation to assist with APIs available to write the plugin.

If you have a firmware specification and would like to see support in this project, please file an issue and share the spec. Patches are also welcome.

We will not accept plugins that upgrade hardware using a proprietary Linux executable, proprietary UEFI executable, proprietary library, or DBus interface.

Plugin interaction

Some plugins may be able to influence the behavior of other plugins. This includes things like one plugin turning on a device, or providing missing metadata to another plugin.

The ABI for these interactions is defined in: https://github.com/fwupd/fwupd/blob/master/src/fu-device-metadata.h

All interactions between plugins should have the interface defined in that file.