From becf3ff825e44f204bfc653b22cb0a11ce73593b Mon Sep 17 00:00:00 2001 From: jkhsjdhjs Date: Tue, 27 Aug 2024 18:13:41 +0200 Subject: [PATCH 1/4] hardware-acceleration/intel: add updated proxmox docs Proxmox VE 8 makes passing host /devices to LXCs even simpler by integrating it in its webinterface. This adds updated instructions for Proxmox 8, while keeping the old instructions for older Proxmox versions available. --- .../hardware-acceleration/intel.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/general/administration/hardware-acceleration/intel.md b/docs/general/administration/hardware-acceleration/intel.md index bbaa6ff44..6647af7a5 100644 --- a/docs/general/administration/hardware-acceleration/intel.md +++ b/docs/general/administration/hardware-acceleration/intel.md @@ -654,7 +654,27 @@ This has been tested with LXC 3.0 and may or may not work with older versions. 5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU `renderD128` if necessary. -#### LXC On Proxmox +#### LXC On Proxmox VE 8 or Newer + +1. Install the required drivers on the Proxmox host. + +2. Add your GPU to the container by adding a `Device Passthrough` for `/dev/dri/renderD128` via the `Resources` section of the web interface. + Be sure to set the correct GID via the advanced options of the dialog, e.g. `989` for the `render` group. + GIDs can be looked up in `/etc/group` inside the LXC. + + :::note + + You must be logged in as `root`. Other administrator accounts are not allowed to perform this action. + + ::: + +3. Restart your container and install the required drivers in your container. + +4. Add the `jellyfin` user to the group you chose in step 2. + +5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU `renderD128` if necessary. + +#### LXC On Proxmox VE 7 or Older :::note From 2028655f10627940b4d1174329fff3601629bb31 Mon Sep 17 00:00:00 2001 From: jkhsjdhjs Date: Wed, 4 Sep 2024 00:07:26 +0200 Subject: [PATCH 2/4] hardware-acceleration/intel: merge and improve Proxmox instructions --- .../hardware-acceleration/intel.md | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/docs/general/administration/hardware-acceleration/intel.md b/docs/general/administration/hardware-acceleration/intel.md index 6647af7a5..aba0bc754 100644 --- a/docs/general/administration/hardware-acceleration/intel.md +++ b/docs/general/administration/hardware-acceleration/intel.md @@ -654,11 +654,14 @@ This has been tested with LXC 3.0 and may or may not work with older versions. 5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU `renderD128` if necessary. -#### LXC On Proxmox VE 8 or Newer +#### LXC On Proxmox -1. Install the required drivers on the Proxmox host. +1. Make sure your GPU is available as a DRI render device on the Proxmox host, e.g. `/dev/dri/renderD128`. + If not, [install the necessary drivers](./index.md#configure--verify-hardware-acceleration) on the host. -2. Add your GPU to the container by adding a `Device Passthrough` for `/dev/dri/renderD128` via the `Resources` section of the web interface. +2. **Proxmox VE 8 or Newer**: + + Setup a `Device Passthrough` for the render device via the `Resources` section of the web interface. Be sure to set the correct GID via the advanced options of the dialog, e.g. `989` for the `render` group. GIDs can be looked up in `/etc/group` inside the LXC. @@ -668,25 +671,19 @@ This has been tested with LXC 3.0 and may or may not work with older versions. ::: -3. Restart your container and install the required drivers in your container. - -4. Add the `jellyfin` user to the group you chose in step 2. - -5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU `renderD128` if necessary. - -#### LXC On Proxmox VE 7 or Older +
-:::note + **Proxmox VE 7 or Older**: -- Jellyfin needs to run in a **privileged** LXC container. + :::note -- An existing unprivileged container can be converted to a priviledged container by taking a backup and restoring it as priviledged. + - Jellyfin needs to run in a **privileged** LXC container. -::: + - An existing unprivileged container can be converted to a priviledged container by taking a backup and restoring it as priviledged. -1. Install the required drivers on the Proxmox host. + ::: -2. Add your GPU to the container by editing `/etc/pve/lxc/.conf`. + Add your GPU to the container by editing `/etc/pve/lxc/.conf`. You may need to change the GIDs in the examples below to match those used on your host. @@ -702,11 +699,11 @@ This has been tested with LXC 3.0 and may or may not work with older versions. lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file ``` -3. Restart your container and install the required drivers in your container. +3. Restart your container and [install the required drivers in your container](./index.md#configure--verify-hardware-acceleration). -4. Add `jellyfin` user to the `video`, `render` and/or `input` groups depending on who owns the device inside the container. +4. Add the `jellyfin` user to the group you chose in Step 2, i.e. the group that owns the DRI render device inside the LXC. -5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU `renderD128` if necessary. +5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU to `renderD128` if necessary. ### Verify On Linux From 1658b0c88368aace56c8a34b1c7b773f775d9862 Mon Sep 17 00:00:00 2001 From: jkhsjdhjs Date: Wed, 4 Sep 2024 17:05:22 +0200 Subject: [PATCH 3/4] hardware-acceleration/intel: improve proxmox docs --- .../general/administration/hardware-acceleration/intel.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/general/administration/hardware-acceleration/intel.md b/docs/general/administration/hardware-acceleration/intel.md index aba0bc754..849134d38 100644 --- a/docs/general/administration/hardware-acceleration/intel.md +++ b/docs/general/administration/hardware-acceleration/intel.md @@ -657,7 +657,7 @@ This has been tested with LXC 3.0 and may or may not work with older versions. #### LXC On Proxmox 1. Make sure your GPU is available as a DRI render device on the Proxmox host, e.g. `/dev/dri/renderD128`. - If not, [install the necessary drivers](./index.md#configure--verify-hardware-acceleration) on the host. + If not, [install the necessary drivers](#debian-and-ubuntu-linux) on the host. 2. **Proxmox VE 8 or Newer**: @@ -671,8 +671,6 @@ This has been tested with LXC 3.0 and may or may not work with older versions. ::: -
- **Proxmox VE 7 or Older**: :::note @@ -699,11 +697,11 @@ This has been tested with LXC 3.0 and may or may not work with older versions. lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file ``` -3. Restart your container and [install the required drivers in your container](./index.md#configure--verify-hardware-acceleration). +3. Restart your container and [install the required drivers in your container](#configure-on-linux-host). 4. Add the `jellyfin` user to the group you chose in Step 2, i.e. the group that owns the DRI render device inside the LXC. -5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU to `renderD128` if necessary. +5. Configure Jellyfin to use QSV or VA-API acceleration and change the default GPU `renderD128` if necessary. ### Verify On Linux From df8fb71812fc1b9da63a28d440d50bf01bd38d81 Mon Sep 17 00:00:00 2001 From: jkhsjdhjs Date: Wed, 11 Sep 2024 21:46:21 +0200 Subject: [PATCH 4/4] hardware-acceleration/intel: fix two typos --- docs/general/administration/hardware-acceleration/intel.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/general/administration/hardware-acceleration/intel.md b/docs/general/administration/hardware-acceleration/intel.md index 849134d38..845ec1ab7 100644 --- a/docs/general/administration/hardware-acceleration/intel.md +++ b/docs/general/administration/hardware-acceleration/intel.md @@ -677,7 +677,7 @@ This has been tested with LXC 3.0 and may or may not work with older versions. - Jellyfin needs to run in a **privileged** LXC container. - - An existing unprivileged container can be converted to a priviledged container by taking a backup and restoring it as priviledged. + - An existing unprivileged container can be converted to a privileged container by taking a backup and restoring it as privileged. :::