this would be adding the groups video and render to whatever account I use to execute my ‘docker compose up -d’ command right?
which UID is the container going to run as?
That’s where you add the groups
it will be running with UID 1000
I assume your_user is UID/GID 1000 ?
sudo usermod -aG video your_username
sudo usermod -aG render your_username
Then log out and back in to make active.
Any progress?
no luck, same thing, 1 transcode pushes CPU to ~100%
Here is what I did:
added device to compose file:
- /dev/dri:/dev/dri
compose file also has PUID/PGID set to 1000/1000
ran sudo usermod -rG video,render myuser
Rebooted
confirmed myuser now has video and render groups
This is not good.
I have PMS running in a container on ProxMox without issue with the N100 CPU
fwiw, if you want to upgrade to 6.8.0 -40 – OK
not -r -a (-aG) append.
my working kernel is:
root@pve:~# uname -a
Linux pve 6.8.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.4-2 (2024-04-10T17:36Z) x86_64 GNU/Linux
root@pve:~#
running out of time here. (east coast US)
yes, sorry, that was a typo, i did use -ag
ill need to figure out how to upgrade to 6.8.0-40. I can wait until tomorrow if its late for you, sorry things will move slow as i’m a novice with most of this.
I would never have guessed you’re a novice ![]()
This is your entry into Linux? lol
lmao yep
, i mean i started this like a month ago on another miniPC which died, so i refunded it and got the b-link n100 instead.
Make you a deal …
- Put docker on hold for a moment.
- TRY the native app
- See what happens
- If nothing, I’ll show you how to purge.
lol, deal, but the reason ive been using docker is because i was following the trash-guide for the whole arr suite. I’ll report back with what happens.
Hmmmmmm. “Trash guide” ???
lol
Putting “arr” tools in docker is fine. I don’t but OK.
They can live in docker because they only access the filesystem.
PMS accesses the hardware.
Anyway, enough for tonight.
You shouldn’t need to add the UID/GID of the user that the Plex docker containter is running to the permissions on /dev/dri as the container image should manage this automatically.
I am running Plex in Docker under an Ubuntu 22.04.4 VM on Proxmox 8.2.2 with successful hardware transcoding on an Intel iGPU.
Here are the permissions in Ubuntu:
root@mars:# ls -l /dev/dri
total 0
drwxr-xr-x 2 root root 100 Sep 1 08:48 by-path
crw-rw---- 1 root video 226, 0 Sep 1 08:48 card0
crw-rw---- 1 root video 226, 1 Sep 1 08:48 card1
crw-rw---- 1 root render 226, 128 Sep 1 08:48 renderD128
root@mars:# cat /etc/group |grep video
video:x:44:
root@mars:# cat /etc/group |grep render
render:x:109:
Here are the permissions in my Plex container (you can see that the plex user has been automatically added into the video group within the container)
root@mars:# docker exec -it plex /bin/bash
root@plex-host:/# ls -l /dev/dri
total 0
crw-rw---- 1 root video 226, 0 Sep 1 08:49 card0
crw-rw---- 1 root video 226, 1 Sep 1 08:49 card1
crw-rw---- 1 root video3 226, 128 Sep 1 08:49 renderD128
root@plex-host:/# cat /etc/group |grep video
video:x:44:plex
video3:x:109:plex
My docker-compose.yml file for reference:
services:
plex:
container_name: plex
shm_size: '12gb'
networks:
download-macvlan:
ipv4_address: X.X.X.X
ipv6_address: X:X:X:X::X
dns:
- Y.Y.Y.Y
dns_search:
- my.local.net
labels: #These are for watchtower to monitor for updates
- com.centurylinklabs.watchtower.enable=true
- com.centurylinklabs.watchtower.monitor-only=true
hostname: plex-host
devices:
- /dev/dri:/dev/dri
environment:
- TZ=Australia/Brisbane
- PLEX_UID=501 # user plex
- PLEX_GID=600 # group plex
- UMASK=007
- CHANGE_CONFIG_DIR_OWNERSHIP=true
- PLEX_CLAIM=claim-XXXXXXX
restart: unless-stopped
volumes:
- /var/lib/plexmediaserver/config:/config
- /var/lib/plexmediaserver/transcode:/transcode
- /srv/smb/media/library:/media/library
- /srv/smb/media/recordedtv:/media/recordedtv
- /srv/smb/storage/media/photos:/media/personal/photos:ro
- /srv/smb/storage/media/videos:/media/personal/videos:ro
image: plexinc/pms-docker:plexpass
networks:
download-macvlan:
name: download-macvlan
driver: macvlan
driver_opts:
parent: eth0
enable_ipv6: true
ipam:
config:
- subnet: X:X:X:X::/64
ip_range: X:X:X:X::X/122
gateway: X:X:X:X::1
- subnet: X.X.X.0/24
ip_range: X.X.X.0/24
gateway: X.X.X.1
I do it because I’ve seen images which don’t do it right.
By having the right GID memberships in line, given it will run with UID=1000,
He’s using the HOTIO image. Do you know if that image makes the adjustments?
I’ve stopped using Docker some 2+ years ago.
I’m entirely on LXD & LXC now. (I put multiple apps in a single container)
If you want to take over, I would not be offended.
@AGoonyGooGoo have you tried running Plex natively outside of Docker to establish whether HW transcoding in that scenario? If it isn’t working outside of Docker then it won’t work inside.
Not sure as I haven’t used it. Both the linuxserver/plex and the official plexinc/pms-docker images make the automatic adjustments.
Hey mate, I have a Beelink with an N100 as well.
As you wrote if you use the 5.15 that comes by default with 22.04LTS it will not work. You need to enable HWE, I believe the Ubuntu page you linked is out of date meaning that 6.5 kernel is EOL and it should update to 6.8 even on 22.04LTS if you enable HWE.
At that point, make sure you reboot and you’re actually running 6.8 with command uname -r, then any guide on how to use an iGPU with Plex should work ![]()
Just tested both the linuxserver/plex and the official plexinc/pms-docker images in clean Ubuntu 22.04LTS and 24.04LTS VMs under Proxmox with v6.8 kernels. Intel iGPU (i7-7700K) HW Transcoding worked with only a basic docker-compose.yaml file. Tried hotio/plex image but couldn’t get the server to be claimed so gave up.
22.04 and k6.8 is running good here once you get to PMS 1.40.5 or newer.
You only need k6.5 if you are at 1.40.2 or older.