fwupd/plugins
James Beddek d7bedc20af synaptics-rmi: fix meson configure when building tests
if synaptics-rmi is disabled and gnutls is not used, the configure fails

move the synaptics-rmi test check behind the "plugin_synaptics_rmi" option
2021-10-30 07:16:57 -05:00
..
acpi-dmar Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
acpi-facp Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
acpi-phat Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
altos Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
amt trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
analogix Lower the GUsb dep to allow compiling on RHEL-8 2021-09-24 06:50:59 -05:00
ata Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
bcm57xx Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
bios trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
ccgx Add support for HP Thunderbolt Dock G4 2021-10-29 18:33:15 +01:00
cfu cfu: Add an initial outline CFU plugin 2021-10-15 18:38:36 +01:00
colorhug Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
cpu trivial: Do not use deprecated GLib API 2021-09-10 15:02:46 +01:00
cros-ec Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
dell Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
dell-dock dell-dock:Add atomic support 2021-10-28 19:32:22 +08:00
dell-esrt trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
dfu Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
dfu-csr Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
ebitdo Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
elanfp Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
elantp Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
emmc Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
ep963x Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
fastboot Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
flashrom Fix build error when sys/io.h is not available 2021-10-06 20:38:43 +01:00
fresco-pd Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
goodix-moc Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
hailuck Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
intel-spi plugins/intel-spi: Add Union Point to SPI quirk 2021-09-24 15:21:24 +01:00
iommu trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
jabra Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
lenovo-thinklmi Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
linux-lockdown trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
linux-sleep trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
linux-swap linux-swap: Fix a trivial memory leak in the self tests 2021-10-27 19:08:20 +01:00
linux-tainted trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
logind trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
logitech-bulkcontroller logitech-bulkcontroller: Fix a potential NULL dereference on error 2021-10-27 15:57:53 +01:00
logitech-hidpp logitech-hidpp: Fix a small memory leak at startup 2021-10-27 15:57:53 +01:00
modem-manager modem-manager: Add the logic of inhibiting modemmanager device in mbim-qdu 2021-10-25 09:23:44 +01:00
msr trivial: msr: only run if /dev/cpu is present 2021-09-16 06:44:11 -05:00
nitrokey trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
nvme Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
optionrom trivial: Do not use g_assert() in self test code 2021-09-24 22:20:21 +01:00
parade-lspcon parade-lspcon: Add missing parent finalizer 2021-10-27 15:57:53 +01:00
pci-bcr Allow adding GUIDs to each HSI security attr 2021-09-03 22:03:28 +01:00
pci-mei Allow adding GUIDs to each HSI security attr 2021-09-03 22:03:28 +01:00
pixart-rf pixart-rf: Don't show the HID report unless debugging the plugin 2021-10-27 15:57:53 +01:00
platform-integrity trivial: platform-integrity: remove an unused variable 2021-09-03 15:10:38 -05:00
powerd migrate powerd plugin from method call to signal 2021-08-12 17:01:13 +01:00
realtek-mst Add fu_usb_device_new_with_context() helpers 2021-10-15 15:59:34 +01:00
redfish Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
rts54hid rts54hid: Use correct PID for test device 2021-10-08 10:29:21 +01:00
rts54hub rts54hub: Use demo firmware on the evaluation board for the tests 2021-10-13 20:07:15 +08:00
solokey Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
steelseries steelseries: add Stratus gamepads support 2021-10-19 18:34:51 +03:00
superio superio: Add missing parent finalizer 2021-10-27 15:57:53 +01:00
synaptics-cape Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
synaptics-cxaudio synaptics-cxaudio: Use accurate FuProgress steps 2021-09-13 14:28:15 +01:00
synaptics-mst Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
synaptics-prometheus Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
synaptics-rmi synaptics-rmi: fix meson configure when building tests 2021-10-30 07:16:57 -05:00
system76-launch Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
test Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
thelio-io Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
thunderbolt thunderbolt: Fix a small memory leak at startup 2021-10-27 15:57:53 +01:00
tpm Allow adding GUIDs to each HSI security attr 2021-09-03 22:03:28 +01:00
tpm-eventlog Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
uefi-capsule Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
uefi-dbx Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead 2021-10-21 18:36:22 +01:00
uefi-pk Allow adding GUIDs to each HSI security attr 2021-09-03 22:03:28 +01:00
uefi-recovery trivial: uefi-recovery: only run the plugin if efivar is available 2021-09-16 06:44:27 -05:00
upower trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
vli Share the Common Flash Memory Interface quirks between plugins 2021-10-20 12:19:39 +01:00
wacom-raw Allow using a per-device global percentage completion 2021-09-13 14:28:15 +01:00
wacom-usb wacom-usb: Fix a potentially unsafe memcpy() 2021-10-27 15:57:53 +01:00
meson.build cfu: Add an initial outline CFU plugin 2021-10-15 18:38:36 +01: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.