Jump to content

Problems activating VAAPI in docker container


Recommended Posts

Posted (edited)

Thanks! Just did that. Unfortunately, this didn't get the flag added. I wonder if I shall also purge the server config? The /config folder mounted outside the container as per default recommendations. Although, I don't believe the config for this flag lives there? I inspected the system.xml in the /config directory and did not see anything related to the command line.

Attaching the log files from the beta container:

embyserver.txthardware_detection-63847644904.txt

Edited by Zoomer88
Posted
20 hours ago, Zoomer88 said:

Thanks! Just did that. Unfortunately, this didn't get the flag added. I wonder if I shall also purge the server config? The /config folder mounted outside the container as per default recommendations. Although, I don't believe the config for this flag lives there? I inspected the system.xml in the /config directory and did not see anything related to the command line.

Attaching the log files from the beta container:

embyserver.txt 32.3 kB · 0 downloads hardware_detection-63847644904.txt 171.66 kB · 0 downloads

Dd you set the environment variable like he mentioned?

  • Thanks 1
Posted (edited)

@LukeWell, to be completely honest, no, at first I didn't. Well spotted! It seems, I was so excited to get the beta docker container, that I've even brainfarted.

However, now I added it. Here's my docker inspect for the currently running container:

[
    {
        "Id": "6976adb7253536e0c8f2eb0f09f310ee9849ec73402d282089da878ace4ad461",
        "Created": "2024-04-03T07:01:23.718408893Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 22681,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-04-03T07:01:24.29275286Z",
            "FinishedAt": "0001-01-01T00:00:00Z",
            "StartedTs": 1712127684,
            "FinishedTs": -62135596800
        },
        "Image": "sha256:911907bc0c11f5b5b150a73be0b98709b657fd7b7c97fd5721fe44e024a28cda",
        "ResolvConfPath": "/volume1/@docker/containers/6976adb7253536e0c8f2eb0f09f310ee9849ec73402d282089da878ace4ad461/resolv.conf",
        "HostnamePath": "/volume1/@docker/containers/6976adb7253536e0c8f2eb0f09f310ee9849ec73402d282089da878ace4ad461/hostname",
        "HostsPath": "/volume1/@docker/containers/6976adb7253536e0c8f2eb0f09f310ee9849ec73402d282089da878ace4ad461/hosts",
        "LogPath": "/volume1/@docker/containers/6976adb7253536e0c8f2eb0f09f310ee9849ec73402d282089da878ace4ad461/log.db",
        "Name": "/emby",
        "RestartCount": 0,
        "Driver": "btrfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/volume1/docker/emby:/config",
                "/volume1/SHARE/Video:/Video"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "db",
                "Config": {}
            },
            "NetworkMode": "host",
            "PortBindings": {
                "1900/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "1900"
                    }
                ],
                "7359/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "7359"
                    }
                ],
                "8096/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8096"
                    }
                ],
                "8920/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8920"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=en_US.UTF-8",
                "HOME=/tmp",
                "AMDGPU_IDS=/share/libdrm/amdgpu.ids",
                "FONTCONFIG_PATH=/etc/fonts",
                "LD_LIBRARY_PATH=/lib:/system",
                "LIBVA_DRIVERS_PATH=/lib/dri",
                "OCL_ICD_VENDORS=/etc/OpenCL/vendors",
                "PCI_IDS_PATH=/share/hwdata/pci.ids",
                "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt",
                "UID=1026",
                "GID=100",
                "GIDLIST=2",
                "NVIDIA_VISIBLE_DEVICES=all",
                "NVIDIA_DRIVER_CAPABILITIES=compute,video,utility",
                "XDG_CACHE_HOME=/config/cache",
                "TZ=Europe/Oslo",
                "IGNORE_VAAPI_ENABLED_FLAG=True"
            ],
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [
                {
                    "PathOnHost": "/dev/dri",
                    "PathInContainer": "/dev/dri",
                    "CgroupPermissions": "rwm"
                }
            ],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": null,
            "Name": "btrfs"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/volume1/docker/emby",
                "Destination": "/config",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/volume1/SHARE/Video",
                "Destination": "/Video",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "Synology",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "1900/tcp": {},
                "1900/udp": {},
                "7359/tcp": {},
                "7359/udp": {},
                "8096/tcp": {},
                "8920/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=en_US.UTF-8",
                "HOME=/tmp",
                "AMDGPU_IDS=/share/libdrm/amdgpu.ids",
                "FONTCONFIG_PATH=/etc/fonts",
                "LD_LIBRARY_PATH=/lib:/system",
                "LIBVA_DRIVERS_PATH=/lib/dri",
                "OCL_ICD_VENDORS=/etc/OpenCL/vendors",
                "PCI_IDS_PATH=/share/hwdata/pci.ids",
                "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt",
                "UID=1026",
                "GID=100",
                "GIDLIST=2",
                "NVIDIA_VISIBLE_DEVICES=all",
                "NVIDIA_DRIVER_CAPABILITIES=compute,video,utility",
                "XDG_CACHE_HOME=/config/cache",
                "TZ=Europe/Oslo",
                "IGNORE_VAAPI_ENABLED_FLAG=True"
            ],
            "Cmd": null,
            "Image": "emby/embyserver:beta",
            "Volumes": {
                "/config": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "/init"
            ],
            "OnBuild": null,
            "Labels": {
                "maintainer": "Emby LLC <apps@emby.media>"
            },
            "DDSM": false
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "8928f7002ac4e3d353a1a10f811125ff34e0d2ec6c1e387d5611ef8e8e10a48d",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "0f006089b6f558d43bd6125b48b17dfbd83eafa99b973aa450a27fd59e7ca03a",
                    "EndpointID": "761ce030aa5f47da4b5d140bd3ebaeb2883f0b5484387e7972ab45239e4dc2d1",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]

I've tried setting it different ways, with and without the ' ', and with 1/0, since I saw that there are problems with yaml boolean parsing when running with docker compose. This shouldn't concern me since I'm running the container via docker run, but still. Even then - nothing. The command isn't being added.

Edited by Zoomer88
Posted

Try setting it to true, rather than True.

  • 2 weeks later...
Posted

@LukeMissed your reply again! Gmail auto categories notifications were messed up. Sorry!

I believe, I've tried both true and True. I'll check as soon as I'm near the system and report back today.

Posted

Just tested the container with 'true' (no quotes, no large T) and can confirm that the flag still isn't added, unfortunately.

Here's the env part from the docker inspect:

            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=en_US.UTF-8",
                "HOME=/tmp",
                "AMDGPU_IDS=/share/libdrm/amdgpu.ids",
                "FONTCONFIG_PATH=/etc/fonts",
                "LD_LIBRARY_PATH=/lib:/system",
                "LIBVA_DRIVERS_PATH=/lib/dri",
                "OCL_ICD_VENDORS=/etc/OpenCL/vendors",
                "PCI_IDS_PATH=/share/hwdata/pci.ids",
                "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt",
                "UID=1026",
                "GID=100",
                "GIDLIST=2",
                "NVIDIA_VISIBLE_DEVICES=all",
                "NVIDIA_DRIVER_CAPABILITIES=compute,video,utility",
                "XDG_CACHE_HOME=/config/cache",
                "TZ=Europe/Oslo",
                "IGNORE_VAAPI_ENABLED_FLAG=true"
            ],

And the log is attached. I wonder if I'm missing something obvious here.

embyserver (1).txt

  • 1 month later...
Zoomer88
Posted (edited)

Just wanted to chime in with an update. Somewhere between then and now (between 4.9.0.12-beta and 4.9.0.20-beta to be more precise) this flag seems to be fixed. With IGNORE_VAAPI_ENABLED_FLAG=true I'm getting the "-ignore_vaapi_enabled_flag hardware" in the command line and the transcoding settings appear and everything got detected properly and is working properly.

Thanks to everyone who took part in this! :)

image.png.9b2fc2fe861f4b66d1c4db9bdfb3d24c.png

Edited by Zoomer88
  • Thanks 1
Zoomer88
Posted

Pardon the grammar. It was so unexpected and at the same time got me so excited. Oh, I even forgot, how cool this hardware transcoding thing is. It's super stable and the switching between streams is like instantaneous with near zero cpu time.

@alucryd, you're my hero. Thanks so much for looking into it. If you need further debugging of Synology auto detection mechanism from within the container, I'd be really happy to assist!

 

  • Thanks 2

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