fwupd/plugins
2022-06-03 13:47:11 -05: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 Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
ata Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
bcm57xx Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
bios trivial: disable bios plugin for Win32 2022-05-09 15:54:51 -05:00
ccgx Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +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 Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +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 Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
elantp Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
emmc Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
ep963x Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01: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 Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
genesys Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
goodix-moc Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
gpio Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
hailuck Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01: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 Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
modem-manager modem-manager: Fix a small leak and critical warning on failed update 2022-05-26 10:50:54 +01:00
msr Rename fu_udev_device_pread_full() as we broke ABI 2022-06-03 13:47:11 -05:00
mtd Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
nitrokey Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
nordic-hid Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
nvme Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
optionrom Do not fallback to audio-card 2022-04-25 14:49:30 +01:00
parade-lspcon Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
pci-bcr Rename fu_udev_device_pread_full() as we broke ABI 2022-06-03 13:47:11 -05:00
pci-mei Rename fu_udev_device_pread_full() as we broke ABI 2022-06-03 13:47:11 -05:00
pci-psp trivial: pci_psp: test an attribute to declare missing data 2022-04-14 01:39:22 -05:00
pixart-rf Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05: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 Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
redfish Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
rts54hid Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
rts54hub Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
scsi Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
steelseries Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
superio Rename fu_udev_device_pread_full() as we broke ABI 2022-06-03 13:47:11 -05:00
synaptics-cape Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
synaptics-cxaudio Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +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 Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
system76-launch Add System76 launch_lite_1 2022-03-31 19:01:11 +01:00
test Add a FuProgress to ->verify() 2022-06-03 13:47:11 -05: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 Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +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 Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
vli Add a 'name' attribute to each FuProgress step 2022-06-01 15:05:43 +01:00
wacom-raw Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05: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.