On Wed, 29 May 2024, at 9:16 AM, Mario Limonciello wrote:
For any "new" attributes it's better to put them in that API than code
duplication of the BIOS attributes API as well as a random sysfs file
API that you can never discard.
Do you mean the firmware_attributes API? If so, I'm not opposed to adding all the existing ROG attributes to it also.
If I'm understanding the docs correctly, for example this apu_mem attr would then become:
- /sys/class/firmware-attributes/asus-bios/attributes/apu_mem/type
- /sys/class/firmware-attributes/*/attributes/apu_mem/current_value
- /sys/class/firmware-attributes/*/attributes/apu_mem/default_value
- /sys/class/firmware-attributes/*/attributes/apu_mem/display_name
- /sys/class/firmware-attributes/*/attributes/apu_mem/possible_values
- ..etc
That's absolutely much better than what I've been doing and I wish I'd known about it sooner.
Yup! And even better "fwupdmgr get-bios-setting" and "fwupdmgr
set-bios-setting" [1] will work with bash completion too.
If you want to build a GUI around it, it could use the fwupd dbus
interface for getting those settings and manipulating them.
My existing GUI effort revolves around me adding these attrs to both kernel and a dbus interface. So if I can drop that then all the better
The dbus
interface policy is protected by PK.
What is PK? And I'm guessing this restricts users to requiring permissions to change settings?