Intel released the latest Libva update (version 2.16.0) to improve the VA-API library in Linux. The update will improve graphics hardware acceleration seen in multimedia software. The Libva integration is also commonly used in many drivers within Linux.
Intel updates Libva to assist with the improvement of the VA-API Linux-based graphics library
VA-API combines an API specification and an open-source library, consisting of the primary library source and supported graphics backends to assist every compatible hardware vendor's driver-specific acceleration. Intel designed the library to help with the company's graphics hardware acceleration, especially when encoding and decoding video on Intel's graphics hardware platforms. Intel Arc GPUs offer support of VA-API but also oneVPL, a single library that is part of the oneAPI suite. The library provides AV1 video encoders created by Intel and other video codec formats.
Gallium3D's architecture is created to assist in developing 3D graphics drivers. It is part of the Mesa 3D Graphics Library, a small amount of the complete open-source Mesa Project. VA-API is also used as a "state tracker" for the Gallium3D and the Poulsbo driver.
Poulsbo was Intel's initial Atom processor that offered "GMA 500" graphics. Its 2D integration has been covered in several struggles and inconsistencies, and it was reported two years ago that the company would remove any support. However, it is still available in the current VA-API.
In the newest update, the Intel team has added 245 files and deleted 41 to improve the VA-API library. Included in the update was streamlining the X11 application manager (assists with multiple displays and input devices), removing some of the code to allow the DRM Render-Nodes to process more efficiently, Android support adjustments, Meson compiler system additions, and newer ray tracing enhancements.
The full list of changes to Libva 2.16.0 is listed below.
- add: Add HierarchicalFlag & hierarchical_level_plus1 for AV1e.
- dep: Update README.md to remove badge links
- dep: Removed waffle-io badge from README to fix the broken link
- dep: Drop mailing list, IRC, and Slack
- autotools: use wayland-scanner private-code
- autotools: use the wayland-scanner.pc to locate the prog
- meson: use wayland-scanner private-code
- meson: request native wayland-scanner
- meson: use the wayland-scanner.pc to locate the prog
- meson: set HAVE_VA_X11 when applicable
- style: Correct slight coding style in several new commits
- trace: add Linux ftrace mode for va trace
- trace: Add missing pthread_mutex_destroy
- drm: remove no-longer-needed X == X mappings
- drm: fallback to drm driver name == va driver name
- drm: simplify the mapping table
- x11: simplify the mapping table
- Android: open() with O_CLOEXEC for device fd
- Android: remove convoluted open_device() helper
- android: drop va_fool references
- ci: strengthen ci with -Werror
- ci: va/x11/nvctl: fix Wdeprecated-non-prototype on close_display
- ci: add clang-15 coverage and rearrange runners
- ci: upgrade FreeBSD to 13.1
Users interested in seeing the changes in the history of Libva and comparing the current update against the initial implementation can view the Intel Libva GitHub page for further details.