fwupd/plugins
Richard Hughes 99e9e5d523 Allow compiling plugin as built-in GObjects
Allow plugins to be built into libfwupdpluginbuiltin.so and created via GType.
2022-09-28 12:52:00 +01:00
..
acpi-dmar Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
acpi-facp Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
acpi-ivrs Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
acpi-phat Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
amd-pmc Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
amt Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
analogix Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
android-boot Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
ata Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
bcm57xx Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
bios Set the target value on the security attribute 2022-08-01 07:12:18 +01:00
ccgx Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
cfu Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
ch341a Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
colorhug Allow compiling plugin as built-in GObjects 2022-09-28 12:52:00 +01:00
corsair Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
cpu Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
cros-ec Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
dell Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
dell-dock Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
dell-esrt trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
dfu Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
dfu-csr Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
ebitdo Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
elanfp Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
elantp Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
emmc Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
ep963x Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
fastboot Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
flashrom Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
focalfp Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
fpc Add new plugin to update FPC fingerprint devices 2022-09-27 16:41:16 +01:00
fresco-pd Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
genesys Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
goodix-moc Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
gpio Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
hailuck Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
intel-spi Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
intel-usb4 Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
iommu Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
jabra Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
lenovo-thinklmi trivial: Always use g_assert_no_error() first 2022-09-27 12:10:07 +01:00
linux-lockdown Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
linux-sleep Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
linux-swap Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
linux-tainted Only fail the kernel tainted HSI test for specific taint reasons 2022-08-24 13:35:55 +01:00
logind Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
logitech-bulkcontroller Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
logitech-hidpp Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
modem-manager Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
msr Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
mtd Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
nitrokey Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
nordic-hid Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
nvme Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
optionrom Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
parade-lspcon Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
pci-bcr Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
pci-mei Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
pci-psp Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
pixart-rf Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
powerd trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
realtek-mst Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
redfish Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
rts54hid Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
rts54hub Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
scsi Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
steelseries Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
superio Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
synaptics-cape Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
synaptics-cxaudio Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
synaptics-mst Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
synaptics-prometheus Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
synaptics-rmi Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
system76-launch Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
test Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
thelio-io Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
thunderbolt Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
tpm Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
uefi-capsule Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
uefi-dbx Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
uefi-pk Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
uefi-recovery Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
uf2 Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
upower trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
usi-dock Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
vbe vbe: Fix a crash when dumping firmware 2022-09-09 18:50:56 +01:00
vli Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
wacom-raw Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
wacom-usb Make libfwupdplugin an internal library instead 2022-09-28 10:04:12 +01:00
meson.build Add new plugin to update FPC fingerprint devices 2022-09-27 16:41:16 +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.