Jump to content
ZiemaF

OMV DOCKER EMBY problem with VAAPI

Recommended Posts

ZiemaF

Hi,

 

I can not run VAAPI on my server.

My server is on an i5-8600K processor, OMV 0.4 4.1.17-1 installed.

EMBY is placed on DOCKER

EMBY works great except for VAAPI.

 

Please help me how to run it.

ffmpeg-transcode.txt

embyserver.txt

post-24867-0-76734500-1546880871_thumb.jpg

post-24867-0-94890600-1546880878_thumb.jpg

Share this post


Link to post
Share on other sites
Luke

Hi, can you please describe the problem? thanks !

Share this post


Link to post
Share on other sites
ZiemaF

GPU video transcoding in the Intel processor does not work.

Generally emby works well, but the GPU transcoding does not work.

I have the OpenMediaVault system installed on the server.

Docker is running on the server.

And on Docker is running EMBY.

Installations I made according to

https://hub.docker.com/r/emby/embyserver/

The user "emby" is created with id: 1000, and I added it to the "video" group (id: 44)

All transcoding goes through all 6 processor cores.

I do not know what I did wrong.

Share this post


Link to post
Share on other sites
Luke

Ok, this has all been revamped in the upcoming new release. I would try that once available. Thanks !

Share this post


Link to post
Share on other sites
ZiemaF

When will it be?

 

Do you think it's EMBY fault?

I am afraid that I have set something wrong. :-)

Share this post


Link to post
Share on other sites
ZiemaF

Hi,

 

I have a new version of EMBY 4.0.0.2 installed.
I still have a problem with hardware transcoding.
What can I do now?
 

post-24867-0-35795900-1547714521_thumb.jpg

post-24867-0-01519200-1547714528_thumb.jpg

post-24867-0-41974500-1547714535_thumb.jpg

Share this post


Link to post
Share on other sites
matty87a

Did you specify the below in your docker run?

--device /dev/dri/renderD128

My docker-compose file is below which works with Vaapi in case it helps (obviously the ports,mounts and uid/gid will be different)

version: '2'
services:
  emby:
    image: emby/embyserver:beta
    restart: unless-stopped
    environment:
      - PUID=112
      - GID=114
      - VIRTUAL_HOST=watch.domain.name
      - LETSENCRYPT_HOST=watch.domain.name
      - LETSENCRYPT_EMAIL=test@example.com
      - GIDLIST=44
      - VIRTUAL_PORT=8096
    ports:
      - "9096:8096"
    expose:
      - "8096"
    volumes:
      - emby_config:/config:rw
      - /media/:/media:rw
    devices:
      - /dev/dri/renderD128

volumes:
  emby_config:
    external: true

networks:
  default:
    external:
      name: Backend

Share this post


Link to post
Share on other sites
ZiemaF
I have everything well set up.

What else do you suggest?

post-24867-0-58934000-1547730090_thumb.jpg

post-24867-0-13085800-1547730095_thumb.jpg

post-24867-0-84413700-1547730098_thumb.jpg

post-24867-0-30041900-1547730340_thumb.jpg

Share this post


Link to post
Share on other sites
Luke

Can you please attach the emby server and hardware detect log? thanks.

Share this post


Link to post
Share on other sites
Luke

Docker is a bit  more difficult and will require setup on your part, for example see @zeimaf's post #9.

 

Did you also map the device, for example:

--device=/dev/dri/card1:/dev/dri/card0 --device /dev/dri/renderD129:/dev/dri/renderD128

This is just an example and may not work for you.

Share this post


Link to post
Share on other sites
ZiemaF
How do I check "vainfo" then return it to me (vainfo.jpg)

Something is wrong

 

Maybe somehow I need to install graphics card drivers (intel)

post-24867-0-21413900-1547797809_thumb.jpg

post-24867-0-48786600-1547797817_thumb.jpg

Share this post


Link to post
Share on other sites
Luke

 

Maybe somehow I need to install graphics card drivers (intel)

 

 

Yes this is very possible. Can you do that? 

Share this post


Link to post
Share on other sites
ZiemaF
I managed to find out more about this problem.

Debian 9 "stretch" does not have a driver for Intel's 8th generation "Coffee Lake" processors. i965-va-driver version (1.7.3-1)

Only in Debian 10 "buster" is the driver for new Intel processors. i965-va-driver version (2.2.0 + dfsg1-2)

OMV 4 is based on Debian 9.

I added drivers for graphics from Debian 10 to Debian 9 (OMV).

 

vainfo after installing drivers from Buster



root@OMV:~# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.4 (libva 2.2.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.3.0
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD


It looks like everything is ok.

 

But hardware transcode in EMBY still does not work.

I attach the EMBA logs in the attachments.

 

It is not easy to run EMBY on Docker on OMV :)


 

embyserver-2019.02.11.txt

hardware_detection-2019.02.11.txt

Share this post


Link to post
Share on other sites
bigverm23

you might have already realized this but you need to install any graphics drivers, including VAAPI inside of Docker.

Share this post


Link to post
Share on other sites
ZiemaF

I did not come up with this idea.

Do you know how to install these gpu drivers in the docker?

 

Wysłane z mojego LG-H870 przy użyciu Tapatalka

Share this post


Link to post
Share on other sites
Luke

our official docker already ships a vaapi driver. Perhaps the container isn't being granted access to the gpu?

Share this post


Link to post
Share on other sites
ZiemaF

How can I check it?

 

Wysłane z mojego LG-H870 przy użyciu Tapatalka

Share this post


Link to post
Share on other sites
Luke

Have you mapped the device properly? To do so, simply use --device=/dev/dri/card1:/dev/dri/card0 --device /dev/dri/renderD129:/dev/dri/renderD128

Of course, adapt the number avec cardX and renderDXYZ to match your system.

Share this post


Link to post
Share on other sites
ZiemaF
Now I'm lost :)

I had set in DEVICE /dev/dri/renderD128

Is this the wrong setting?

Share this post


Link to post
Share on other sites
sephx

Not sure if you got this problem fixed. Others mentioned adding devices, nobody mentioned /dev/dri permissions?

 

If use portainer to manage docker. Edit Emby, find Runtime & Resources Tab. Add Device - > /dev/dri Rebuild your container.

Permissions so container can talk to igpu = chmod -R 777 /dev/dri (rebuilt on server boot, best to add in to compose/boot scripts)

 

Hope that helps!

Edited by sephx

Share this post


Link to post
Share on other sites
Luke

@@sephx thanks for the info !

Share this post


Link to post
Share on other sites
ZiemaF

I found a message in the EMBY log: "Failed to open the drm device /dev/dri/renderD128"

 

 

I also set the permissions for this directory.
My user for Doker also has full permissions for this directory

    "Devices": [
        {
            "DeviceIndex": 0,
            "DeviceInfo": {
                "VendorId": 32902,
                "DeviceId": 16018,
                "SubsytemVendorId": 5208,
                "SubsytemDeviceId": 53248,
                "DevPath": "/sys/bus/pci/devices/0000:00:02.0",
                "DrmCard": "/dev/dri/card0",
                "DrmRender": "/dev/dri/renderD128",
                "IsEnabled": 1,
                "IsBootVga": 1,
                "Error": {
                    "Number": -1,
                    "Message": "Failed to open the drm device /dev/dri/renderD128"
                }
            }
        }
Edited by ZiemaF

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...