Intel To Have Their New Icelake Media Driver Ready For Pairing Nicely With Linux 5.1+
Written by Michael Larabel in Intel on 5 February 2019 at 08:18 AM EST. 1 Comment
INTEL --
Intel has been developing a new Media Driver for the Video Acceleration API (VA-API) geared for Icelake "Gen 11" graphics hardware and future generations. For Icelake video encode there is new functionality that needs to be exposed in the kernel to user-space for use by the Intel media-driver and it looks like that user-space interface will be christened by the upcoming Linux 5.1 kernel.

The new (user-space) Intel Media Driver succeeds their long-standing libva VA-API driver that's been around for years for their preferred means of GPU-accelerated video playback on the past number of generations of Intel graphics hardware.

This new Intel Media Driver depends upon the Intel GMMLIB "Graphics Memory Management Library" that is also used by their OpenCL NEO driver on Linux too. The media driver supports GPU-based video encode, decode, and post-processing. While the Media Driver is designed for Icelake and future platforms with there being the current VA-API driver already, this media driver does work as well for Broadwell and newer.

Of course, depending upon the generation of hardware the driver capabilities vary with this new Intel Media Driver not magically offering any new encode/decode capabilities for those older generations of hardware. But come Icelake this driver supports VP9 8-bit and 10-bit video encoding and HEVC 8-bit and 10-bit encode, among other features. On the video processing front there is also HDR10 tone mapping exposed by new driver for Icelake graphics.

While the Intel Media Driver is open-source under an MIT license, it does provide some functionality via closed-source shaders around some media codec functionality. The "closed-source shaders" support can be toggled at build-time depending upon whether you want it or not.

The basic Intel Media Driver support is already squared away for Icelake and working with recent versions of the Linux kernel. But for the new VME-based video encoding capability of Icelake, a new user-space API needs to be exposed and that is now what's attempting to land for Linux 5.1. The VME encode is for motion estimation and allows for Hierarchical Motion Estimation to improve video encode quality in video content with a lot of motion.


Now that upstream developers are in basic agreement over the new user-space API, it is set to land in this week's Intel DRM-Next pull request. Having the new interface in now allows these kernel-side bits for Icelake media capabilities to propagate to Linux distributions over the months ahead, in order to allow out-of-the-box support by the time Icelake processors are shipping in retail channels later this year.

Those wanting to check out the latest state of the Intel Media Driver itself can find it over on GitHub.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week