diff --git a/docs/general/administration/hardware-acceleration/amd.md b/docs/general/administration/hardware-acceleration/amd.md index e38f5f45..c2266ae1 100644 --- a/docs/general/administration/hardware-acceleration/amd.md +++ b/docs/general/administration/hardware-acceleration/amd.md @@ -21,7 +21,7 @@ On Linux there are two methods: The [AMF](https://github.com/GPUOpen-LibrariesAndSDKs/AMF) interface on Windows is based on DXVA/D3D11VA but on Linux it is based on their Pro Vulkan and OpenCL stack, which is a closed source solution. We only provide full hardware acceleration for it on Windows. -The VA-API interface on Linux is an open source implementation. This open driver stack embraces Intel's [Libva](https://github.com/intel/libva) standard and exposes their video hardware via the [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Gallium RadeonSI driver. And thanks to the developers of RADV Vulkan driver, we can interop between the VA-API and Vulkan on Vega+ GPUs, which make it possible for us to use Vulkan compute to achieve full hardware acceleration on Linux. +The VA-API interface on Linux is an open source implementation. This open driver stack embraces Intel's [Libva](https://github.com/intel/libva) standard and exposes their video hardware via the [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Gallium RadeonSI driver. And thanks to the developers of RADV Vulkan driver, we can interop between the VA-API and Vulkan on Polaris+ GPUs, which make it possible for us to use Vulkan compute to achieve full hardware acceleration on Linux. :::note @@ -47,7 +47,7 @@ There are two different methods that can be used on Windows and/or Linux. Pros a - Pros - Supports Dolby Vision P5, libplacebo renderer, ROCm OpenCL runtime is not required. - - Cons - Linux only, zero-copy only supports Vega+ GPUs for the time being. + - Cons - Linux only, zero-copy only supports Polaris+ GPUs. ## Select GPU Hardware @@ -91,7 +91,7 @@ Note that even though the RX 400 series have HEVC 10-bit decoding support, it do ### Transcode AV1 -AV1 is a royalty-free, future-proof video codec. It saves a lot of storage space and network bandwidth due to smaller file size. The downside is that decoding and encoding is very demanding on the CPU. Hardware acceleration makes it possible to transcode AV1 streams on the fly. AV1 encoding support in Jellyfin is planned in the future. +AV1 is a royalty-free, future-proof video codec. It saves a lot of storage space and network bandwidth due to smaller file size. The downside is that decoding and encoding is very demanding on the CPU. Hardware acceleration makes it possible to transcode AV1 streams on the fly. AV1 encoding support in Jellyfin 10.9 and newer versions. AMD added support for AV1 acceleration in their latest GPUs: @@ -337,21 +337,16 @@ You can follow the configuration steps of [Debian And Ubuntu Linux](/docs/genera #### Arch Linux -AUR `jellyfin-ffmpeg`, `jellyfin-ffmpeg5*` packages and future FFmpeg versions are maintained by Jellyfin team. - :::note Root permission is required. ::: -1. Make and install the AUR [`jellyfin-ffmpeg5-bin`](https://aur.archlinux.org/packages/jellyfin-ffmpeg5-bin) package, then change the FFmpeg path in Jellyfin dashboard to `/usr/lib/jellyfin-ffmpeg/ffmpeg`: +1. Install the Archlinux/extra [`jellyfin-ffmpeg`](https://archlinux.org/packages/extra/x86_64/jellyfin-ffmpeg/) package: ```shell - cd ~/ - git clone https://aur.archlinux.org/jellyfin-ffmpeg5-bin.git - cd jellyfin-ffmpeg5-bin - makepkg -si + sudo pacman -Syu jellyfin-ffmpeg ``` 2. User mode Mesa drivers and the ROCm OpenCL runtime are required to be manually installed for VA-API: diff --git a/docs/general/administration/hardware-acceleration/index.md b/docs/general/administration/hardware-acceleration/index.md index 4ee68a2b..438d2432 100644 --- a/docs/general/administration/hardware-acceleration/index.md +++ b/docs/general/administration/hardware-acceleration/index.md @@ -67,7 +67,7 @@ Partial acceleration may result in slightly higher CPU usage and lower transcodi Jellyfin 10.8 supports full acceleration on mainstream Intel, NVIDIA and AMD (Windows only) GPUs. -Jellyfin 10.9 enables full acceleration for AMD Vega and newer GPUs on Linux via VA-API and Vulkan interop. +Jellyfin 10.9 enables full acceleration for AMD Polaris and newer GPUs on Linux via VA-API and Vulkan interop. Using [jellyfin-ffmpeg](https://github.com/jellyfin/jellyfin-ffmpeg/releases) with Jellyfin is highly recommended, which has a `-Jellyfin` suffix in the version string. diff --git a/docs/general/administration/hardware-acceleration/intel.md b/docs/general/administration/hardware-acceleration/intel.md index 4c847fb3..b51558e0 100644 --- a/docs/general/administration/hardware-acceleration/intel.md +++ b/docs/general/administration/hardware-acceleration/intel.md @@ -41,9 +41,9 @@ Linux QSV [supported platforms](https://github.com/intel/media-driver#supported- - **DG1**/**SG1** -- Alchemist(**DG2**)/ATSM +- Alchemist (**DG2**)/ATSM -- Meteor Lake(**MTL**) +- Meteor Lake (**MTL**) - Future platforms... @@ -121,13 +121,13 @@ Note that the 6th Gen Core lacks 10-bit support, it's best to choose 7th Gen and ### Transcode AV1 -AV1 is a royalty-free, future-proof video codec. It saves a lot of storage space and network bandwidth due to smaller file size. The downside is that decoding and encoding is very demanding on the CPU. Hardware acceleration makes it possible to transcode AV1 streams on the fly. AV1 encoding support in Jellyfin is planned in the future. +AV1 is a royalty-free, future-proof video codec. It saves a lot of storage space and network bandwidth due to smaller file size. The downside is that decoding and encoding is very demanding on the CPU. Hardware acceleration makes it possible to transcode AV1 streams on the fly. AV1 encoding support in Jellyfin 10.9 and newer versions. Intel added support for AV1 acceleration in their latest GPUs: - **Decoding AV1 8/10-bit** - Gen 12 Tiger Lake (11th Gen Core) and newer -- **Encoding AV1 8/10-bit** - Gen 12.5 DG2 / ARC A-series, Gen 12.7 Meteor Lake (14th?? Gen Core) and newer +- **Encoding AV1 8/10-bit** - Gen 12.5 DG2 / ARC A-series, Gen 12.7 Meteor Lake (14th Gen Core Mobile / 1st Gen Core Ultra) and newer :::note @@ -175,7 +175,7 @@ They can be divided into 4 tiers by their performance: ::: -- **Hardcore** - ARC A-series discrete GPU +- **Hardcore** - ARC A-series discrete and integrated GPU :::tip @@ -317,6 +317,8 @@ There are some known upstream Linux Kernel and firmware issues that can affect t 8. The kernel support for Intel Gen 12.5 DG2 / ARC A-series is incomplete before Linux 6.2. +9. The kernel support for Intel Gen 12.7 MTL is incomplete before Linux 6.7. + ### Configure On Linux Host #### Debian And Ubuntu Linux @@ -382,7 +384,7 @@ Root permission is required. ... ``` -6. If the version is newer than `22.xx.xxxxx` just install it. Otherwise install from [Intel compute-runtime repository](https://github.com/intel/compute-runtime/releases). +6. If the version is newer than `22.xx.xxxxx` just install it. For the latest products like N95/N100 and Arc A380, support is provided in `23.xx.xxxxx` and newer. Otherwise install from [Intel compute-runtime repository](https://github.com/intel/compute-runtime/releases). ```shell sudo apt install -y intel-opencl-icd @@ -436,21 +438,16 @@ You can follow the configuration steps of [Debian And Ubuntu Linux](/docs/genera #### Arch Linux -AUR `jellyfin-ffmpeg`, `jellyfin-ffmpeg5*` packages and future FFmpeg versions are maintained by Jellyfin team. - :::note Root permission is required. ::: -1. Make and install the AUR [`jellyfin-ffmpeg5-bin`](https://aur.archlinux.org/packages/jellyfin-ffmpeg5-bin) package, then change the FFmpeg path in Jellyfin dashboard to `/usr/lib/jellyfin-ffmpeg/ffmpeg`: +1. Install the Archlinux/extra [`jellyfin-ffmpeg`](https://archlinux.org/packages/extra/x86_64/jellyfin-ffmpeg/) package: ```shell - cd ~/ - git clone https://aur.archlinux.org/jellyfin-ffmpeg5-bin.git - cd jellyfin-ffmpeg5-bin - makepkg -si + sudo pacman -Syu jellyfin-ffmpeg ``` 2. User mode Intel media drivers and the OpenCL runtime are required to be manually installed for enabling QSV / VA-API: @@ -824,7 +821,7 @@ Gen X refers to Intel graphics architechure instead of the CPU generation. (i.e. - Gen 12.5 DG2/ARC A-Series - Only support LP encoding mode. -- Gen 12.7 MTL and newer - To be announced. +- Gen 12.7 MTL and newer - Only support LP encoding mode. ### LP Mode System Support diff --git a/docs/general/administration/hardware-acceleration/nvidia.md b/docs/general/administration/hardware-acceleration/nvidia.md index 9c41ad04..72659468 100644 --- a/docs/general/administration/hardware-acceleration/nvidia.md +++ b/docs/general/administration/hardware-acceleration/nvidia.md @@ -17,7 +17,13 @@ The NVENC/NVDEC are the proprietary video codec APIs of NVIDIA GPUs, which can b :::caution -Consumer targeted [Geforce and some entry-level Quadro](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new) cards officially support **no more than 3 simultaneously encoding video streams**, regardless of the count of the cards installed. On NVIDIA 530+ drivers the limit is relaxed to 5 simultaneously encoding video streams on Geforce cards. This restriction can be circumvented by applying an [unofficial patch](https://github.com/keylase/nvidia-patch) to the NVIDIA Linux and Windows driver. +Consumer targeted [Geforce and some entry-level Quadro](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new) cards have an artificial limit on the number of concurrent NVENC encoding sessions. This restriction can be circumvented by applying an [unofficial patch](https://github.com/keylase/nvidia-patch) to the NVIDIA Linux and Windows driver. + +| NVIDIA driver | NVENC concurrent sessions | +| -------------- | ------------------------- | +| 550 and newer | Up to 8 encoding sessions | +| 530 to 546 | Up to 5 encoding sessions | +| pre-530 | Up to 3 encoding sessions | ::: @@ -77,7 +83,7 @@ Note that in Maxwell 2nd Gen series only the GM206 variants provide HEVC 10-bit ### Transcode AV1 -AV1 is a royalty-free, future-proof video codec. It saves a lot of storage space and network bandwidth due to smaller file size. The downside is that decoding and encoding is very demanding on the CPU. Hardware acceleration makes it possible to transcode AV1 streams on the fly. AV1 encoding support in Jellyfin is planned in the future. +AV1 is a royalty-free, future-proof video codec. It saves a lot of storage space and network bandwidth due to smaller file size. The downside is that decoding and encoding is very demanding on the CPU. Hardware acceleration makes it possible to transcode AV1 streams on the fly. AV1 encoding support in Jellyfin 10.9 and newer versions. NVIDIA added support for AV1 acceleration in their latest GPUs: @@ -187,7 +193,7 @@ Root permission is required. sudo apt update && sudo apt install -y libnvcuvid1 libnvidia-encode1 ``` - - On Ubuntu: [https://help.ubuntu.com/community/NvidiaDriversInstallation](https://help.ubuntu.com/community/NvidiaDriversInstallation) + - On Ubuntu: [https://ubuntu.com/server/docs/nvidia-drivers-installation](https://ubuntu.com/server/docs/nvidia-drivers-installation) :::note @@ -228,21 +234,16 @@ You can follow the configuration steps of [Debian And Ubuntu Linux](/docs/genera #### Arch Linux -AUR `jellyfin-ffmpeg`, `jellyfin-ffmpeg5*` packages and future FFmpeg versions are maintained by Jellyfin team. - :::note Root permission is required. ::: -1. Make and install the AUR [`jellyfin-ffmpeg5-bin`](https://aur.archlinux.org/packages/jellyfin-ffmpeg5-bin) package, then change the FFmpeg path in Jellyfin dashboard to `/usr/lib/jellyfin-ffmpeg/ffmpeg`: +1. Install the Archlinux/extra [`jellyfin-ffmpeg`](https://archlinux.org/packages/extra/x86_64/jellyfin-ffmpeg/) package: ```shell - cd ~/ - git clone https://aur.archlinux.org/jellyfin-ffmpeg5-bin.git - cd jellyfin-ffmpeg5-bin - makepkg -si + sudo pacman -Syu jellyfin-ffmpeg ``` 2. Install the NVIDIA proprietary driver by following the link. Then install an extra package for NVENC and NVDEC support: