Linux kernel 6.10 has been officially released.

The latest version of the Linux kernel adds an array of improvements, including a new memory sealing system call, a speed boost for AES-XTS encryption on Intel and AMD CPUs, and expanded Rust language support within the kernel to RISC-V.

Plus, as with all kernel releases, there’s a glut of groundwork to offer “initial support” for upcoming CPUs, GPUs, NPUs, Wi-Fi, and other hardware. This ensures Linux support is in place when these new bits of hardware become available.

In an email to the Linux Kernel Mailing List (LKML), Linus Torvalds announce the Linux 6.10 release. He noted “the final week was perhaps not quote [sic] as quiet as the preceding ones, which I don’t love – but it also wasn’t noisy enough to warrant an extra rc.”

Concluding to say “the shortlog below [his email] is – as always – just the last week, not some kind of ‘what happened this release‘”.

Don’t worry Linus, I’m about to provide that 😉.

For an overview of what’s new in this release, scroll on!

Linux 6.10 Features & Changes

Linux 6.10 adds (after much gnashing) the mseal() system call to prevent changes to portions of the virtual address space. This feature will, for now, mainly benefit Google Chrome, which plans to use it to harden its sandboxing.

Linux 6.10 offers encrypted interactions with trusted platform modules (TPM) to improve security

But kernel contributors are beavering away to extend the usefulness of this feature to enable other applications to benefit.

Another initially controversial change is the new memory-allocation profiling subsystem, which helps developers fine-tune memory usage and better identify memory leaks. An explainer from LWN summarises it well.

Linux 6.10 also introduces encrypted interactions with trusted platform modules (TPM) to “make the kernel’s use of the TPM reasonably robust in the face of external snooping and packet alteration attacks”.

The documentation explains: “for every in-kernel operation we use null primary salted HMAC to protect the integrity [and] we use parameter encryption to protect key sealing and parameter decryption to protect key unsealing and random number generation.”

Sticking with security, the Linux kernel’s Landlock security module can now apply policies to ioctl() calls (Input/Output Control), restricting potential misuse and improving overall system security.

On the networking side, Linux kernel 6.10 brings significant performance improvements to zero-copy send operations using io_uring, and introduces the ability to “bundle” multiple buffers for send and receive operations, also delivering an uptick in performance.

Improved Hardware Support in Linux 6.10

I’ll skip the usual “another basic feature to support a next-next-gen GPU/CPU model made it in” since it’s not that interesting for hardware none of us own/on the market — a bit like saying “another brick has been laid but the wall is not yet finished”.

What interests me more is new and improved support in the Linux kernel for hardware some of already own, are considering purchasing, or is due to be released soon — as you’d hope, Linux kernel 6.10 includes plenty of goodies on this front.

ASUS ROG 2024 series and the Lenovo ThinkPad 13X now have working sound via the Cirrus cs35l41 driver. The Microsoft Surface driver adds fan profile switching, and thermal sensor reporting on the Pro model. The ThinkPad ACPI driver picks up TrackPoint double-tap support.

Acer Aspire 1 (image: postmarketOS wiki)

Owners of the ARM-powered Acer Aspire 1 (a114-61) from 2021 will be happy to hear that Linux 6.10 offers near-complete support for the laptop. A new custom EC driver delivers reliable battery charging/reporting, USB Type-C video out, and lid-closed detection.

Many newer laptops feature Intel IPU and MIPI camera sensors for better low-light performance, improved image quality, and faster frame rates. However, the Linux kernel has, owing to a lack of effort from Intel, lacked a robust IPU6 driver.

Proper Intel IPU6 camera drivers are included, fixing webcam issues

Well, good news: Linux kernel 6.10 gains a bona-fide Intel IPU6 driver. Webcams on Tiger Lake (and newer laptops) with 6th-gen Intel IPUs are reported to work like a champ.

The hardware monitoring subsystem (HWMON) is equipped to glean data from more devices, including NZXT Kraken 2023/Elite CPU coolers, AquaComputers Octo flow sensors, and Dell Precision 7540 and G5 5505 laptops.

Bluetooth support is enabled for Intel Wi-Fi 7 BE201 and MediaTek MT7922 Wi-Fi 6E wireless modules, the latter being a popular component in mini PCs like the GEEKOM A8.

Powering down this section, Linux 6.10 ships a set of Intel and AMD P-State CPU frequency scaling updates. The Intel driver adjust handling of disabled ‘turbo’ boost functionality, while the AMD driver improves thermal performance for Zen 2/Threadripper.

On the ARM side, the MediaTek CPUfreq driver gains support for the MT7988A (Filogic 880) system-on-a-chip which is used in several open hardware projects, including the popular Banana Pi BPI-R4 OpenWRT router board.

Gaming Device Buffs in Linux 6.10

Gaming wise, the well-regarded $60 Machenike G5 Pro wireless controller (which, among other features, has hall effect joysticks – having switched to a controller with them, I’d never go back to something without them) is now supported in the mainline xpad driver.

Gaming devices gaining improvements

Linux 6.10 also intros support for the IMU motion sensors on the Steam Deck (accelerometer and gyroscope), and expands HID coverage for the ASUS ROG Ally and ASUS ROG Z13, including the former’s QAM button, and the latter’s light-bar.

An array of ARM-powered devices gain mainline support with Linux kernel 6.10, including the GameForce Chi, a colourful landscape handheld for retro-game emulation powered by a Rockchip RK3326.

And there’s mainline support for the Allwinner H700 chip used by the Anbernic RG35XX H, RG35XX Plus, and RG35XX handhelds, and device-tree support for e.g., thumb-sticks, speakers, USB ports, wi-fi, bluetooth, etc.

In all, pretty decent!

Other changes in Linux 6.10

A couple of months ago, Canonical announced Ubuntu support for the RISC-V Milk-V Mars single-board computer. Linux 6.10 mainlines support for the Milk-V Mars, making that endeavour more viable (especially with the Ubuntu 24.10 kernel likely to be v6.10 or newer).

Others RISC-V improvements abound in Linux 6.10, including the Rust language support, boot image compression in BZ2, LZ4, LZMA, LZO, and Zstandard (instead of only Gzip), and support for using newer AMD GPUs with RISC-V thanks to kernel-mode FPU support.

Aside from the things mentioned above, Linux 6.10 also includes:

  • New ‘Panthor’ DRM driver for newer ARM Mali/Immortalis GPUs
  • DisplayPort/eDP support for Qualcomm Snapdragon X Elite
  • CPUFreq pressure feedback added to kernel scheduler
  • Support for Zone Write Plugging (ZWP)
  • Support for configuring Power over Ethernet (PoE)
  • EROFS filesystem gains Zstandard compression support
  • FUSE subsystem adds integrity protection with fs-verity
  • Assorted bcachefs improvements
  • Improved Firewire IEEE-1394 support
  • Rust language updated to v1.78.0
  • Rust abstractions for time handling now included
  • Crypto usage statistics feature removed from the kernel

There’s a lot more packed into this kernel release than the highlights I’ve covered. The folks at LWN recap the first half of the 6.10 merge window, and the second half. Together, those posts provide a rich overview of nearly everything new in Linux 6.10.

Which saves Linus, a job.

Getting Linux Kernel 6.10

Chances are you want to install Linux kernel 6.10. If you’re a whizz at compiling code, you can: the latest kernel source is available to download.

Ubuntu users wanting the latest Linux kernel will need to do their homework

Don’t want to compile your own kernel? Don’t blame you; wait for your Linux distribution to package this update for you. When will that be? It varies from distro to distro.

Ubuntu LTS users do get new Linux kernel updates, but these kernels are back-ports from newer Ubuntu releases. So for 24.04, there won’t be a new HWE kernel until Ubuntu 24.10 is released.

On the flip, users of the Ubuntu-based Pop!_OS do get the latest Linux kernel (barring snafus and hiccups) as a software update a few weeks after they’re publicly released. This is because System76 package them – they don’t come from Canonical/Ubuntu.

Other Linux blogs often say Ubuntu users can use the Canonical mainline kernel builds. These aren’t intended for regular users: they’re not signed, may fail to boot, don’t receive security updates, and can lack Ubuntu-specific patches/fixes.

However, plenty of impatient sorts do run them, a great many without issues. If there’s a feature or fix in Linux 6.10 you simply can’t wait for then those pre-packaged DEBs are an option — use ’em at your own risk, though okay?