fwupd/plugins
2020-08-28 10:48:03 -07:00
..
acpi-dmar Install the installed tests 2020-08-28 10:10:43 -05:00
acpi-facp Install the installed tests 2020-08-28 10:10:43 -05:00
altos Allow removing device flags from quirk files 2020-04-13 23:18:19 +01:00
amt Revert "amt: Add a security attestation for provisioning" 2020-05-22 15:13:19 +01:00
ata Install the installed tests 2020-08-28 10:10:43 -05:00
bios Add a new plugin for legacy BIOS 2020-06-22 11:22:18 +01:00
ccgx trivial: fix some unused variables found by clang-10 2020-08-10 10:33:31 -05:00
colorhug Change all instances of master/slave to initiator/target 2020-07-01 15:44:30 +01:00
coreboot Decouple the version format from the version itself 2020-02-25 14:00:09 +00:00
cpu cpu: Directly probe the CPUID data to improve startup speed 2020-08-24 16:37:27 +01:00
cros-ec cros-ec: Set FWUPD_DEVICE_FLAG_DUAL_IMAGE 2020-08-28 10:48:03 -07:00
csr Remove potentially problematic language 2020-06-30 17:31:17 +01:00
dell Remove potentially problematic language 2020-06-30 17:31:17 +01:00
dell-dock trivial: dell-dock: check for valid dock type on open 2020-08-28 09:53:54 -05:00
dell-esrt Remove potentially problematic language 2020-06-30 17:31:17 +01:00
dfu trivial: Fix segfault when xmlb cache cannot be written 2020-08-28 17:41:28 +01:00
ebitdo Remove potentially problematic language 2020-06-30 17:31:17 +01:00
emmc Decouple the version format from the version itself 2020-02-25 14:00:09 +00:00
ep963x Fix various build issues with -Wdiscarded-qualifiers 2020-05-07 16:15:30 +01:00
fastboot trivial: Fix incorrect comment text 2020-06-19 10:59:16 +01:00
flashrom Decouple the version format from the version itself 2020-02-25 14:00:09 +00:00
fresco-pd trivial: Fix a potential NULL deref spotted by Coverity 2020-04-27 16:12:55 +01:00
iommu Allow client tools to translate the HSI attributes and results 2020-05-18 17:03:49 +01:00
jabra Only auto-add counterpart GUIDs when required 2020-04-08 13:55:39 +01:00
linux-lockdown Allow client tools to translate the HSI attributes and results 2020-05-18 17:03:49 +01:00
linux-sleep Allow client tools to translate the HSI attributes and results 2020-05-18 17:03:49 +01:00
linux-spi-lpc pcr-bpc: Don't show the 'Not found' message for BLE and SMM_BWP 2020-05-18 15:43:23 -05:00
linux-swap Install the installed tests 2020-08-28 10:10:43 -05:00
linux-tainted Allow client tools to translate the HSI attributes and results 2020-05-18 17:03:49 +01:00
logind logind: Fix trivial memory leak at startup 2020-06-22 15:55:02 +01:00
logitech-hidpp trivial: logitech_hidpp: set the protocol properly when bootloader unknown 2020-06-02 10:27:13 -05:00
modem-manager modem-manager: add support for compiling libqmi-glib 1.26.0 and later 2020-06-23 15:21:09 -05:00
msr cpu: Directly probe the CPUID data to improve startup speed 2020-08-24 16:37:27 +01:00
nitrokey Install the installed tests 2020-08-28 10:10:43 -05:00
nvme Install the installed tests 2020-08-28 10:10:43 -05:00
optionrom Install the installed tests 2020-08-28 10:10:43 -05:00
pci-bcr pcb-bcr: Use the correct BCR register for Bay Trail CPUs 2020-08-20 22:07:05 +01:00
pci-mei Add some of the HSI specification to the generated documentation 2020-08-17 20:23:49 +01:00
redfish Install the installed tests 2020-08-28 10:10:43 -05:00
rts54hid fix alignment (in the code) 2020-07-01 21:11:17 +01:00
rts54hub trivial: Document the use of vendor-id in each plugin 2019-12-11 18:10:44 +00:00
solokey Decouple the version format from the version itself 2020-02-25 14:00:09 +00:00
steelseries Decouple the version format from the version itself 2020-02-25 14:00:09 +00:00
superio trivial: Fix the quirk entry for the Star LabTop Mk IV 2020-07-30 15:13:00 +01:00
synaptics-cxaudio synaptics-cxaudio: Use the ->attach() device vfunc 2020-04-15 12:36:11 +01:00
synaptics-mst Install the installed tests 2020-08-28 10:10:43 -05:00
synaptics-prometheus Install the installed tests 2020-08-28 10:10:43 -05:00
synaptics-rmi synaptics-rmi: Essentially blacklist Dell K12A 2020-05-14 13:14:39 +01:00
test Decouple the version format from the version itself 2020-02-25 14:00:09 +00:00
thelio-io thelio-io: Define the protocol on the runtime device 2020-07-25 09:09:24 +01:00
thunderbolt trivial: Fix CI -Werror=null-dereference false positive 2020-08-13 13:41:43 +01:00
tpm Allow client tools to translate the HSI attributes and results 2020-05-18 17:03:49 +01:00
tpm-eventlog Install the installed tests 2020-08-28 10:10:43 -05:00
uefi uefi: Port the plugin to use FuVolume 2020-08-12 18:35:15 +01:00
uefi-dbx Install the installed tests 2020-08-28 10:10:43 -05:00
uefi-recovery Decouple the version format from the version itself 2020-02-25 14:00:09 +00:00
upower trivial: Spelling fixes from codespell 2020-06-18 20:49:12 +01:00
vli Install the installed tests 2020-08-28 10:10:43 -05:00
wacom-raw wacom-raw: fixup switching to bootloader mode 2020-04-28 10:19:38 -05:00
wacom-usb Install the installed tests 2020-08-28 10:10:43 -05:00
meson.build msr: Add a new plugin to detect the Intel DCI state 2020-07-16 20:13:06 +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.