Hardware Acceleration

This page describes how to leverage your system’s GPU to ensure acceptable performance in all circumstances.

When properly configured, Broadsign Player’s AV playback engine can use the system’s GPU to decode videos. In order to ensure the widest level of compatibility, the built-in Broadsign AV Player will by default use the system’s CPU to decode all videos. In most business cases, this is adequate.

However, in some business cases, the system’s CPU is not adequate to decode all videos. In these exceptional cases, leveraging the GPU is often required in order to achieve acceptable performance.

Proper hardware acceleration depends on system configuration and driver versions, especially with Linux.

Improper configuration can cause system instability and crashes. Therefore, it is not recommended to simply enable hardware acceleration blindly across your entire production network. Rather, the best practice would be to use a single test system, and assign a configuration profile to it that enables Hardware Acceleration.

Once the test system is properly configured and stable, then hardware acceleration can be gradually introduced across your network.

Windows

On Windows, DirectX Video Acceleration 2.0 (DXVA2) is used to decode videos on the GPU. DXVA2 requires Windows Vista and above. It is not supported on Windows XP. The DXVA1 API is not supported by Broadsign. For more information, see DxVA.

On Windows, Broadsign AV uses direct rendering mode, which means that once a video frame is decoded by the GPU, it is the GPU that renders it on-screen directly, without having to transfer the decoded frame back over the system bus and into system RAM. For this reason and many others, Broadsign recommends using Windows for hardware acceleration.

Linux

The technologies for hardware acceleration on Linux are substantially more complicated due to competing standards, interoperability issues and wildly varying implementation quality. Broadsign AV uses the Video Acceleration API (VA-API) to achieve hardware acceleration on Linux. VA-API is an open standard that allows different kinds of back-ends, most notably, VDPAU for Nvidia chipsets. For more information, see Video Acceleration API.

On Linux in Broadsign Core, direct rendering is not possible. Once the GPU decodes the video frame, it has to be sent back to system RAM before it can be displayed on-screen using the XVideo output mechanism. This is the same technique used by the Video Lan Player (VLC).

Windows

On Windows, Broadsign AV supports all GPU vendors.

Linux

On Linux, Broadsign AV supports Intel only, every architecture version before Skylake.

Here is a breakdown of supported codecs by architecture:

Chipset MPEG2 H264 H265 VC1 VP8 VP9 JPEG
Skylake Y Y Y Y Y Y Y
Cherry View Y Y Y Y Y Y Y
Broadwell Y Y Y Y
Haswell Y Y Y Y
Ivybridge Y Y Y Y
Sandybridge Y Y Y
Ironlake Y Y
G4x Y

On Windows, no special configuration is required.

Simply ensure that you have the latest driver installed from your video card vendor’s website. Do not rely on video drivers supplied by Microsoft Windows Update.

On Linux, no special configuration is required.