The Many Great Features & Changes Coming For The Linux 4.17 Kernel

Written by Michael Larabel in Software on 15 April 2018. Page 1 of 2. 1 Comment

Linus Torvalds is expected by the end of the day to release Linux 4.17-rc1, thereby marking the end of the two-week merge window that saw a lot of changes and new features land for Linux 4.17. Here is our original feature overview of the changes to be found in this next major release of the Linux kernel, which should premiere as stable by the middle of June.

While many of you have likely not even upgraded yet to the feature-packed Linux 4.16, there is a lot more coming to look forward to with the Linux 4.17 kernel this summer. There are many Intel/AMD graphics driver improvements, support for obsolete CPU architectures being dropped, some new CPU support added including initial bits for the NVIDIA Xavier SoC, a potentially very big improvement for dropping Linux idle power usage, various file-system improvements, new hardware support, and even improvements for the Macintosh PowerBook 100 series from more than 20 years ago.

What I have found most interesting while covering the merge window the past two weeks and the various "-next" Git branches for weeks prior include:

DRM / Graphics Drivers:

To no surprise, my "favorite" kernel subsystem... There is a lot of new material for Radeon and Intel Direct Rendering Manager (DRM) drivers this cycle while unfortunately no Nouveau / open-source NVIDIA changes made it this time around.

- Intel's DRM driver has now enabled Cannonlake support by default. Cannonlake support was being baked the past few kernel cycles and hidden behind an alpha support flag while now it's turned on by default for these Intel "Gen 10" graphics. Cannonlake CPUs should begin shipping later this year.

- While Cannonlake isn't even out yet, Intel developers have also started on their bring-up for "Gen 11" graphics with Icelake. It will likely be a few kernel releases before that Icelake Linux support is squared away.

- Intel HDCP support has been mainlined with this work that was started by Google's Chrome OS developers. This is the first mainline Linux kernel DRM driver offering High-bandwidth Digital Content Protection (HDCP) but fear not as it won't restrict any users rights unless the Linux desktop ends up seeing user-space software wanting to make use of HDCP and attempt to enable the new kernel support.

- AMDGPU DC enabled by default for all supported graphics cards. Up to now the "Display Code" was only enabled for Vega and Raven Ridge GPUs but now older hardware going back to GCN 1.2 will see the new capabilities out-of-the-box. AMDGPU DC provides HDMI/DP audio, it will allow FreeSync when the remaining interfaces land, atomic mode-setting, HDMI 2.0 features, and other display improvements.

- Support for the yet-to-be-released AMD Radeon Vega 12 graphics processor.

- The AMDGPU driver also now presents WattMan-like power management features.

- Yet another exciting addition on the open-source AMD graphics driver front is AMDKFD working well with discrete GPUs like Polaris and Fiji. What this means is that ROCm / ROCm OpenCL will be able to run out-of-the-box on a mainline Linux 4.17+ kernel where as up until now with these discrete GPUs it has required out-of-tree kernel patches/modules for this GPGPU compute support.

- The Etnaviv DRM driver for reverse-engineered Vivante GC graphics hardware support hs wired into using AMDGPU's scheduler now known as DRM_SCHED.

- There are also VGA Switcheroo improvements and enhancements to the growing number of small ARM/embedded DRM drivers.

Processors / SoCs:

The Linux ARM space continues to be as busy as ever, there's still ongoing work for Spectre/Meltdown mitigation on various architectures, obsolete CPU architectures being dropped, some new CPU/SoCs added, even some patches for Chinese x86 CPUs, and other processor improvements with Linux 4.17.

- Making a splash early in the Linux 4.17 cycle was news of eight obsolete CPU architectures being removed. That indeed happened and it freed up a half million lines of kernel code by getting rid of these old CPU targets.

- In addition to the eight architectures being dropped, POWER4/POWER4+ CPU support was also dropped. POWER5 and newer are still supported as well as the PowerPC 970, but for IBM POWER4 the code had been broken for about two years and was now decided to just drop that code.

- Meanwhile, a new CPU architecture being added to the mainline tree is for the Andes NDS32. The Andes NDS32 hardware is used mostly for IoT, medical, wearable devices, and other low-power/tiny-footprint type devices.

- Initial support for the NVIDIA Tegra "Xavier" SoC for this high-performance ARMv8 chip with custom "Carmel" CPU cores and Volta graphics. Linux 4.17 also has support for the NVIDIA P2972 development board and P2888 CPU module.

- The ARM SCMI framework has been mainlined for offering ARM power management in a platform independent manner, well, once supported by all the ARM players.

- The Samsung (Exynos4) Galaxy S3, Allwinner H6 with Pine H64, Libre Computer Card RK3328, Orange Pi Zero +, Banana Pi M2, and Teres-I are among the new boards/devices supported by the mainline Linux 4.17 kernel.

- IBM s390 improvements for Spectre defense.

- Improvements to the RISC-V CPU code.

- SPARC ADI functionality that provides key-based access to virtual memory.

- AMD improvements for KVM as well as VirtIO GPU preparations for IBM s390.

- Microsemi Ocelot SoC support for these MIPS-based chips.

- Zhaoxin has been working on kernel patches for their Chinese x86 CPUs with this company owned by VIA and the Shanghai government.

Related Articles