fwupd/plugins
Mario Limonciello e07eb9afab trivial: pci-psp: Link FwupdBiosAttr to FwupdSecurityAttr when TSME off
Lenovo Z13 offers a BIOS setting called "TSME" that can be potentially
controlled from firmware-attributes API.
2022-07-29 11:31:50 -05:00
..
acpi-dmar Set the HSI levels in a central place 2022-07-15 20:21:22 +01:00
acpi-facp Set the HSI levels in a central place 2022-07-15 20:21:22 +01:00
acpi-ivrs Set the HSI levels in a central place 2022-07-15 20:21:22 +01:00
acpi-phat Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
amt amt: Connect to the interface during ->open() 2022-07-20 20:11:32 +01:00
analogix analogix: Add support for two new Startech devices. 2022-07-14 11:14:01 +01:00
ata trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
bcm57xx trivial: Make fuzzing less verbose 2022-07-25 17:07:33 +01:00
bios Add 'action' resolution flags to each FwupdSecurityAttr 2022-07-14 14:47:44 +01:00
ccgx ccgx:add new dock to the quirk file 2022-07-26 11:49:52 +01:00
cfu Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
ch341a Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
colorhug Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
corsair corsair: Fix two g_prefix_error() typos 2022-07-21 15:28:24 +01:00
cpu Set the HSI levels in a central place 2022-07-15 20:21:22 +01:00
cros-ec cros-ec: Add Prism board 2022-07-28 07:05:56 +01:00
dell trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
dell-dock dell-dock: update doc to clarify the hidden inhibited usb4 device 2022-07-14 07:56:47 +01:00
dell-esrt trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
dfu trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
dfu-csr Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
ebitdo Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
elanfp Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
elantp Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
emmc Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
ep963x Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
fastboot fastboot: Support SHA256 hashes too 2022-07-09 14:56:28 +01:00
flashrom Remove the firmware builder functionality 2022-07-29 16:52:38 +01:00
fresco-pd Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
genesys Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
goodix-moc Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
gpio Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
hailuck Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
intel-spi Set the HSI levels in a central place 2022-07-15 20:21:22 +01:00
iommu iommu: map out the known BIOS attributes for IOMMU 2022-07-29 11:31:50 -05:00
jabra Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
lenovo-thinklmi trivial: make the lenovo plugin only look for thinklmi attributes 2022-07-29 11:31:50 -05:00
linux-lockdown Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
linux-sleep Set the HSI levels in a central place 2022-07-15 20:21:22 +01:00
linux-swap Add 'action' resolution flags to each FwupdSecurityAttr 2022-07-14 14:47:44 +01:00
linux-tainted Add 'action' resolution flags to each FwupdSecurityAttr 2022-07-14 14:47:44 +01:00
logind Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
logitech-bulkcontroller Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
logitech-hidpp logitech-hidpp: Lower a debug level when updating the Bolt radio 2022-07-21 21:27:24 +01:00
modem-manager modem-manager: add Quectel secure boot status AT commands 2022-07-29 09:32:56 +01:00
msr Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
mtd trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
nitrokey Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
nordic-hid Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
nvme trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
optionrom Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
parade-lspcon parade-lspcon: Simply quirk matching 2022-07-09 14:57:28 +01:00
pci-bcr Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
pci-mei Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
pci-psp trivial: pci-psp: Link FwupdBiosAttr to FwupdSecurityAttr when TSME off 2022-07-29 11:31:50 -05:00
pixart-rf Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
powerd trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
realtek-mst trivial: Fix typo in 85c01e1 where the plugin name was removed 2022-07-11 11:46:04 +01:00
redfish trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
rts54hid Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
rts54hub Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
scsi Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
steelseries Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
superio Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
synaptics-cape trivial: Use fu_bytes_new_offset() in more places 2022-07-25 17:07:33 +01:00
synaptics-cxaudio Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
synaptics-mst trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
synaptics-prometheus Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
synaptics-rmi trivial: Use fu_bytes_new_offset() in more places 2022-07-25 17:07:33 +01:00
system76-launch Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
test Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
thelio-io Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
thunderbolt trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
tpm trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
uefi-capsule uefi-capsule: Set FwupdBiosAttr ID for when secure boot is turned off 2022-07-29 11:31:50 -05:00
uefi-dbx Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
uefi-pk Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
uefi-recovery Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
uf2 trivial: Make fuzzing less verbose 2022-07-25 17:07:33 +01:00
upower trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
usi-dock Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
vbe Allow plugins and backends to print debugging information to the console 2022-07-28 16:10:06 +01:00
vli Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
wacom-raw Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
wacom-usb Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
meson.build vbe: Add a new plugin for writing Flat Image Trees 2022-07-11 08:28:42 +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.