Linux 6.8 arrives with great improvements in support, drivers and more

Tux, the mascot of the Linux Kernel

The Linux kernel is the backbone of Linux operating systems (OS), and is the fundamental interface between a computer's hardware and its processes.

In the past week Linus Torvalds announced the general availability of the new version of Linux kernel 6.8, version that took several months and had some delays due to a larger number of deliveries than usual. This release includes several highlights, such as lCompatibility with Broadcom BCM2712 processor on Raspberry Pi 5, the Wi-Fi band mitigation AMD's ACPI-based RFI (WBRF), a new Intel Xe DRM graphics driver, and support for fscrypt in CephFS, among others.

One of the most significant points is Rust's initial support for the LoongArch architecture and Rust's ability to develop network PHY drivers. Although not as big a release as Linux 6.7, Linux 6.8 implements a large number of changes and improvements.

Main news in Linux 6.8

In this new version of Linux 6.8 that is presented, the subsystem Zswap has been improved with the ability to force cold memory pages to be flushed that have not been accessed and will probably remain unused, activating in situations of RAM shortage. Zswap operates by caching pages that are evicted to the swap partition, compressing them into RAM whenever possible rather than flushing them uncompressed to disk. Besides, Zswap introduces a new mode that disables writing to the actual swap partition if the write is unsuccessful, also preventing the download of pages that are already in the Zswap pool on the swap partition.

As to task scheduler, the SCHED_DEADLINE server mechanism has been integrated, which addresses the problem of underutilization of CPU resources by regular tasks when the CPU is monopolized by high priority (real-time) tasks. Previously, the kernel used a real-time throttling mechanism that reserved 5% of the CPU for low-priority tasks, leaving 95% for real-time tasks.

Linux 6.8 now includes an Xe DRM driver designed for GPUs based on the Intel Xe architecture, present in video cards of the Intel Arc family and in integrated graphics from Tiger Lake processors onwards. This Xe driver is independent of the code that supports older platforms, focusing on making the new chips work optimally. It uses a revamped architecture that takes better advantage of DRM subsystem and i915 driver components that are generic and not tied to specific GPUs.

The controller Nouveau has been configured to use GSP firmware functions by default on Turing and Ampere based NVIDIA GPUs. This implies that GPU initialization and control operations are performed by a separate GSP microcontroller, rather than directly programming operations to interact with the equipment.

For its part, the controller AMDGPU has improved its support with the inclusion of ACPI WBRF and VPE DPM, changes to PCIe channel processing, the use of 64-bit sequence numbers in synchronization queues, the addition of AMD-specific color management mechanisms, and resolution of issues related to sleep mode.

Additionally, s has been addedsupport for NSO game controllers (Nintendo Switch Online) as variants of old SNES, Genesis and N64 controllers, adapted for Nintendo Switch. A driver for Adafruit Seesaw gamepads has also been added, and support for Lenovo Legion Go controllers has been enabled on the xpad controller.

It is also highlighted that I know that a new mode to block direct writing to block devices that have mounted filesystems. When this mode is enabled, the root user will not be able to make changes to the file system through manipulations at the block device level. Importantly, this mode is disabled by default and the BLK_DEV_WRITE_MOUNTED parameter must be specified during assembly to enable it.

Of the other changes that stand out:

  • Added initial driver implementation for the Broadcom VideoCore 7.1 GPU used in Raspberry Pi 5 boards.
  • Added a driver for PowerVR 6 series GPUs based on Imagination Technologies' Rogue microarchitecture.
  • Added support for Thunderbolt/USB4 controllers integrated into chips based on the Intel Lunar Lake microarchitecture.
  • AMD has made changes related to support for the future series of processors based on the new Zen 5 microarchitecture.
  • The listmount() and statmount() system calls have been added, allowing detailed information about mounted file systems to be obtained from user space.
  • In the XFS file system, work continues on the ability to use the fsck utility to check and fix identified problems online, without unmounting the file system.
  • Ext4 has implemented the dioread_nolock call for blocks smaller than a page of memory, improving performance by eliminating unnecessary locks.
  • Btrfs added support for the “nospace_cache” mount flag to disable free block cache.
  • AppArmor has switched to the SHA-256 algorithm for rule verification, replacing the previous SHA-1 hashes.
  • The strlcpy() function that was included in Glibc 2.38 C was removed from the kernel. This function is an alternative to strncpy() with buffer overflow protection.
  • KVM has added support for the guest_memfd (guest memory first) subsystem, which provides memory management functions for organizing confidential computing in the guest environment.

Finally, if you are interested in knowing more about it, you can consult the details In the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.