Among the features you won't find in the mainline Linux 4.9 kernel include the following eight items. Of course, I just limited it to eight and there may be other functionality you desire that's not present -- if so, feel free to share what you wish would be added to the kernel. Given our focus at Phoronix, this list primarily revolves around graphics driver functionality.
- GCN 1.0 support for AMDGPU and with that the GCN 1.1 (CIK) support remains very much experimental. A few months back AMD did ship AMDGPU patches for Southern Islands / GCN 1.0 but that work hasn't yet been merged. For now AMDGPU is just turned on by default for GCN 1.2 and newer. AMDGPU support for the earlier GCN hardware is important for AMDGPU-PRO support and benefiting from Vulkan that is only implemented for this kernel driver. So the mainline GCN 1.0 AMDGPU support won't come until at least Linux 4.9 and even then it will likely be disabled at build-time via a Kconfig switch, but perhaps sooner we'll see preliminary support shipped as part of AMDGPU-PRO.
- Better re-clocking for Nouveau. The performance of the Nouveau driver on modern NVIDIA hardware sucks for putting it in simple terms. One of the big reasons is the lack of dynamic re-clocking support, but the re-clocking support in general leaves a lot to be desired, such as all of the "boost" patches not yet being merged for Kepler. When it comes to more modern GeForce GTX 900 Maxwell hardware, there isn't yet any re-clocking support at all. That Maxwell support may be blocked by NVIDIA on releasing additional firmware blobs, but basically until re-clocking is sorted out for recent generations of NVIDIA hardware on Nouveau, this driver won't be too compelling for Linux gamers.
- 3D acceleration on GTX 1060/1070/1080 hardware. The Linux 4.8 kernel does add kernel mode-setting for all Pascal hardware, but only with the GP100 chip is there any 3D acceleration support at this time. For the chips found in the GTX 1060/1070/1080, Nouveau developers have their hands tied until NVIDIA releases the signed firmware, which will happen at some unknown date in the future. When that firmware does drop, at least much of the bring-up in the DRM and NVC0 Gallium3D driver is already complete thanks to the GP100 work.
- Btrfs RAID5 / RAID6 support is in bad shape. As covered recently, Btrfs RAID 5/6 Code Found To Be Very Unsafe & Will Likely Require A Rewrite. It could be some time before seeing RAID 5/6 support declared stable for the Btrfs file-system.
- Various ARM platform/board coverage. There's still a ton of ARM hardware and devices out there that aren't yet supported by the mainline Linux kernel... Far too much to list. At least with Linux 4.8 the Broadcom SoC used by the Raspberry Pi 3 has mainline support, but there's sadly a ton of other ARM hardware out there where the support can only be found in custom Android kernels and other kernel trees with many vendors being not too motivated in pushing for mainline support.
- SimpleDRM is still on the sidelines. SimpleDRM as a very simple KMS driver for otherwise unsupported graphics hardware by a real DRM driver (sort of like a vesa fallback driver) hasn't been mainlined even with the work sitting around for years. At least the driver was somewhat revived recently and will hopefully be readied for a future kernel release. SimpleDRM is important for in turn pushing features like DRM panic handling.
- CONFIG_VT still hasn't died. Sadly the systemd solution didn't pan out for a user-space console and the aging CONFIG_VT hasn't yet been replaced by a superior solution making use of modern tech. Going on for several years has been calls for killing the Linux kernel's console.
- Mainline ZFS support. The last item to mention for this article... Of course, no easy solution either, but the ZFS file-system isn't supported by the mainline Linux kernel but at least there's the active ZFS On Linux initiative. Not until Oracle decides to re-license the CDDL-based ZFS file-system, if ever, will we see mainline ZFS Linux support.
What else would you hope to see changed or added to the Linux kernel? Share your personal thoughts by commenting on this article in our forums.