fwupd/plugins
2022-06-30 12:13:19 +08:00
..
acpi-dmar trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
acpi-facp facp: Downgrade a warning about missing FACP 2022-06-29 16:44:18 +01:00
acpi-ivrs trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
acpi-phat Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
amt trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
analogix Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
ata Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
bcm57xx Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
bios trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
ccgx Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
cfu trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
ch341a trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
colorhug trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
corsair corsair: remove support for some devices 2022-06-23 20:05:43 +01:00
cpu trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
cros-ec Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
dell trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
dell-dock dell-dock: update doc to clarify the inhibition of usb4 device 2022-06-30 12:13:19 +08:00
dell-esrt trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
dfu dfu: Add Force-Detach to bypass audio/video streaming check 2022-06-29 15:14:03 +01:00
dfu-csr Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
ebitdo Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
elanfp Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
elantp Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
emmc Add eMMC guids to include FW version 2022-06-22 15:58:57 +01:00
ep963x Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
fastboot Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
flashrom trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
fresco-pd Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
genesys Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
goodix-moc trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
gpio trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
hailuck Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
intel-spi trivial: Some clang-format fixups 2022-06-22 15:55:32 +01:00
iommu Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
jabra trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
lenovo-thinklmi trivial: Fix self test failure on ppc64be 2022-06-26 17:28:04 -05:00
linux-lockdown Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
linux-sleep trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
linux-swap Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
linux-tainted Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
logind trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
logitech-bulkcontroller trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
logitech-hidpp trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
modem-manager trivial: quiet the modem manager error about unable to probe 2022-06-23 14:53:58 -05:00
msr Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
mtd trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
nitrokey trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
nordic-hid Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
nvme trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
optionrom trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
parade-lspcon trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
pci-bcr trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
pci-mei trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
pci-psp trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
pixart-rf add new device support pixart-rf 2022-06-27 23:08:42 -05:00
powerd trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
realtek-mst trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
redfish Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
rts54hid trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
rts54hub trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
scsi trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
steelseries Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
superio Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
synaptics-cape Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
synaptics-cxaudio Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
synaptics-mst Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
synaptics-prometheus Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
synaptics-rmi synaptics-rmi: Fix a progress warning when writing an image with a signature 2022-06-29 10:47:27 +01:00
system76-launch system76-launch: Wait for device to re-enumerate if unlocked and reset 2022-06-27 06:49:12 +01:00
test trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
thelio-io trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
thunderbolt Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
tpm trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
uefi-capsule trivial: Do not load the GResource when not required 2022-06-27 19:06:21 +01:00
uefi-dbx trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
uefi-pk Fix running fwupdtool security with a plugin allowlist 2022-06-26 13:57:53 -05:00
uefi-recovery trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
uf2 Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
upower trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
usi-dock trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
vli Always set the progress ID when setting the number of steps 2022-06-29 10:47:27 +01:00
wacom-raw trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
wacom-usb Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
meson.build Remove platform-integrity plugin 2022-06-06 10:03:04 +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.