What If You Could Change Firmware Settings Without Rebooting?

What If You Could Change Firmware Settings Without Rebooting?

coreboot Forms Representation (CFR)

What If You Could Change Firmware Settings Without Rebooting?

Changing a firmware setting usually means restarting your laptop and opening the firmware setup screen before Linux starts.

That may be fine for something you rarely change, but it is less convenient for settings you may want to adjust more regularly, such as charge limits, LED behaviour and what happens when you close the lid.

Star Labs has used CFR, or coreboot Forms Representation, in its firmware for around two years. CFR provides a structured way for firmware to describe configurable settings.

What is new is making those settings available while Linux is running, together with Linux driver support that allows the operating system to see and change them directly.

Firmware 26.07 includes the changes needed to expose these settings as runtime variables. We have now validated this across all of our boards using the corresponding development Linux support. However, the required Linux driver changes are still being reviewed, so customers cannot yet use this through a standard Linux installation.

What we have tested so far

The runtime configuration work has now been validated across all of our boards. Settings we have tested include:

Charging speed
Maximum charge level
Charging LED behaviour
Power LED behaviour
What happens when the laptop lid is closed

Each setting was changed from within Linux and checked to make sure it worked correctly. We then removed all power from the laptop, including disconnecting the battery, and confirmed that the selected settings were still saved when the laptop was powered on again.

Keeping your settings consistent

Being able to change these settings from Linux could make everyday adjustments much easier. For example, you could make the haptic trackpad feedback stronger or adjust other supported hardware settings without restarting the laptop and entering the firmware setup screen.

Any change made from within Linux also needs to remain saved and work consistently. Linux requests each change through protected firmware, which checks the value before applying it.

1
Linux requests the change
→
2
Protected firmware checks the value before applying it
→
3
Coreboot reapplies the saved setting at startup

The saved firmware setting remains the source of truth and is reapplied by coreboot the next time the laptop starts. If the change cannot be applied correctly, the previous setting is restored.

This helps ensure that the setting shown in Linux matches the one the laptop is actually using.

Managing settings across multiple laptops

For individual users

For an individual user, Linux support for CFR could make supported firmware settings easier to find and change without leaving the operating system.

It could also show which options are available and whether a change can take effect immediately or requires a restart.

For organisations

For schools, businesses and other organisations, the same approach could make it easier to keep settings consistent across many laptops.

For example, an administrator could apply the same approved settings across multiple machines rather than configuring each laptop individually.