fwupd/plugins
2021-03-05 09:47:38 +00:00
..
acpi-dmar Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
acpi-facp Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
altos Simplify the quirk file format 2021-03-03 08:30:34 +00:00
amt Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
ata Simplify the quirk file format 2021-03-03 08:30:34 +00:00
bcm57xx Simplify the quirk file format 2021-03-03 08:30:34 +00:00
bios Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
ccgx ccgx: Align the CCGX DMC firmware to 64 byte chunks 2021-03-03 14:29:29 +00:00
colorhug Simplify the quirk file format 2021-03-03 08:30:34 +00:00
cpu Simplify the quirk file format 2021-03-03 08:30:34 +00:00
cros-ec Simplify the quirk file format 2021-03-03 08:30:34 +00:00
dell Simplify the quirk file format 2021-03-03 08:30:34 +00:00
dell-dock Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
dell-esrt Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
dfu Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
dfu-csr Simplify the quirk file format 2021-03-03 08:30:34 +00:00
ebitdo Simplify the quirk file format 2021-03-03 08:30:34 +00:00
elantp elantp: Write the firmware in a slightly safer way 2021-03-05 09:47:38 +00:00
emmc Simplify the quirk file format 2021-03-03 08:30:34 +00:00
ep963x Simplify the quirk file format 2021-03-03 08:30:34 +00:00
fastboot Simplify the quirk file format 2021-03-03 08:30:34 +00:00
flashrom Updated StarLabs guids 2021-03-04 17:56:43 +00:00
fresco-pd Simplify the quirk file format 2021-03-03 08:30:34 +00:00
goodix-moc Simplify the quirk file format 2021-03-03 08:30:34 +00:00
hailuck Simplify the quirk file format 2021-03-03 08:30:34 +00:00
iommu Simplify the quirk file format 2021-03-03 08:30:34 +00:00
jabra Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
linux-lockdown Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
linux-sleep Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
linux-swap Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
linux-tainted Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
logind Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
logitech-hidpp Simplify the quirk file format 2021-03-03 08:30:34 +00:00
modem-manager Simplify the quirk file format 2021-03-03 08:30:34 +00:00
msr Simplify the quirk file format 2021-03-03 08:30:34 +00:00
nitrokey Simplify the quirk file format 2021-03-03 08:30:34 +00:00
nvme Simplify the quirk file format 2021-03-03 08:30:34 +00:00
optionrom trivial: Remove unused source file 2021-03-05 09:42:27 +00:00
pci-bcr Updated StarLabs guids 2021-03-04 17:56:43 +00:00
pci-mei Simplify the quirk file format 2021-03-03 08:30:34 +00:00
pixart-rf pixart: Workaround a HIDIOCGFEATURE bug and/or regression 2021-03-03 15:36:42 +00:00
platform-integrity Simplify the quirk file format 2021-03-03 08:30:34 +00:00
redfish Support more than one protocol for a given device 2021-03-01 16:14:36 +00:00
rts54hid Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
rts54hub Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
solokey Simplify the quirk file format 2021-03-03 08:30:34 +00:00
steelseries Simplify the quirk file format 2021-03-03 08:30:34 +00:00
superio Updated StarLabs guids 2021-03-04 17:56:43 +00:00
synaptics-cxaudio Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
synaptics-mst Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
synaptics-prometheus Simplify the quirk file format 2021-03-03 08:30:34 +00:00
synaptics-rmi synaptics-rmi: Fix firmware update of pointing device on Lenovo ThinkPad Nano 2021-03-03 16:07:05 +00:00
system76-launch Simplify the quirk file format 2021-03-03 08:30:34 +00:00
test Simplify the quirk file format 2021-03-03 08:30:34 +00:00
thelio-io Simplify the quirk file format 2021-03-03 08:30:34 +00:00
thunderbolt Simplify the quirk file format 2021-03-03 08:30:34 +00:00
tpm Simplify the quirk file format 2021-03-03 08:30:34 +00:00
tpm-eventlog tpm-eventlog: Fix a possible crash if not using _new() 2021-02-18 16:56:40 +00:00
uefi-capsule Simplify the quirk file format 2021-03-03 08:30:34 +00:00
uefi-dbx Support more than one protocol for a given device 2021-03-01 16:14:36 +00:00
uefi-pk Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
uefi-recovery Simplify the quirk file format 2021-03-03 08:30:34 +00:00
upower Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
vli Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
wacom-raw Be more strict for custom quirk keys 2021-03-03 08:30:34 +00:00
wacom-usb Simplify the quirk file format 2021-03-03 08:30:34 +00:00
meson.build Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +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.