Using Custom Charge Thresholds with GNOME’s Preserve Battery Health Feature

GNOME is probably the most used desktop environment on Linux; its latest iteration (codename “Bengaluru”), ships with many performance improvements and some new features, as the ability to limit the battery charge straight from the “control center”, in order to preserve its health and increase its lifespan. By default, when this feature is active, a battery will start charging only when under 75% of its capacity, and will stop charging when it reaches 80%. In this tutorial, we learn how to replace those values with custom ones.

[$] The mystery of the Mailman 2 CVEs

Many eyebrows were raised recently when three vulnerabilities were announced
that allegedly impact GNU Mailman 2.1,
since many folks assumed that it was no longer being supported. That’s
not quite the case. Even though version 3 of
the GNU Mailman mailing-list manager has been available
since 2015, and version 2 was declared (mostly) end of life
(EOL) in 2020, there are still plenty of users and projects still
using version 2.1.x. There is, as it turns out, a big difference between
mostly EOL and actually EOL. For example: WebPros, the company behind the cPanel server and web-site-management
platform, still maintains a port of
Mailman 2.1.x
to Python 3 for its customers and was
quick to respond to reports of vulnerabilities. However, the
company and upstream Mailman project dispute that the CVEs are
valid.

Intel Makes “AI Flame Graphs” Open-Source

Intel’s AI Flame Graphs software is now open-source. This is a project that started for Intel’s Tiber AI Cloud to provide more insight into AI accelerator/GPU usage and hardware profilining of the full software stack. After being an internal/customer-only software project for some months, AI Flame Graphs is now open-source…

Ubuntu 25.04 & Fedora 42 Hit A Long Sought Milestone With HDR Support Working Well On The Linux Desktop

It’s almost majestic: HDR display support working on the Linux desktop. If you asked me at the start of the calendar year if I’d expect to see modern Linux distributions shipping with working HDR display support in H1’2025, I would have been doubtful. But after a lot of miraculous work that landed across numerous upstream repositories over the past two months or so, everything has come together just in time for the likes of Ubuntu 25.04 and Fedora Workstation 42. There still are apps not supporting HDR and the like, but the core infrastructure is in place and working. The past two weeks I’ve begun testing out the Linux HDR desktop experience with the ASUS ROG Swift OLED PG27UCDM 27-inch 4K display. Between the ASUS PG27UCDM’s QD-OLED display and HDR support enabled under Linux, it delivers a very beautiful Linux desktop experience.

Meson 1.8.0 released

Version 1.8.0
of the Meson build system has
been released. Notable changes in this release include the ability to
run rustdoc for Rust projects, support for the c2y and gnu2y
compiler options, and a new argument (android_exe_type) that
makes it possible to use the same meson.build file for
Android and non-Android systems.

Barnes: Parallel ./configure

Tavian Barnes takes on
the tedious process
of waiting for configure scripts to run.

I paid good money for my 24 CPU cores, but ./configure can only
manage to use 69% of one of them. As a result, this random project
takes about 13.5× longer to configure the build than it does to
actually do the build.

The purpose of a ./configure script is basically to run the
compiler a bunch of times and check which runs succeeded. In this
way it can test whether particular headers, functions, struct
fields, etc. exist, which lets people write portable software. This
is an embarrassingly parallel problem, but Autoconf can’t
parallelize it, and neither can CMake, neither can Meson, etc.,
etc.

(Thanks to Paul Wise).

[$] Inline socket-local storage for BPF

Martin Lau gave a talk in the BPF track of the 2025 Linux Storage, Filesystem,
Memory-Management, and BPF Summit about a performance problem
plaguing the networking subsystem, and some potential ways to fix it. He works on
BPF programs that need to store socket-local data; amid other improvements to
the networking and BPF subsystems, retrieving that data has become a noticeable
bottleneck for his use case. His proposed fix prompted a good deal of discussion
about how the data should be laid out.