The Linux 5.12 kernel has been released – albeit a week later than original scheduled.

Linus Torvalds announced the release over on the Linux kernel mailing list, writing: “…thanks to everybody who made last week very calm indeed, which just makes me feel much happier about the final 5.12 release.” He adds that despite the extra week’s grace this is “actually a fairly small release overall”.

I reckon Linus’ definition of ‘small’ may differ from ours, so read on to run through the biggest changes and most notable additions proffered in the latest Linux kernel update.

Linux 5.12 Features & Changes

gaming on Linux
Tux is a big gamer

Most of us expect a new kernel releases to come with support for new hardware, but there are plenty of legacy devices out there that which are perfectly functional machines.

For example, Linux 5.12 adds support for the Nintendo 64 —yes: the Nintendo 64! Don’t expect to see a full Linux desktop up and running on the 25 year old console yet, but this kernel update adds support for the system, Nintendo 64 game controllers, and Nintendo 64 data cartridges. Retro gaming enthusiasts will be pleased!

Linux 5.12 includes support for dualsense PlayStation 5 controllers

Talking of games console it’d be remiss if I didn’t mention that Linux 5.12 kernel has official dualsense™ PlayStation 5 controller support, courtesy of Sony. Playstation controllers are popular with gamers of all shades so the mainlining of code to get it working is good news.

Sticking with gaming, Linux 5.12 intros support for Intel’s Adaptive Sync tech, albeit only over DisplayPort and not HDMI (for “reasons”). Adaptive synchronisation promises to help eliminate tearing and stuttering, though only with the Intel graphics driver and a supported 10th gen (or newer) Intel chip.

Away from gaming, this kernel revisions makes it possible to map an UID to a different one in mounted file systems. Why is that useful? Well, it makes it easier to share files between multiple users and multiple machines, including in situations where the file systems is shared with different machines. In Linux 5.12, UID mapping supports FAT and ext4. Support for more filesystems is planned.

On the file systems front Btrfs picks up support for zoned block devices, though the code is in an early state and ‘not ready for real use’ according to LWN; NFS gains support for “eager writes” (helping reduce memory pressure); and F2FS now supports LZ4 “high compression” mode.

Linux 5.12 also supports dynamic thermal power management through a new subsystem. This is able to cap the power usage used by devices to meet specific thermal limits.

Other select changes in this update:

  • Better support for Microsoft Surface laptops
  • Thread-based NAPI polling
  • Non-uniform memory access (NUMA) for RISC-V
  • Boot Linux as a root partition on Microsoft Hypervisor
  • Support for the ACRN hypervisor
  • New memory-debugging tool called “kfence”

Finally, a swathe of largely obsolete 32-bit ARM platforms have been removed, including picoxcell, prima2, tango, u300, and c6x. Why? Because it turns out they have no users! Since there’s no-one to be affected, stripping them out makes for a leaner, cleaner codebase.

For even more details check out this release on Kernel Newbies.

Want to install Linux 5.12?

You can download source code for the Linux kernel 5.12 from the kernel.org website, though you will need to complete it by hand which isn’t everyone’s idea of fun.

For a more stable way to try the latest Linux Kernel you’ll need to wait for it to be packaged up by distro maintainers. This will vary depending on the distro and its release model. Ubuntu, for instance, won’t get Linux 5.12 as an update any time soon, though it will appear in the Ubuntu 21.10 daily builds at some point.

If you want to install Linux 5.12 on Ubuntu 21.04? Well the semi-good news is you can, as Canonical developers maintain mainline kernel builds that you can download here. However, the bad news is that you should not use these are they are intended for development use only

News kernel linux kernel