Hardware Acceleration on Linux

Modified on Tue, 01 Nov 2022 at 12:48 PM

Emby supports the following hardware acceleration variants on Linux


  • Nvidia NVDEC & NVENC
    API for video encoding and decoding acceleration using Nvidia GPUs

  • VA API
    Video Acceleration API for Linux is supported by several device manufacturers

  • Intel QuickSync Video
    Intel's brand for its dedicated video encoding and decoding hardware core



Nvidia NVDEC & NVENC

Nvidia provides two hardware acceleration interfaces:

  • NVENCODE API for video encode acceleration
  • NVDECODE API for video decode acceleration (formerly called NVCUVID API)

NVIDIA GPUs contain one or more hardware-based decoder and encoder(s) (separate from the CUDA cores) which provides fully-accelerated hardware-based video decoding and encoding for several popular codecs. With decoding/encoding offloaded, the graphics engine and the CPU are free for other operations.


GPU hardware accelerator engines for video decoding (referred to as NVDEC) and video encoding (referred to as NVENC) support faster than real-time video processing which makes them suitable to be used for transcoding applications, in addition to video playback.


Supported Accelerations

The following accelerations are currently supported by Emby. Please note that Emby may not support all accelerations offered by the hardware and that not all hardware devices will support all accelerations.

  • Decoders
    • H.264 (AVC)
    • H.265 (HEVC)
    • MPEG2
    • MPEG4
    • VC1
    • VP8
    • VP9
  • Encoders
    • H.264 (AVC)


Hardware Requirements

Hardware acceleration is available for most Nvidia devices starting with GPUs from the Kepler generation (e.g. GeForce GT 630) onwards, including both consumer and professional devices. Detailed information about supported hardware can be found in Nvidias GPU Support Matrix.


Required Setup Steps

Always follow the instructions on the Nvidia site, even when the installed driver version appears to be sufficient!

Install drivers from here: Nvidia Driver Downloads and not from your distro.


The minimum required driver version on Linux is 470.57.02


Remarks

  • Nvidia drivers which are included in or provided by Linux distributions, often include only a subset of the Nvidia drivers. It is always recommended to install the full Linux drivers from the Nvidia website.
  • Emby supports headless operation for Nvidia
    It is not required to connect a monitor

Further Reading


Nvidia Video Codec SDK
GPU Support Matrix
Nvidia Driver Downloads
NVENC, NVDEC



VA API


VAAPI (Video Acceleration API) is an open-source library and API specification, which provides access to graphics hardware acceleration capabilities for video processing. It consists of a main library and driver-specific acceleration backends for each supported hardware vendor.


Supported Accelerations

The following accelerations are currently supported by Emby. Please note that Emby may not support all accelerations offered by the hardware and that not all hardware devices will support all accelerations.

  • Decoders
    • H.264 (AVC)
    • H.265 (HEVC)
    • MPEG2
    • VC1
    • VP8
    • VP9
  • Encoders
    • H.264 (AVC)
  • Hardware Filters
    • Scaling
    • Deinterlacing

Hardware Requirements

Required Setup Steps


Intel

The latest Intel drivers are included with Emby server.


AMD

Radeon™ Software for Linux® Installation


Important Note: Do not choose "headless mode" during setup because this would skip the installation of graphics drivers.

Further Reading

Video Acceleration API Intel Video and Audio for Linux

Intel QuickSync Video

Intel® Quick Sync Video uses the dedicated media processing capabilities of Intel® Graphics Technology to decode and encode fast, enabling the processor to complete other tasks and improving system responsiveness.

Supported Accelerations

The following accelerations are currently supported by Emby. Please note that Emby may not support all accelerations offered by the hardware and that not all hardware devices will support all accelerations.

  • Decoders
    • H.264 (AVC)
    • H.265 (HEVC)
    • MPEG2
    • VC1
    • VP8
    • VP9
  • Encoders
    • H.264 (AVC)
  • Hardware Filters
    • Scaling
    • Deinterlacing

Hardware Requirements

Quick Sync was initially built into some Sandy Bridge CPUs, but not into Sandy Bridge Pentiums or Celerons.
An overview of acceleration capabilities built into the various CPU generations can be found under the following links:

Required Setup Steps

The steps for installing the Intel Media SDK may vary depending on your actual system. Please follow the instructions appropriate for your actual setup which you can find here:

Further Reading


Intel QuickSync Video
Driver Support Matrix for Intel® Media SDK and OpenCL™
Codec Support by CPU Generation
GPU Acceleration Capabilities


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article