Jump to content

Recommended Posts

Posted

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

Posted

Hi, can you please describe the problem? thanks !

Posted

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.

Posted

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

Posted

When will it be?

 

Do you think it's EMBY fault?

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

  • 2 weeks later...
Posted

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

Posted

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
Posted
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

Posted

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

Posted

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.

Posted
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

Posted

 

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

 

 

Yes this is very possible. Can you do that? 

  • 4 weeks later...
Posted
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

Posted

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

Posted

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

Posted

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

Posted

How can I check it?

 

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

Posted

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.
Posted
Now I'm lost :)

I had set in DEVICE /dev/dri/renderD128

Is this the wrong setting?

Posted (edited)

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
Posted (edited)

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

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...