A Guide to elementary OS's Battery Status and Performance Profiles
A laptop running elementary OS can stretch its unplugged hours further when you understand what the system reports about the battery and which performance profile is active. The Pantheon desktop surfaces this information through a small icon in the Wingpanel, and underneath that surface sits a stack of Linux tools that record charge cycles, current draw, and CPU behaviour. Learning to read those signals turns guesswork into a deliberate routine that fits around a working day on the move.
For anyone who works away from a desk for part of the day, whether on a train between Brisbane suburbs or in a quiet corner of a Melbourne cafe, the difference between four hours and seven hours of runtime often comes down to a few settings. This walkthrough covers the on-screen indicator, the underlying power profiles, the helper daemons that shape CPU behaviour, and the practical habits that keep the battery healthy in a climate as harsh as Australia's.
Reading the Battery Indicator in the Wingpanel
The battery glyph sits at the right end of the top bar and changes shape as the charge drops. At full capacity it appears as a solid bar; once the charge falls below a threshold the icon takes on a hollow outline and a small numeric label appears next to it. Clicking the icon opens a tiny popover showing the current percentage, an estimate of the time remaining under the present workload, and a shortcut to the Power settings panel. The popover never advertises itself, so most new users overlook the time estimate, which is genuinely useful for planning a working session on the move.
The colour of the icon follows the standard convention: white above roughly forty percent, then transitioning to a warning tone as the charge drops further. When the figure reaches about fifteen percent elementary OS posts a desktop notification, and a second notification appears around seven percent with the option to suspend the session immediately. Both notifications can be muted through Settings → Notifications → Power, which is worth doing if you work in libraries or shared offices where a sudden pop-up is distracting.
Underneath the graphical indicator, the same data is exposed through the freedesktop UPower interface. Running upower -i /org/freedesktop/UPower/devices/battery_BAT0 in a Terminal gives a precise readout of design capacity, full-charge capacity, energy rate, voltage, and cycle count. Comparing the full-charge capacity against the design capacity reveals battery wear over time, which is the figure that matters when you consider whether an older machine still has useful life.
Understanding Power Profiles on Pantheon
elementary OS ships with the power-profiles-daemon that originated in the GNOME power initiative, so three profiles are available out of the box: Performance, Balanced, and Power Saver. Performance keeps the CPU free to boost to its highest frequency whenever a workload demands it, Balanced caps boost behaviour to a moderate level, and Power Saver aggressively underclocks the processor and dims the screen more quickly when idle. The default after installation is Balanced, which suits most desktop use on a workstation plugged into mains power.
Switching profiles is normally done from Settings → Power, but a faster route exists from the Terminal. powerprofilesctl set performance, powerprofilesctl set balanced, and powerprofilesctl set power-saver change the active profile immediately and persist across reboots. You can also query the current state with powerprofilesctl get, which prints the active profile name. Adding a keyboard shortcut through Settings → Keyboard → Shortcuts that runs one of those commands lets you toggle between two favourite profiles with a single keypress.
The profiles interact with two related subsystems. First, the Intel P-State driver, or the AMD P-State driver on newer Ryzen chips, interprets the profile as a hint about how aggressively to scale clock speeds. Second, thermald or the generic thermal governor reacts to the resulting heat output, throttling further if the laptop starts to feel warm. Understanding this chain explains why a profile switch sometimes appears to make little difference on a cool day in Hobart but a noticeable difference on a forty-degree afternoon in Adelaide.
Going Deeper with TLP and auto-cpufreq
For users who want finer control, TLP is the long-standing command-line tool that adjusts hundreds of power-related kernel parameters without needing a custom script per machine. Installing it on elementary OS is a matter of enabling the universe component, refreshing the package index, and running sudo apt install tlp tlp-rdw. After a reboot, TLP activates automatically and applies a sensible default profile tuned for battery life on each boot. It coexists with power-profiles-daemon, although the latter takes precedence whenever a profile other than Balanced is active.
TLP exposes its settings in /etc/tlp.conf, where variables such as CPU_SCALING_GOVERNOR_ON_BAT, CPU_BOOST_ON_BAT, and RADEON_POWER_PROFILE_ON_BAT control how aggressively the system behaves on battery. A common tweak is to set CPU_BOOST_ON_BAT=0, which disables Turbo Boost while unplugged and reclaims several watts at the cost of slower compile times and heavier photo editing. Users who travel between Perth and Sydney on a regular basis often find this single change extends their unplugged working time by close to an hour on a modern ultrabook.
auto-cpufreq is a newer alternative that monitors the battery, CPU temperature, and load in real time and shifts between performance and powersave governors automatically. It can be installed from a personal package archive and started as a systemd service. The attraction is that it does not require the user to remember to switch profiles; the system simply becomes more conservative when unplugged and more aggressive when plugged in. Forgetting to swap profiles is one of the most common reasons a battery drains faster than expected during a long session away from a desk.
Practical Habits for Australian Working Conditions
Heat is the silent enemy of lithium-ion batteries. A laptop left in a parked car in Brisbane in summer can reach internal temperatures above sixty degrees Celsius, which accelerates permanent capacity loss regardless of any software profile. elementary OS surfaces CPU temperature through the Sensors panel in System Profiler, and TLP can be configured to throttle the CPU more aggressively once a threshold is crossed. Setting CPU_SCALING_GOVERNOR_ON_BAT to powersave and CPU_BOOST_ON_BAT to 0 during the warmer months is a reasonable precaution for anyone whose commute involves leaving a bag in a vehicle.
Working from cafes is a popular habit in suburbs such as Fitzroy, Newtown, Surry Hills, and Fortitude Valley, where reliable NBN connections and an unhurried atmosphere encourage longer sessions than a typical office coffee break. To get the most from a cafe visit, dim the screen to the lowest comfortable level, switch the profile to Power Saver before unplugging, and disable Bluetooth if a wireless keyboard is not in use. These three actions routinely add an hour to runtime on mainstream hardware without any change in perceived performance for writing and browsing tasks.
For users who travel between regional centres, where a power outlet is not always easy to find, a small USB-C power bank that supports Power Delivery can keep a laptop topped up from a backpack. Pairing such a bank with the Power Saver profile and a deliberately low screen brightness turns an eight-hour bus journey into a working day rather than a race against a shutdown warning.
Monitoring Battery Health Over the Long Term
Battery health is measured in cycle count and in the gap between design capacity and current full-charge capacity. A typical modern laptop battery is rated for around eight hundred full cycles before reaching eighty percent of its original capacity, after which runtime begins to drop noticeably. Running upower -i once a month and recording the figure creates a simple log that makes degradation visible rather than mysterious. A spreadsheet with date, full-charge capacity, and cycle count is enough to predict when a replacement battery will be worth ordering.
Calibration is occasionally useful when the percentage reading drifts from reality, often after a firmware update or a long period of storage. The standard procedure is to charge the laptop to one hundred percent, leave it on charge for two more hours, then unplug and let the battery drain completely until the laptop suspends itself. Leave the laptop switched off for several hours, then charge back to one hundred percent without interruption. This is rarely needed on modern hardware but remains the recommended first step when a battery appears to drop from thirty percent to five percent within minutes.
Australia's consumer guarantees under the Australian Consumer Law cover laptops purchased from local retailers such as JB Hi-Fi, Officeworks, or the major department stores, and a battery that fails well within its expected service life can usually be repaired or replaced at no cost. Keeping the original tax invoice and the cycle-count log strengthens any such claim and removes the need to argue from memory alone.
Troubleshooting Unexpected Drain
When a battery drains faster than expected, the first place to look is the Processes view in System Monitor, sorted by CPU usage, to identify runaway applications. A browser tab running an unthrottled video stream or a flatpak application stuck in a tight loop can pin a core at full frequency and consume fifteen watts or more. Quitting the offending process restores normal behaviour instantly, and adding the application to a list of suspect workloads helps with future diagnosis.
The second place to check is the journal. journalctl -b | grep -i power lists power-related events from the current boot, including suspend and resume entries, charger connect and disconnect events, and any warnings from power-profiles-daemon or TLP. Repeated transitions between battery and mains power, sometimes caused by a loose charging port, generate a long sequence of entries that points directly at the hardware fault.
Finally, an audit of startup applications through System Settings → Applications → Startup can reveal services that ought not to be running on a laptop. Disabling unnecessary daemons such as a desktop indexer or a printer service that is never used in a portable context reclaims a small but steady amount of power. Combined with the profile switch and the brightness adjustment, this final cleanup often lifts the unplugged runtime of an older elementary OS laptop back into the comfortable range that made the machine worth keeping in the first place.
Open a Terminal and run powerprofilesctl get to confirm which profile is currently active on your machine, then upower -i /org/freedesktop/UPower/devices/battery_BAT0 to record today's design capacity and full-charge capacity as the first entry in your battery health log.