Hardware Acceleration
This page describes how to leverage your system's GPU to ensure acceptable performance in all circumstances.
When properly configured, Broadsign Control Player can use the system’s GPU to decode videos. To ensure the widest level of compatibility, Broadsign Control 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 to achieve acceptable performance.
Note: Broadsign Control Player does not support interlaced videos when hardware acceleration is enabled on Windows.
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 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. For more details, see Video Playback.
Once the test system is properly configured and stable, then hardware acceleration can be gradually introduced across your network.
Microsoft Windows
On Windows, DirectX Video Acceleration 2.0 (DXVA2) is used to decode videos on the GPU. The DXVA1 API is not supported by Broadsign. For more information, see DxVA.
On Windows, Broadsign Control Player 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.
Ubuntu Linux
The technologies for hardware acceleration on Linux are substantially more complicated due to competing standards, interoperability issues and wildly varying implementation quality.
On Linux in Broadsign Control, 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.
Ubuntu 22.04 Hardware Acceleration Differences
With the support of Ubuntu 22, the Broadsign Control hardware acceleration performance undergoes notable changes compared to Ubuntu 20 and earlier versions. The key differences are as follows:
- Supported Hardware:
- Hardware acceleration is now supported on Comet/Ice/Amber Lake (NUC10) and subsequent models in Ubuntu 22. This is a significant enhancement compared to Ubuntu 20 and earlier versions.
- Performance Issues on Ubuntu 22:
- Using hardware acceleration with 60 FPS video on older hardware, such as Comet/Ice/Amber Lake (NUC10) and earlier, may result in performance issues. Broadsign recommends to either disable hardware acceleration or opt for 30 FPS video playback.
- On Kaby/Appollo Lake (NUC7) and earlier, Broadsign recommends to set the environment variable
LIBVA_DRIVER_NAME=i965
, which will force Broadsign Control Player to use the Intel i965 driver. - For Coffee/Amber/Whiskey Lake (NUC7) and earlier, hardware acceleration is not functional for H265/HEVC video with high-depth color profiles, such as 10bit/channel 422.
The hardware acceleration issues mentioned above do not apply when hardware acceleration is disabled in the player's configuration, which is the default setting.
Microsoft Windows
On Windows, Broadsign Control Player supports all GPU vendors.
Ubuntu Linux
On Linux, Broadsign Control Player supports Intel only, every architecture version before Skylake.
Here is a breakdown of supported codecs by architecture:
Ubuntu 22.04
Chipset | MPEG2 | H264 | H265 | VC1 | VP8 | VP9 | JPEG |
---|---|---|---|---|---|---|---|
Raptor Lake | |||||||
Alder Lake | |||||||
Rocket/Tiger Lake | |||||||
Comet/Ice/Amber Lake | See note 1 | See note 1 | |||||
Coffee/Amber/Whiskey Lake | See note 1 | See notes 1, 2 | |||||
Kaby/Appollo Lake | See note 2 | See notes 2, 3 | |||||
Skylake | See note 2 | See note 3 | |||||
Cherry View | |||||||
Broadwell | See note 2 |
Notes:
- 1: Works fine with 30 FPS content. For 60 FPS content, we recommend CPU decoding, that is, the i965 driver may not help.
- 2: Works fine with 30 FPS content. For 60 FPS, we recommend the i965 Intel graphics driver or CPU decoding.
- 3: Some codec profiles are not supported, for example, HEVC 8bit is fine, but HEVC 10bit 422 is not.
Note: Intel iHD drivers are for modern chipsets and therefore their support for older chipsets is limited. We recommend to use the 11th generation of Intel processors and more recent. In some cases, CPU decoding may work better, or forcing the system to use the i965 driver may work better for your use case.
Ubuntu 20.04
Chipset | MPEG2 | H264 | H265 | VC1 | VP8 | VP9 | JPEG |
---|---|---|---|---|---|---|---|
Coffee/Amber/Whiskey Lake | |||||||
Kaby/Appollo Lake | |||||||
Skylake | |||||||
Cherry View | |||||||
Broadwell |
Ubuntu 18.04
Chipset | MPEG2 | H264 | H265 | VC1 | VP8 | VP9 | JPEG |
---|---|---|---|---|---|---|---|
Skylake | |||||||
Cherry View | |||||||
Broadwell | |||||||
Haswell | |||||||
Ivybridge | |||||||
Sandybridge | |||||||
Ironlake | |||||||
G4x |
On Windows, no special configuration is required.
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.