What are all the ways I can customize my lights and such?

I am about to install a new OS and lose all my customizations. Currently I have:

  1. LED blinks with web traffic.
  2. Keyboard back lighting is set to a default value on launch.

Where do i look for those changes I made, and what are some other cool things we can do?

happy you obviously like that feature of the Librem 14 :wink:

I think the general information on how and what can be customized can be found in my blog post here:



Thanks! I remember getting it from here and then getting some help on the chat. I’ll let you know how it goes after the update :slight_smile:

So I just installed Garuda. I can’t see my leds or my backlight control. I can see capslock and numlock, and something called phy0-led but i can’t see where that is being controlled.

Do you know if there’s something I can install or do to access my leds and kb backlight?

I do not know about Garuda but first requirement is that you install and activate the absolutely required ACPI DKMS package. Without it there is no driver for the functions. In PureOS this is the “librem-ec-acpi-dkms” package.


1 Like

@nicole.faerber installed the file you said, and it worked like a charm. Thank you!

Excellent, happy it works!


For record keeping, and in case i need to do it again.

First, I made sure to install


since my arch linux install did not include this file. This gives control to all the lights and such.

created a file in


And i just picked the network flicker, and the auto set my keyboard lights on startup.

#! bin/bash

# Modify lights with network traffic
modprobe ledtrig-netdev
echo netdev > /sys/class/leds/librem_ec\:airplane/trigger
echo wls6 > /sys/class/leds/librem_ec\:airplane/device_name
echo 1 > /sys/class/leds/librem_ec\:airplane/rx
echo 1 > /sys/class/leds/librem_ec\:airplane/tx

# Set keyboard brightness on startup.
echo 255 > /sys/class/leds/librem_ec\:kbd_backlight/brightness

# set default battery thresholds
echo 70 > /sys/class/power_supply/BAT0/charge_control_start_threshold
echo 95 > /sys/class/power_supply/BAT0/charge_control_end_threshold

The I created a unit file at



Description=Controls LEDs and keyboard lighting



And then just enabled it with:

systemctl enable lightcontrols.service
1 Like

How do you use the notification light?

You can also control the notification LED using sysfs directly, also using triggers, see the referenced blog post and the section “Controlling the Notification LED”. The notification LED follows the current freedesktop.org nomenclature for such a notification LED so it can get picked up by services. On the Librem5 phone Phosh is using this service to light up the LED when desktop notification messages are available, just as an example. We are working towards enabling this in regular GNOME too.


1 Like

k thanks. I wonder what it will be like. I’ve never seen that light light up.
Also, I wanted to ask about your charge strategy from 40 to 90. I was weirded out by machine being plugged in, stuck at 52% without charging. Can you explain what your thinking was to not make the lower threshold 90 and the upper thresh 100?

To see what it looks like I gave examples in the blog post :wink:

For the battery, the thing is that batteries do not like to be charged too often. So recharging a battery to a high percentage or worse 100% all the time will shorten its lifetime. I usually do not need a full charge so I can totally live with the battery just having 50% or less since most of the time I have the charger connected. I also only charge to 90% since charging to 100% would again shorten the battery life expetancy. If I know I need to go on a longer trip without charging possibilities (say, a bus ride), I can deliberately charge to 100% just this one time.

Does that explain it?


Could you say a bit about how one should go about figuring out what are the optimal values to use in charge_control_{end,start}_threshold?

There are no general rules. What I can say is that any use of the battery, be it charge or discharge, will age the battery. Charging to 100% is not advisable, if possible I would not charge to more than 90% on daily basis. Also discharging to really lo levels is not good, always recharge when below 20% (if possible). And if you can avoid it, do not charge again whenever connected to the charger. It is perfectly fine for the battery to stay at, say, 50% or 60%.

Like I mentioned before I have my defaults set to 40% start threshold and 90% end threshold, which I am totally fine with.


Thanks! My Librem 14 arrived with start threshold set to 23%. Do you think this is either the best or a good choice for Purism to use when shipping L14s?

Shameless plug to my battctl daemon here :slight_smile:

Librem14: battctl