fwupd/plugins
2022-05-26 10:50:54 +01:00
..
acpi-dmar trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
acpi-facp trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
acpi-ivrs trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
acpi-phat trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
amt Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
analogix trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
ata trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
bcm57xx trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
bios trivial: disable bios plugin for Win32 2022-05-09 15:54:51 -05:00
ccgx Allow a plugin to only use the RemoveDelay when waiting for replug 2022-05-24 19:52:04 +01:00
cfu Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
ch341a ch341a: Remove unused variable 2022-04-23 10:28:16 +01:00
colorhug Allow a plugin to only use the RemoveDelay when waiting for replug 2022-05-24 19:52:04 +01:00
corsair corsair: add support for new devices 2022-05-26 09:21:35 +01:00
cpu trivial: CPU: Mark AMD as supported 2022-04-12 12:23:16 -05:00
cros-ec trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
dell dell: Don't use 'dongle' to describe hardware 2022-05-23 14:56:45 +01:00
dell-dock Specify an enumerated problem when inhibiting devices 2022-05-19 13:09:03 -05:00
dell-esrt Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
dfu dfu: Fix a trivial memory leak introduced in the last commit 2022-05-12 11:58:22 +01:00
dfu-csr trivial: Add fu_common_read_uint24() helper for future code 2022-04-28 14:18:30 +01:00
ebitdo Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
elanfp trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
elantp Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
emmc Allow devices to build instance IDs more easily 2022-03-03 09:13:29 +00:00
ep963x Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
fastboot Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
flashrom trivial: Fix a critical warning when no flashrom devices are found 2022-05-10 10:39:04 +01:00
fresco-pd trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
genesys Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
goodix-moc goodix-moc: Mark as signed payload 2022-03-06 12:06:21 +00:00
gpio Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
hailuck trivial: Convert more things to fu_progress_step_done() 2022-04-01 21:46:04 -05:00
intel-spi trivial: Fix -Wunused-variable compile warning 2022-05-10 13:12:10 +01:00
iommu Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
jabra Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
lenovo-thinklmi trivial: lenovo-thinklmi: disable plugin build outside linux 2022-05-05 11:51:22 -05:00
linux-lockdown trivial: linux-lockdown: Check kernel supports lockdown 2022-04-03 09:06:00 -05:00
linux-sleep Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
linux-swap trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
linux-tainted trivial: Cast the g_signal_connect() object to allow static analysis 2022-01-03 22:46:23 +00:00
logind Add FuProgress to ->prepare and ->cleanup 2022-04-15 16:50:06 +01:00
logitech-bulkcontroller logitech-bulkcontroller: Mark as signed payload 2022-03-17 20:46:43 +00:00
logitech-hidpp logitech-hidpp: Don't use 'dongle' to describe hardware 2022-05-23 14:56:45 +01:00
modem-manager modem-manager: Fix one critical warning when updating 2022-05-26 10:50:54 +01:00
msr trivial: msr: align the unencrypted RAM failures to match that of psp plugin 2022-04-12 12:23:16 -05:00
mtd trivial: skip mtd tests if not working off mtdram test device 2022-05-16 11:22:30 -05:00
nitrokey Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
nordic-hid Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
nvme nvme: Add signed-payload for Western Digital hardware 2022-03-30 08:19:22 +01:00
optionrom Do not fallback to audio-card 2022-04-25 14:49:30 +01:00
parade-lspcon Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
pci-bcr Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
pci-mei Make the HSI tests optional for embedded targets 2021-11-29 09:30:57 +00:00
pci-psp trivial: pci_psp: test an attribute to declare missing data 2022-04-14 01:39:22 -05:00
pixart-rf Add device icon usb-receiver 2022-05-23 14:56:45 +01:00
platform-integrity Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
powerd Move the battery attributes down into libfwupd 2022-05-18 07:16:07 +01:00
realtek-mst Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
redfish redfish: Be more resilient when restarting the BMC 2022-05-24 14:45:56 +01:00
rts54hid Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
rts54hub Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
scsi Specify an enumerated problem when inhibiting devices 2022-05-19 13:09:03 -05:00
steelseries trivial: steelseries: Fix indentation violation 2022-05-24 06:43:02 -04:00
superio Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
synaptics-cape synaptics-cape: Don't use 'dongle' to describe hardware 2022-05-23 14:56:45 +01:00
synaptics-cxaudio trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
synaptics-mst Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
synaptics-prometheus synaptics-prometheus: Add a sanity check to fix a fuzzing failure 2022-04-28 07:24:00 +01:00
synaptics-rmi trivial: Fix some 'Comparison of narrow type with wide type in loop condition' 2022-04-05 14:45:42 +01:00
system76-launch Add System76 launch_lite_1 2022-03-31 19:01:11 +01:00
test Show devices that are updatable and payload signing is still unknown 2022-03-02 15:33:42 +00:00
thelio-io Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
thunderbolt Do not run some tests using -Db_sanitize=address 2022-05-24 08:24:24 +01:00
tpm trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
uefi-capsule trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
uefi-dbx trivial: Ignore the return value of setenv() in most cases 2022-04-13 15:08:12 +01:00
uefi-pk Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
uefi-recovery trivial: uefi-recovery: don't build on Windows 2022-05-05 15:38:43 -05:00
uf2 Mark more devices as CAN_VERIFY_IMAGE 2022-04-01 21:46:04 -05:00
upower Move the battery attributes down into libfwupd 2022-05-18 07:16:07 +01:00
usi-dock usi-dock: Mark as signed payload 2022-03-07 12:40:04 +00:00
vli trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
wacom-raw Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
wacom-usb wacom-usb: Fix a timeout when parsing very corrupt firmware 2022-04-28 07:24:00 +01:00
meson.build Add new plugin for AMD PSP 2022-04-12 12:23:16 -05: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.