fwupd/plugins
2022-01-27 06:25:13 +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: Added 3 new supported devices 2022-01-27 06:25:13 +00:00
ata Check the value range when parsing the quirk keys 2021-12-09 13:09:43 +00: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 Allow patching firmware files at known offsets 2022-01-05 09:51:45 +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 Show why devices are not marked as updatable 2022-01-13 12:40:56 +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 modem-manager: Only try to get the branch if there exists an AT port 2022-01-19 20:06:25 +00:00
msr msr: make tsme security attribute match kernel doc more closely 2022-01-20 06:52:51 -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: fix the bootloader type detection 2022-01-20 03:16:47 +03:00
nvme nvme: ignore non-PCI NVMe devices 2021-12-29 11:13:55 -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: Change an expired password when required 2022-01-19 21:19:01 +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 Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00: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 retimer NVM version 2022-01-14 18:04:13 +00:00
tpm trivial: Do not abort with a critical warning for a weird TPM event log 2022-01-11 20:14:21 +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 trivial: Change some problematic language that crept in 2022-01-20 08:54:31 +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.