fwupd/plugins
2019-11-26 17:15:45 +00:00
..
altos Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
amt trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
ata Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
colorhug Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
coreboot trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
csr Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
dell trivial: Set the offline trigger using an environment variable 2019-11-25 09:29:46 +00:00
dell-dock Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
dell-esrt trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
dfu trivial: Allow compiling without <glib-unix.h> 2019-11-26 17:15:45 +00:00
ebitdo Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
emmc Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
fastboot Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
flashrom Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
jabra trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
logitech-hidpp Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
modem-manager trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
nitrokey trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
nvme Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
optionrom trivial: Set the offline trigger using an environment variable 2019-11-25 09:29:46 +00:00
redfish Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
rts54hid Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
rts54hub Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
solokey Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
steelseries trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
superio Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
synaptics-cxaudio trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
synaptics-prometheus synaptics-prometheus: Manually set the bootloader mode when attaching 2019-11-26 14:15:11 +00:00
synaptics-rmi Revert "synaptics-rmi: Use the build ID as the version number to match the vendor tool" 2019-11-26 08:25:45 +00:00
synapticsmst Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
test Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
thelio-io trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
thunderbolt Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
thunderbolt-power Always use the more portable 3-arg form for open() 2019-11-26 14:14:37 +00:00
uefi trivial: Allow compiling without <fnmatch.h> 2019-11-26 13:13:31 +00:00
uefi-recovery trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
upower trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h 2019-11-25 09:29:46 +00:00
vli-usbhub vli_usbhub: Set the composite parent at construction time 2019-11-25 20:01:33 +00:00
wacom-raw Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
wacom-usb Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
meson.build Make gudev a compile-time option 2019-11-25 09:29:46 +00: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.