fwupd/plugins
2022-02-09 14:20:55 +00:00
..
acpi-dmar Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
acpi-facp Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
acpi-phat Make more plugins optional 2021-11-29 09:30:57 +00:00
amt Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
analogix analogix: Do not hardcode the device vendor 2022-01-27 06:25:13 +00:00
ata trivial: use src directory for quirks for ata and nvme plugins 2022-02-03 09:40:12 -06:00
bcm57xx Make more plugins optional 2021-11-29 09:30:57 +00:00
bios Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ccgx Show why devices are not marked as updatable 2022-01-13 12:40:56 +00:00
cfu cfu: Add a missing version setter 2021-12-10 15:58:22 +00:00
colorhug Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
cpu trivial: Add the missing plugin_cpu 2021-12-10 12:00:33 +00:00
cros-ec cros-ec: Add progress completion when writing blocks 2022-01-07 07:24:08 +00:00
dell trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
dell-dock dell-dock: fix a segfault if device isn't added yet 2022-01-23 17:53:51 +00:00
dell-esrt Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
dfu dfu: Downgrade a trivial harmless warning to debug 2022-02-08 11:56:20 +00:00
dfu-csr Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ebitdo trivial: Do not match the legacy bootloader VID/PID 2022-01-17 15:41:04 +00:00
elanfp Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
elantp Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
emmc Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
ep963x Make more plugins optional 2021-11-29 09:30:57 +00:00
fastboot Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
flashrom plugins/flashrom: add quirk for NovaCustom NV4x 2022-02-01 14:15:45 +00:00
fresco-pd Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
goodix-moc Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
hailuck Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
intel-spi Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
iommu Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
jabra Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
lenovo-thinklmi trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-lockdown trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-sleep Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
linux-swap trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
linux-tainted trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
logind Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
logitech-bulkcontroller Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
logitech-hidpp logitech-hidpp: Always hardcode the vendor for FuLogitechHidPpDevice 2022-01-06 19:23:58 +00:00
modem-manager trivial: Fix a warning in the latest clang release 2022-01-31 14:36:38 +00:00
msr Drop the AMD SME check for security attributes (Fixes: #4176) 2022-02-04 10:41:47 -06:00
mtd Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
nitrokey Make more plugins optional 2021-11-29 09:30:57 +00:00
nordic-hid plugins/nordic-hid: extend the doc with tested HW 2022-02-04 13:46:59 +03:00
nvme trivial: use src directory for quirks for ata and nvme plugins 2022-02-03 09:40:12 -06:00
optionrom Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
parade-lspcon parade-lspcon: Add a missing error check 2021-12-10 15:58:39 +00:00
pci-bcr Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
pci-mei Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
pixart-rf Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
platform-integrity Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
powerd trivial: Fix various const issues 2022-01-03 22:46:23 +00:00
realtek-mst Show why devices are not marked as updatable 2022-01-13 12:40:56 +00:00
redfish redfish: Be more robust by retrying IPMI transactions 2022-02-01 16:18:28 +00:00
rts54hid Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
rts54hub trivial: Change some problematic language that crept in 2022-01-20 08:54:31 +00:00
steelseries Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
superio trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
synaptics-cape Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
synaptics-cxaudio Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
synaptics-mst trivial: synaptics-mst: use environment for quirk override location 2022-02-03 09:40:12 -06:00
synaptics-prometheus Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
synaptics-rmi Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
system76-launch Add fu_usb_device_add_interface() for plugins to use 2022-01-04 22:05:37 +00:00
test Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
thelio-io Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
thunderbolt thunderbolt: Set the update timeout if required 2022-02-07 14:25:58 +00:00
tpm tpm: Fix a critical warning when loading an empty TPM eventlog item 2022-02-09 14:20:55 +00:00
uefi-capsule fu-uefi-common.h: Fix efivar compatibility with FreeBSD 2022-01-21 16:24:37 +00:00
uefi-dbx trivial: fix man page sections 2022-01-04 14:17:43 -06:00
uefi-pk Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
uefi-recovery Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
uf2 Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
upower trivial: Fix up some clang-format issues that snuck in recently 2022-01-06 17:04:34 +00:00
usi-dock trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
vli vli: Set the progress values for the MSP430 update 2022-02-07 14:21:01 +00:00
wacom-raw Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00:00
wacom-usb trivial: Add some more annotations for language bindings 2022-01-03 22:46:23 +00:00
meson.build Add support for UF2 devices 2021-12-21 10:06:18 +00:00
README.md Rename the development branch from master to main 2021-09-24 14:20:24 -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/main/libfwupdplugin/fu-device-metadata.h

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