$ sudo ryzenadj --info
pcilib: Cannot open /sys/bus/pci/devices/0000:00:00.0/config
pcilib: Cannot open /sys/bus/pci/devices/0000:00:00.0/config
pcilib: Cannot open /sys/bus/pci/devices/0000:00:00.0/config
pcilib: Cannot open /sys/bus/pci/devices/0000:00:00.0/config
pcilib: Cannot open /sys/bus/pci/devices/0000:00:00.0/config
PCI Bus is not writeable, check secure boot
Faild to get SMU, SMU_TYPE: 0
Unable to get MP1 SMU Obj
Unable to init ryzenadj
Classic is not a pressure relief valve: it isnât really meant to be used for cases where confinement WOULD work, except that an interface doesnât currently cover the level of access needed. Classic is intended for applications that fit within a specific set of categories, to which youâve already linked. In my view, this application doesnât really fit into any of them, it just needs an interface that allows the access it requires. In other words, Iâd say it falls into the âdifficulty making strict confinement workâ unsupported section. To be completely clear, I have not confirmed that the level of access required is not covered under an existing interface, but if that is the case, Iâm sure the snapd team would be happy to entertain such a feature request.
@kyrofa is correct - for this case I suggest you look into using something like the custom-device interface which allows to declare a slot (and plug) in your app to provide this specific access.
Thanks for the advice, however, according to the documentation of the custom-device interface this interface is only supported on Ubuntu Core systems which are unlikely the packaged softwareâs target audience.
FWIW this interface can be used on classic systems, and it does say:
Under specific and appropriate circumstances, it is possible to define the slot directly from the consuming application itself, together with the plug, which is an acceptable approach for applications that will be widely distributed but support very specific hardware.
So I still think this could be a good solution (at least until a more specific interface is available in snapd)/