2025-07-31, 10:04 PM
I did get it working. I don't know if the setup is completely correct. For any other newbs like me doing similar:
I used the info here but for a newb, it is unclear. I intend to clarify:
https://jellyfin.org/docs/general/post-i...on-proxmox
Proxmox V8.4.5
Ubuntu 24.04 Unprivileged LXC
Intel 14600K UHD770 (iGPU)
I'm going to assume you have the LXC setup with Jellyfin installed, connected to your media libraries and working properly and have familiarized yourself reasonably well with getting around Proxmox and Jellyfin.
In Proxmox Shell enter:
Output should be something like this:
The renderD information is what you want to see, renderD128 in the above example. If you don't see this, find out why before you continue. You're on your own with that. I'm not confident I know all of the reasons and will not guess and lead you down a wrong path.
Start the container, open the console and enter:
Output should be something like this:
The number, 993 in this example is what you need.
Shutdown the container.
Go to Resources for the container.
Select Add > Device Passthrough.
Select the Advanced checkbox by the Add button.
You will need to enter the Device Path and GID in CT.
GID in CT in this example is the number, 993.
The path may be a little more complicated to figure out as a newb. Remember the code used at the beginning, ls -l /dev/dri? ls - lists directory contents. The -l is an option to use a long listing format. What exactly that means, I don't know. Let's modify that code by removing the -l.
Use:
Output should be something like this:
See, slightly different code, different output. Also see that renderD128 is one of the items listed in the contents. So the Device Path is /dev/dri/renderD128 in this example.
Now that you have the necessary information, enter the Device Path and GID in CT and click Add.
Start the container
Go to the Jellyfin Dashboard
Select Playback > Transcoding
Under Hardware acceleration, select Intel QuickSync (QSV)
Under QSV Device enter the path. This will be the same as the Device Path found several steps above. (This may auto-populate. I don't recall. I will be doing a full reinstall of Proxmox after I've figured out how to do everything I need to do and will make any necessary update then.)
At this point it was working for me. Hope it works for you as well. You may need to play around with the encoding and decoding option if it does not seem to work at this point, particularly if you had been messing around with it prior.
You can verify that it is working using this part of the Jellyfin guide:
https://jellyfin.org/docs/general/post-i...y-on-linux
The only issue you will have there is you do not need to use sudo since you are logged in as root in Proxmox. Remove the sudo and it should work.
Ok Linux veterans, roast me about how bad I've done it
I used the info here but for a newb, it is unclear. I intend to clarify:
https://jellyfin.org/docs/general/post-i...on-proxmox
Proxmox V8.4.5
Ubuntu 24.04 Unprivileged LXC
Intel 14600K UHD770 (iGPU)
I'm going to assume you have the LXC setup with Jellyfin installed, connected to your media libraries and working properly and have familiarized yourself reasonably well with getting around Proxmox and Jellyfin.
In Proxmox Shell enter:
Code:
ls -l /dev/dri
Output should be something like this:
Code:
drwxr-xr-x 2 root root 80 Jul 31 16:43 by-path
crw-rw---- 1 root video 226, 1 Jul 31 16:43 card1
crw-rw---- 1 root render 226, 128 Jul 31 16:43 renderD128
The renderD information is what you want to see, renderD128 in the above example. If you don't see this, find out why before you continue. You're on your own with that. I'm not confident I know all of the reasons and will not guess and lead you down a wrong path.
Start the container, open the console and enter:
Code:
cat /etc/group | grep render
Output should be something like this:
Code:
render:x:993:jellyfin
The number, 993 in this example is what you need.
Shutdown the container.
Go to Resources for the container.
Select Add > Device Passthrough.
Select the Advanced checkbox by the Add button.
You will need to enter the Device Path and GID in CT.
GID in CT in this example is the number, 993.
The path may be a little more complicated to figure out as a newb. Remember the code used at the beginning, ls -l /dev/dri? ls - lists directory contents. The -l is an option to use a long listing format. What exactly that means, I don't know. Let's modify that code by removing the -l.
Use:
Code:
ls /dev/dri
Output should be something like this:
Code:
by-path card1 renderD128
See, slightly different code, different output. Also see that renderD128 is one of the items listed in the contents. So the Device Path is /dev/dri/renderD128 in this example.
Now that you have the necessary information, enter the Device Path and GID in CT and click Add.
Start the container
Go to the Jellyfin Dashboard
Select Playback > Transcoding
Under Hardware acceleration, select Intel QuickSync (QSV)
Under QSV Device enter the path. This will be the same as the Device Path found several steps above. (This may auto-populate. I don't recall. I will be doing a full reinstall of Proxmox after I've figured out how to do everything I need to do and will make any necessary update then.)
At this point it was working for me. Hope it works for you as well. You may need to play around with the encoding and decoding option if it does not seem to work at this point, particularly if you had been messing around with it prior.
You can verify that it is working using this part of the Jellyfin guide:
https://jellyfin.org/docs/general/post-i...y-on-linux
The only issue you will have there is you do not need to use sudo since you are logged in as root in Proxmox. Remove the sudo and it should work.
Ok Linux veterans, roast me about how bad I've done it
