Linux kernel 6.9 has been released after several months of attentive development.

Linux founder Linus Torvalds announced the final release on the Linux Kernel Mailing List in his usual relaxed, laissez faire style.

He notes that while kernel contributors have reported “a few regression fixes that haven’t made it to me yet […] none of them look big or worrisome enough to delay the release for another week. We’ll have to backport them when they get resolved and hit upstream.”

“So 6.9 is now out.”

Nice — if you get it, you get it — but what’s new?

Overview of Linux 6.9 Features

Linux kernel 6.9 includes the usual glut of enablement work for upcoming hardware and hardware-related features that most of us aren’t currently able to take advantage of.

Intel Fastboot is now enabled for pre-Skylake chips — faster boots for all!

But there is plenty of stuff that is more relevant.

Linux 6.9 debuts AMD P-State ‘preferred core’ support in the AMD P-State driver for AMD Zen 2 and later chips.

Preferred cores reach a higher maximum frequency than other cores, and this kernel support allows Linux scheduler to pass high priority tasks to those cores specifically.

Also included is Intel Fastboot support which, as the name implies, hastens boot speeds. How? By reducing (and in some cases skipping) mode-sets not required during boot. Previously enabled for “Skylake” and above, Linux 6.9 brings this feature to older chipsets.

For several years kernel devs have been working on a big update to CPU timer code, which organises, schedules, and enforces the timing of tasks and processes — in Linux 6.9 it arrives!

Thomas Gleixner has led the effort to overhaul the heuristics involved and describes a few of the benefits it offer with regards to performance and power management:

There have been slight performance improvements observed on network centric workloads and an Intel team confirmed that this allows them to power down a die completely on a mult-die (sic) socket for the first time in a mostly idle scenario.

Additionally, Linux 6.9 sees “significant and invasive” changes to its workqueue code, primarily to address some issues introduced by an earlier change in Linux kernel 6.6. A handful of tweaks to improve CPU isolation also feature.

The Linux kernel virtualisation module KVM sees a clutch of assorted improvements, including performance gains in emulated event triggering and during ‘forced immediate exit’ scenarios.

Performance improvements to case-insensitive file and folder handling in EXT4 (and other file systems that use it) is present, with kernel now said to be “trying a case-sensitive comparison first and then fallback to case-insensitive lookup if that fails”.

Linux kernel 6.9 also nukes a hardware vulnerability in Intel Atom CPUs (remember those?) which “may allow a malicious actor to infer data values previously used in floating point registers, vector registers, or integer register.”

Device-specific buffs include battery charge control for Fujitsu laptops, and a substantial performance boost on the HP Omen 17 laptop, albeit with significantly larger power draw and heat generation — don’t worry; it’s optional.

There’s also support for the Lenovo IdeaPad ‘refresh rate’ key (which you’ll be shocked to hear us used to change display refresh rate); fan speed control for Microsoft Surface laptops, and the Lenovo ThinkPad ACPI driver now works with more Fn keys.

Linux 6.9 supports scores of Samsung wireless devices out-of-the-box, including an unspecified wireless keyboard, the (thicc looking) Gamepad controller, the (cute) S Action Mouse, and the Galaxy Book Cover and HOGP keyboard combo.

Linux gamer with an Xbox controller fetish? You’ll be thrilled to hear that two of most popular (and pretty decent, I hear) 3rd-party Xbox controllers work in Linux kernel 6.9 through the Xpad driver: the Snakebyte GAMEPAD BASE X and GAMEPAD RGB X.

An array of ARM-related improvements are onboard, including Rust language support on 64-bit ARM processors; support for running in LPA2 mode; and improved performance thanks to better translation lookaside buffer (TLB) usage.

Other notable changes in Linux 6.9:

  • Power efficiency tweaks for Intel Meteor Lake
  • Kernel energy model supports run-time updating
  • Access to GCC named address spaces
  • Larger fonts in frame-buffer console
  • Better memory bandwidth throttling
  • Btrfs throughput increase + other fixes
  • Cirrus HD audio codec supports more devices
  • Energy Efficient Ethernet adds 2.5GE and 5GE link modes
  • Realtek RTW88 Wi-Fi driver supports rtw8811cu & rtw8821cu
  • FUSE passthrough support
  • EXT2 filesystem now deprecated
  • AMD FreeSync removed

Obviously there’s a lot more to this release than the hand-picked highlights above, including a flurry of security fixes, scores of finessing to various filesystem finessing, a fleet of effort to further Linux’s support for RISC-V, LoongArch, SPARC, et al.

Want more details on everyone new in Linux kernel 6.9? I recommend combing through the 2-part LWN merge roundups (part 1 & part 2) which provide a distilled run-down of the core changes, plus links to in-depth articles or merge details where helpful.

Installing Linux Kernel 6.9

Do you want to use Linux kernel 6.9 right now? If you’re savvy at compiling code, you can as source code for the latest stable release is available to download right now.

Do you want to use Linux kernel 6.9 but not enough to put in the hard work of building it yourself? You can wait for Linux distribution to package this release up for you and push it out to you as a software update.

If you’re on Ubuntu that will be …sometime never officially. While new kernels are backported to LTS releases those kernels come from the subsequent releases, so Ubuntu 24.04 LTS will get whatever kernel is released in 24.10 – but that’s not until October.

While other Linux blogs often breezily recommend do it using the mainline kernel builds created by Canonical for internal testing not encouraged (they’re not signed, may fail to boot in some situations, don’t receive security updates, won’t have Ubuntu-specific patches, etc).

That said, some folks do install Canonical mainline kernel builds in Ubuntu and use them without issue — if you can’t wait then those pre-packaged DEBs are an option — but use ’em at your own risk, buddy!