fwupd/plugins
2022-09-20 12:55:00 +01:00
..
acpi-dmar Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
acpi-facp Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
acpi-ivrs Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
acpi-phat Check firmware magic in a more standard way 2022-07-14 14:48:15 +01:00
amd-pmc Add new plugin to display SMU firmware version on AMD APU/CPU 2022-09-19 06:51:27 -05: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
android-boot android-boot: fix segfault 2022-09-09 16:16:50 +01:00
ata dell-dock: Remove trivial duplicate line 2022-09-09 19:23:29 +01:00
bcm57xx Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +01:00
bios Set the target value on the security attribute 2022-08-01 07:12:18 +01:00
ccgx Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +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: remove support for some devices 2022-09-02 14:39:19 +03:00
cpu Correctly detect CET IBT 2022-08-29 14:40:47 +01:00
cros-ec cros-ec: Fix trivial format specifier 2022-09-09 19:23:29 +01:00
dell trivial: set firwmare attributes class directory for all tests 2022-07-28 17:30:57 -05:00
dell-dock dell-dock: Remove trivial duplicate line 2022-09-09 19:23:29 +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 dfu-csr: Fix uploading to devices 2022-09-09 19:23:29 +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 Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +01:00
emmc emmc: Use struct init to set mmc_ioc_cmd 2022-09-09 19:23:29 +01:00
ep963x Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +01:00
fastboot fastboot: Support SHA256 hashes too 2022-07-09 14:56:28 +01:00
flashrom plugins/{superio,flashrom}: Add LabTop Mk III HwId (#4920) 2022-08-12 14:00:50 +00:00
fresco-pd Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +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 Revert "plugins/intel-spi: Correct BIOS Control Device (#4742)" 2022-08-01 11:09:46 +01:00
intel-usb4 Show the USB4 NVM device ID in the debug output 2022-09-13 14:25:15 +01:00
iommu Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
jabra Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
lenovo-thinklmi trivial: lenovo-thinklmi: don't assume boot order lock means plugin runs 2022-08-31 09:21:07 -05: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 Allow self tests to pass when run in LXC zones 2022-08-22 12:46:36 +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 Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
logitech-hidpp logitech-hidpp: Fix possible unsafe memcpy() 2022-09-09 19:23:29 +01:00
modem-manager modem-manager: Fix debug format string 2022-09-09 19:23:29 +01:00
msr trivial: fix reading the microcode version on AMD systems 2022-09-13 11:10:45 -05:00
mtd mtd: expose Pine64 PinePhone Pro MTD as Tow-Boot 2022-09-12 14:51:14 +01:00
nitrokey Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
nordic-hid Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +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: Remove trivial dead init 2022-09-09 19:23:29 +01:00
pci-bcr Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
pci-mei pci-mei: Update vulnerable CMSE versions from CSMEVDT data 2022-08-24 10:30:39 +01:00
pci-psp trivial: convert pci-psp plugin to create and use a device 2022-09-13 07:14:22 -05:00
pixart-rf pixart-rf: Fix the endianness of the magic 2022-09-18 12:40:33 +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 redfish: Set the permissions of redfish.conf at install time 2022-09-20 12:33:03 +01:00
rts54hid rts54hid: Fix possible unsafe memcpy() 2022-09-09 19:23:29 +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 Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +01:00
superio plugins/{superio,flashrom}: Add LabTop Mk III HwId (#4920) 2022-08-12 14:00:50 +00:00
synaptics-cape trivial: Use fu_bytes_new_offset() in more places 2022-07-25 17:07:33 +01:00
synaptics-cxaudio Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +01:00
synaptics-mst Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +01: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: only build thunderbolt for x86 architectures 2022-09-07 08:05:08 -05:00
tpm tpm: Don't require uefi capsule updates for checking TPM PCR0 2022-08-29 07:56:23 +01:00
uefi-capsule Set the target value on the security attribute 2022-08-01 07:12:18 +01:00
uefi-dbx dbx: Do not show the 'connected devices may not be usable while updating' message 2022-09-20 12:55:00 +01:00
uefi-pk Convert HSI into a meson tristate-feature 2022-08-22 06:03:38 -05:00
uefi-recovery Build the quirk files into the daemon as a GResource 2022-06-30 18:52:24 +01:00
uf2 uf2: Fix a small memory leak when parsing files 2022-08-30 17:34:33 +01:00
upower trivial: Use 'priv' for plugin private data to be consistent 2022-06-26 13:57:53 -05:00
usi-dock usi-dock: Extend delay time before reload 2022-08-30 10:28:15 +01:00
vbe vbe: Fix a crash when dumping firmware 2022-09-09 18:50:56 +01:00
vli Set the firmware contents even when subclassing ->parse() 2022-09-10 09:16:05 +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 Add new plugin to display SMU firmware version on AMD APU/CPU 2022-09-19 06:51:27 -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.