OpenBSD Finally Integrates GPU Hardware Acceleration, Making Video Playback Smooth in Browsers
OpenBSD, a Unix-like operating system and a successor to the BSD systems, has long lacked support for hardware acceleration. This omission had little impact on users deploying OpenBSD on servers but significantly affected the experience for desktop users.
Applications such as browsers and others that rely on Chromium or WebView for rendering require hardware acceleration to enhance performance. Without hardware acceleration, video playback relies solely on CPU for software decoding, which not only hampers performance but also reduces battery life.
At last, OpenBSD has introduced support for hardware acceleration. In its latest major commit, the project has implemented hardware-accelerated video encoding and decoding (VA-API). This feature enables the utilization of GPU for hardware encoding and decoding, eliminating the need for CPU-based software decoding.
libva is an implementation of the VA-API, an open-source library and API specification designed to access GPU hardware acceleration features. It consists of a main library and specific driver backends for each supported hardware.
OpenBSD has now integrated the libva 2.22.0 open-source library. libva, along with the Intel user-space driver in the ports tree, has been incorporated into xenocara. Support for AMD graphics cards requires Mesa, which is also included in the base.
Following this update, OpenBSD desktop users should experience a noticeable performance boost when watching videos on browsers like Chrome or Firefox. However, it's important to ensure the browser's hardware acceleration feature is enabled.
For Chrome: Go to Chrome settings, system, and enable the "Use hardware acceleration when available" option. Restart the browser to activate hardware acceleration.
For Firefox: Navigate to Firefox settings, general, performance, and select "Use recommended performance settings." Restart the browser to apply the changes.