After seven weeks of constant development, Linus Torvalds finally released Linux Kernel 5.10 LTS on 14th December 2020, and it’s now available to the masses. Linus Torvalds announced this fantastic release on the Linux Kernel mailing list, stating:
“Ok, here it is – 5.10 is tagged and pushed out. I pretty much always wish that the last week was even calmer than it was, and that’s true here too”.
He continues to say:
“There’s a fair amount of fixes in here […], but nothing makes me go “we need another week.” Things look fairly normal,”
Linux Kernel 5.10 brings forth new noteworthy features, improvements, and as usual, new and updated drivers to enhance the overall hardware support. Additionally, this is the last Kernel release of the year 2020 and the next Long Term Supported (LTS) release following Linux Kernel 5.4 LTS. The Kernel developers have plans to maintain Kernel 5.10 LTS up to 2026, which is a year longer than Linux Kernel 5.4 LTS released in November 2019 and supported until December 2025.
Currently (as of this new release 5.10), most Linux distributions like Ubuntu, Fedora, and Arch Linux are using the Linux Kernel 5.x series. However, the Debian distribution appears to be more conservative and still uses the Linux Kernel 4.x series. For example, Debian 10 ships with Linux kernel version 4.19.
With that said, let’s take a look at the new features and changes you can expect with Linux kernel 5.10.
What’s New in Linux Kernel 5.10
A multitude of new features and changes are included in this new Kernel update. All these to improve the overall system performance. Below are the top 10 features of the Linux Kernel 5.10 LTS release.
1. XFS Patch for the Year 2038 Problem
The Year 2038 problem, ironically referred to Y2038, Epochalypse, Y2k38, or Unix Y2K is a time problem with Unix and Linux based systems. It arises with the fact that the storage of the number of seconds passed since January 1970 is done in a signed 32-bit integer. Unfortunately, the furthest time supported with the signed 32-bit integer is 19th January 2038. This error is called integer overflow. Any program or software that tries to increment the date past January 2038, the value will instead be stored as a negative value, and systems will interpret it as 13th December 1901 rather than 19th January 2038.
With Linux Kernel 5.10 release, users running the XFS file system should be proud to hear an update that pushes this year to July 2486. It might not be the optimum solution, but for embedded systems and other software developed to last for a lifetime – it will come in handy.
2. Hardware monitoring for AMD Zen3 processors
Kernel 5.10 brings some performance improvements to the AMD Zen3 CPU. Guenter Roeck, one of the Hardware monitoring (hwmon) subsystem maintainers, sent an update to the k10temp driver enabling support for temperature monitoring for the AMD Zen 3 CPU.
3. Support for ‘fast commits’ with the EXT4 filesystem
EXT4 is one of the popular filesystems used in most Linux distributions. With this new release, Kernel 5.10, EXT4 brags of a significant boost in write performance with the additional ‘fast commit’ support. Ideally, ‘fast commits’ makes the JBD2 enable the client file system to make faster commits. JDB2 is a kernel thread necessary for updating the EXT4 filesystem journal. Incase EXT4 will not make a fast commit; then it will roll back to the default regular commits.
4. Support for Apple-inspired Matias Wireless Aluminum Keyboard
The Matias Wireless Keyboard is a slick keyboard with wireless capability to switch between 4 devices wirelessly. Yes! You can use this keyboard with up to four devices. It is compatible with Mac, Windows, Android, and Linux machines. With Linux Kernel 5.10 release, this peripheral device works out-of-the-box.
5. Support for Nintendo Switch Joy-Cons and Pro controller
If you are a gamer on a Linux platform, then you should be pleased to know that Linux Kernel 5.10 brings forth full support for Nintendo Switch Joy-Cons and Pro controller. This new update enables you to use the devices wirelessly via Bluetooth or a wired connection using the USB. I am equally excited since the pro controller is one of the best I have used.
Additionally, still under gaming, Kernel 5.10 also has full support for the Sega Saturn controller, which uses a USB connection.
6. Improved performance for the Btrfs file system
With every new Linux kernel release, we always expect an update on the filesystem and storage. This new Kernel (5.10 LTS) boosts the overall performance for fsync() operations in the Btrfs filesystem. An additional SEV-ES feature encrypts the guest’s processor registers – The AMD’s SEV (Secure Encrypted Virtualization). That prevents access to guest’s registers by the host unless the guest has allowed access.
7. Boot zstd compressed Kernel with MIPS processors
With Linux Kernel 5.10 release, the MIPS (Microprocessor without Interlocked Pipelined Stages) architecture can now boot zstd compressed Kernel. Additionally, the RISC-V can boot systems with the EFI firmware. Some other updates around this are that Kernel 5.10 introduces batching of I/O requests, which result in faster hibernation and resume functions.
8. Display support for Raspberry Pi 4
Linux Kernel 5.10 brings forth updates to the VC4 DRM driver that enables display support for Raspberry Pi 4. Even though Raspberry Pi 4 has been around for a while, the display pipeline code has always been a work in progress. With recent patches, Raspberry Pi 4 should be in good shape with Kernel 5.10 release.
9. Support for io_uring restriction
io_uring Asynchronous framework provides a low-latency interface for apps that need an AIO operation but wants the Kernel to perform the I/O itself. With Kernel 5.10 release, io_uring has received an update enabling the creation of restricted rings. The io_uring has two rings by default – The submission queue (SQ) and a completion queue (CQ), shared between the Kernel and the app. With the introduction of restricted rings, the host app can grant access to its file descriptors by untrusted apps or guests.
10. Memory hints for other processes
Linux systems use the madvise() system call to tell the kernel of their behavior to improve their performance. That’s simple. However, platforms like android need to go through a centralized userspace daemon, which is not very reliable. To solve this issue, Linux Kernel 5.10 introduces a new syscall – process_madvise(2), which is much faster and reliable.
Other Kernel 5.10 features:
- Support for ARM Memory Tagging Extension.
- Support for Ingenic MIPS X2000/X2000E IoT processor.
- Creative Labs SoundBlaster AE-7 sound card support.
- DeviceTree addition for Librem 5 ARM devices.
- Sound card – Creative SoundBlaster Ae-7 support added.
- Additional open-source DRM (direct rendering manager) updates.
- The nasty Spectre vulnerability mitigation is rewritten for ARM.
Download and Install Linux Kernel 5.10
Note: Even though it’s possible to install the mainline Linux kernels on Ubuntu, Linux Mint, and other Ubuntu-based distributions, I wouldn’t recommend it.
That is because you might break your current distribution, leading to a definite loss of data or poor system performance. Unless you are eager to test out hardware supported by this new kernel release, don’t update now. I would recommend you wait for the next release of your current distribution as there is a high probability it will ship with this new LTS kernel (5.10). For example, Ubuntu users can expect Linux Kernel 5.10 to be part of Ubuntu 21.04, set to be released in April 2021.
However, if you want to try out this new Kernel release, it’s available for download from the official page. The release of Linux Kernel 5.10 opens a new window for Kernel 5.11 development, the first kernel release of the year 2021.