fwupd/plugins
2022-12-15 17:27:22 +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: Fix a few more plugin names 2022-09-30 12:28:20 +01:00
bios Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
ccgx ccgx: Add Anker Thunderbolt 4 Mini Hub 2022-10-26 23:28:08 +01:00
cfu Build many more plugins as builtin 2022-09-28 17:01:23 +01: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 trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +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 Add BIOS rollback protection support for Dell systems 2022-11-18 14:28:13 +00:00
dell-dock trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
dell-esrt Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
dfu trivial: fix dfu-tool linking 2022-09-29 11:04:38 -05:00
dfu-csr dfu-csr: Fix a critical warning when deploying firmware 2022-11-10 12:10:41 +00:00
ebitdo Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
elanfp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
elantp trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
emmc Build many more plugins as builtin 2022-09-28 17:01:23 +01: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 Flip around the FuDeviceInstanceFlags logic 2022-11-04 13:44:23 +00:00
focalfp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
fpc trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
fresco-pd Build many more plugins as builtin 2022-09-28 17:01:23 +01: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 trivial: Remove useless duplication 2022-12-15 17:27:22 +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: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05: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 Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
logitech-hidpp Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
logitech-scribe New plugin for Logitech Whiteboard camera 2022-11-17 16:42:04 +00:00
modem-manager plugins: modem-manager: assume firmware is unsigned 2022-10-10 12:44:10 +01:00
msr Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
mtd trivial: Fix build failure when /var/cache/fwupd is not writable 2022-12-14 14:12:17 +00:00
nitrokey trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
nordic-hid Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
nvme Add needs-shutdown flag for Solidigm NVMe device 2022-12-13 08:37:17 +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 trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05: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: Return an error from fu_context_get_smbios_data() 2022-10-24 13:58:00 +01: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: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
superio trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +00:00
synaptics-cape Build many more plugins as builtin 2022-09-28 17:01:23 +01: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 synaptics-prometheus: add PIDs to quirk file 2022-12-15 08:05:06 +00:00
synaptics-rmi trivial: Fix some g_prefix_error() calls to include the trailing space 2022-11-30 10:13:19 +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 Add some more profiling to debug custom device GType creation 2022-10-07 14:41:48 +01: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 Flip around the FuDeviceInstanceFlags logic 2022-11-04 13:44:23 +00:00
uefi-capsule trivial: uefi-capsule: decrease warning about missing header to debug 2022-12-08 14:18:47 -06:00
uefi-dbx trivial: Use the existing plugin objects in dbxtool 2022-09-29 12:32:53 +01: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 vli: Set auto-parent-children flag for all USB hubs 2022-10-07 16:25:27 -07:00
wacom-raw Flip around the FuDeviceInstanceFlags logic 2022-11-04 13:44:23 +00:00
wacom-usb wacom-usb: remove the use-runtime-version flag from IPS 2022-11-03 23:26:30 -05:00
meson.build ti-tps6598x: Add a new plugin to update some TI USB-4 docks 2022-12-14 12:50:25 +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.