fwupd/plugins
Richard Hughes 2c20ade1db emmc: Add back a legacy GUID to fix a regression
I had no idea anyone was using this, so apologies. The instance ID is completely
wrong, but it is effectively D-Bus ABI and we need to support old firmware in
the field.
2023-01-09 15:39:36 +00:00
..
acpi-dmar trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
acpi-facp trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
acpi-ivrs trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
acpi-phat trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
amd-pmc Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
analogix analogix: Fix potential division by zero when writing 2022-11-03 18:18:34 +00:00
android-boot Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ata Flip around the FuDeviceInstanceFlags logic 2022-11-04 13:44:23 +00:00
bcm57xx trivial: Add new convenience API to make plugins simpler 2022-12-20 20:54:12 +00:00
bios Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ccgx Lots of spelling fixes 2022-12-29 13:57:31 +00:00
cfu trivial: Add new convenience API to make plugins simpler 2022-12-20 20:54:12 +00:00
ch341a trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
colorhug Allow compiling plugin as built-in GObjects 2022-09-28 12:52:00 +01:00
corsair Lots of spelling fixes 2022-12-29 13:57:31 +00:00
cpu Flip around the FuDeviceInstanceFlags logic 2022-11-04 13:44:23 +00:00
cros-ec Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
dell Lots of spelling fixes 2022-12-29 13:57:31 +00:00
dell-dock Lots of spelling fixes 2022-12-29 13:57:31 +00:00
dell-esrt Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
dfu Lots of spelling fixes 2022-12-29 13:57:31 +00:00
dfu-csr dfu-csr: Fix a critical warning when deploying firmware 2022-11-10 12:10:41 +00:00
ebitdo Lots of spelling fixes 2022-12-29 13:57:31 +00:00
elanfp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
elantp Lots of spelling fixes 2022-12-29 13:57:31 +00:00
emmc emmc: Add back a legacy GUID to fix a regression 2023-01-09 15:39:36 +00:00
ep963x trivial: Fix a few more plugin names 2022-09-30 12:28:20 +01:00
fastboot Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
flashrom plugins/flashrom: Allow 32MiB images for the StarBook Mk VI (#5383) 2023-01-06 10:12:36 +00:00
focalfp Lots of spelling fixes 2022-12-29 13:57:31 +00:00
fpc trivial: Add new convenience API to make plugins simpler 2022-12-20 20:54:12 +00:00
fresco-pd Lots of spelling fixes 2022-12-29 13:57:31 +00:00
genesys Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
goodix-moc goodix-moc: Add quirk for 609C used on Framework 2022-11-23 09:21:14 +00:00
gpio Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
hailuck Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
intel-gsc Lots of spelling fixes 2022-12-29 13:57:31 +00:00
intel-me trivial: Fix a -Wunused-variable compile warning 2022-10-27 15:21:18 +01:00
intel-spi Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
intel-usb4 intel-usb4: Ensure the device name is set with FuUsbDevice->setup 2022-11-29 09:01:29 +00:00
iommu iommu: Suggest to turn on ThunderboltAccess for Lenovo systems 2022-12-14 08:44:27 -06:00
jabra Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
kinetic-dp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
lenovo-thinklmi Add BIOS rollback protection support for Lenovo systems 2022-11-18 14:28:13 +00:00
linux-lockdown Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
linux-sleep Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
linux-swap trivial: skip self tests that fail with G_IO_ERROR_NOT_DIRECTORY 2023-01-05 09:20:35 +00:00
linux-tainted linux-tainted: Fix a daemon warning if the daemon has disabled the plugin 2022-10-03 09:34:20 +01:00
logind Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
logitech-bulkcontroller Lots of spelling fixes 2022-12-29 13:57:31 +00:00
logitech-hidpp trivial: Ensure that G_TEST_SRCDIR is set for all self tests 2023-01-04 07:24:01 -06:00
logitech-scribe Lots of spelling fixes 2022-12-29 13:57:31 +00:00
modem-manager modem-manager: add quirk for Quectel RM520 modem 2023-01-05 17:39:13 +00:00
msr trivial: fix error message on reading IA32_TME_ACTIVATION 2023-01-04 16:16:20 +00:00
mtd mtd: Use dummy SMBIOS data to fix self test on s390x 2023-01-04 07:24:01 -06:00
nitrokey trivial: Ensure that G_TEST_SRCDIR is set for all self tests 2023-01-04 07:24:01 -06:00
nordic-hid Lots of spelling fixes 2022-12-29 13:57:31 +00:00
nvme Lots of spelling fixes 2022-12-29 13:57:31 +00:00
optionrom Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
parade-lspcon parade-lspcon: Add the AuxDeviceName for another ChromeBox 2022-10-07 16:24:55 +01:00
pci-bcr Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
pci-mei Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
pci-psp Add security attribute for OEM specific implementations of BIOS rollback protection 2022-11-18 14:28:13 +00:00
pixart-rf Lots of spelling fixes 2022-12-29 13:57:31 +00:00
powerd trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
qsi-dock trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
realtek-mst Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
redfish trivial: skip self tests that fail with G_IO_ERROR_NOT_DIRECTORY 2023-01-05 09:20:35 +00:00
rts54hid trivial: Fix two more plugin names 2022-10-05 12:46:04 +01:00
rts54hub trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
scsi Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
steelseries trivial: Add new convenience API to make plugins simpler 2022-12-20 20:54:12 +00:00
superio Lots of spelling fixes 2022-12-29 13:57:31 +00:00
synaptics-cape Lots of spelling fixes 2022-12-29 13:57:31 +00:00
synaptics-cxaudio Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
synaptics-mst trivial: Fix the tests on s390x 2022-11-10 12:22:45 +00:00
synaptics-prometheus Lots of spelling fixes 2022-12-29 13:57:31 +00:00
synaptics-rmi synaptics-rmi: add support to more firmware partitions 2023-01-06 11:45:55 +00:00
system76-launch Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
test trivial: Fix up a plugin method name 2022-12-10 14:42:30 +00:00
thelio-io Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
thunderbolt Lots of spelling fixes 2022-12-29 13:57:31 +00:00
ti-tps6598x ti-tps6598x: Use the TX identity to set the PD VID&PID to the correct values 2022-12-14 20:29:48 +00:00
tpm trivial: Add new convenience API to make plugins simpler 2022-12-20 20:54:12 +00:00
uefi-capsule Use 'check' when calling run_command() to avoid a warning 2022-12-29 15:49:02 +00:00
uefi-dbx Lots of spelling fixes 2022-12-29 13:57:31 +00:00
uefi-pk Split out FuUefiPkDevice as a device for future use 2022-10-20 13:52:22 +01:00
uefi-recovery Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
uf2 trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
upower Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
usi-dock trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
vbe Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
vli trivial: Ensure that G_TEST_SRCDIR is set for all self tests 2023-01-04 07:24:01 -06:00
wacom-raw trivial: Add new convenience API to make plugins simpler 2022-12-20 20:54:12 +00:00
wacom-usb Release fwupd 1.8.9 2023-01-03 12:15:50 +00:00
wistron-dock trivial: Add new convenience API to make plugins simpler 2022-12-20 20:54:12 +00:00
meson.build wistron-dock: Add a new plugin to update several dock models 2022-12-20 14:51:40 +00:00
migrate.py igsc: Add a plugin to update some Intel discrete graphics cards 2022-11-03 13:43:54 +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.