Linux 5.16 Features Include FUTEX2, Intel AMX, Folios, DG2/Alchemist, More Apple Silicon Support
Now that the Linux 5.16 merge window has ended with yesterday's Linux 5.16-rc1 release, here is my lengthy original overview of what I find most interesting out of this new kernel version. Linux 5.16 won't be out as stable until around the end of the calendar year or early next year, but it will sure make one nice Christmas gift with all of the shiny new features in tow.
See the feature list below for everything I found interesting from my close monitoring of the Git repositories and mailing list, but here are some of the quick lights... Linux 5.16 adds FUTEX2's futex_waitv syscall as another improvement for Windows games running on Linux and even potentially helping native games in the future, memory folios finally made it in, Intel AMX was merged ahead of Sapphire Rapids, DAMON memory reclamation landed, there is now support for the Raspberry Pi Compute Module 4 on mainline, continued enablement around the Apple Silicon (M1), the Nintendo Switch controller driver was merged, AMD and Intel preparations for DisplayPort 2.0, stable Intel Alder Lake S graphics, Intel DG2/Alchemist bring-up, newer Zstd implementation, and much more.
- DisplayPort 2.0 for the AMDGPU driver ahead of next-gen GPUs with DP 2.0 support.
- AMDGPU USB4 display tunneling in preparation for Rembrandt / Yellow Carp adding USB4.
- Newer AMD GPUs are using its new code path for device enumeration.
- VirtIO Context Types support for being able to support more use-cases with the VirtIO virtual graphics driver.
- Intel Protected Xe Path for Gen12 graphics is now supported.
- Alder Lake S graphics are now considered stable and Intel DG1 PCI IDs are also finally present with DG1 being pretty much squared away now. There is also initial bring-up for DG2/Alchemist graphics and other improvements.
- The kernel-side Intel AMX support has landed! Intel has been working on Advanced Matrix Extensions for more than one year now with the LLVM and GCC compilers as well as the Linux kernel patches, etc. Finally with Linux 5.16 the initial AMX kernel-side support is in place ahead of Xeon Sapphire Rapids ramping up in Q2.
- The Intel Raptor Lake model ID patch has been merged for this cycle.
- KVM RISC-V hypervisor support for future RISC-V processors having that hypervisor extension supported.
- Raspberry Pi Compute Module 4 support in the mainline kernel.
- Snapdragon 690 and other new Arm hardware support like the Rockchip RK3566 and RK3688.
- Audio support for Yellow Carp and VanGogh APU audio co-processor work.
- Cluster-aware scheduling support for improving the scheduling decisions for processors where the cores are split into clusters with shared resources like the L2 cache. This is for Arm and x86 though at the moment its leading to regressions for Intel Alder Lake.
- FUTEX2's futex_waitv system call has landed as a big improvement for Windows games running on Linux to better match Windows kernel functionality. Updates to Proton / Wine are needed to make use of this system call and its possible performance benefits.
- Finally being mainlined is the Nintendo Switch controller driver for both the Switch Pro and Joy-Cons controllers.