Skip to content

/dev/dri/renderD128 now owned by "render" group, plex missing permission #211

@lutzky

Description

@lutzky

Expected Behavior

On a device with quicksync, if /dev/dri is correctly mapped, Plex should use hardware encoding. To accomplish this, Plex should have access to /dev/dri/renderD128.

Current Behavior

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.10
DISTRIB_CODENAME=eoan
DISTRIB_DESCRIPTION="Ubuntu 19.10"
$ ls -l /dev/dri
total 0
drwxr-xr-x  2 root root         80 Nov 19 22:06 by-path
crw-rw----+ 1 root video  226,   0 Nov 19 22:06 card0
crw-rw----+ 1 root render 226, 128 Nov 19 22:06 renderD128

Note that renderD128 is owned by group render, not video. New in ubuntu 19.10, I think :/. Plex container doesn't identify that:

$ docker exec plex ls -l /dev/dri
total 0
crw-rw---- 1 root video 226,   0 Nov 19 22:28 card0
crw-rw---- 1 root   109 226, 128 Nov 19 22:28 renderD128

Resultingly, plex fails to access the device, yielding this error in the logs:

Nov 19, 2019 22:31:40.052 [0x7fea17fff700] DEBUG - Codecs: testing h264 (decoder) with hwdevice vaapi
Nov 19, 2019 22:31:40.052 [0x7fea17fff700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Nov 19, 2019 22:31:40.052 [0x7fea17fff700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Generic error in an external library

Workaround:

sudo chgrp video /dev/dri/renderD128
docker restart plex

Steps to Reproduce

See above.

Environment

OS: Ubuntu 19.10
CPU architecture: x86_64
How docker service was installed:
http://github.com/lutzky/wamc

Command used to create docker container (run/create/compose/screenshot)

http://github.com/lutzky/wamc has my full docker-compose.yml

Docker logs

Relevant snippets shown above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions