- name: fpgad
- description: FPGA utility that manages bitstream[^1] loading and unloading
- snapcraft: https://github.com/canonical/fpgad/blob/main/snap/snapcraft.yaml
- upstream: GitHub - canonical/fgpad
- upstream-relation: maintainer
- interfaces:
- <hardware-observe>:
- request-type: auto-connection
- reasoning: Needs access to read compatible strings for FPGA hardware in order to automatically determine the correct process to control the device.
- <cli-dbus> to <daemon-dbus>:
- request-type: auto-connection
- reasoning: The FPGAd snap contains a command line tool (CLI) which communicates with the daemon via a system DBus interface. Without this auto-connection, the user must connect the snap to itself during install. We believe the interface must be a system interface because this is the same DBus interface used by provider snaps[^2] to control the underlying FPGA hardware.
- <hardware-observe>:
[^1] Bitstreams are binary blobs that configures FPGA devices
[^2] FPGAd provides a mechanism for control of the FPGA hardware to devices running Ubuntu Core, and these provider snaps provide the bitstreams[^1], user space drivers and device tree overlays required to utilise that hardware.