reasoning: fpgad needs access to access to create/remove device tree overlay files, as described in the snapcraft.yaml [^2], in order to trigger probing events to load the necessary drivers when loading bitstreams. Without device tree overlay features, the kernel cannot be asked to bind the device to a driver when the FPGA configuration changes.
[^1] Bitstreams are binary blobs that configures FPGA devices
FYI:
We had discussions with the snapd team in Gothenburg about how best to provide access to the device-tree overlay subsystem, and the system-files was chosen (as opposed, e.g. to creating a new interface due or adapting the fpga interface in snapd) due to
it’s simplicity
the fact that the exact nature of the access may vary between hardware vendors (or future changes to the upstream kernel), and FPGAd will be updated to reflect that - this reduces snapd maintenance burden.
Thanks in advance, and don’t hesitate to ask if anything isn’t clear
Best,
Artie (& Talha)
I think the provided reasoning makes a lot of sense. Given that this approach has been discussed and agreed with snapd team I have not objection. +1 from me for granting fpgad auto-connection to the requested system-files interface (#voteFor)