PMS doesn't utilize Intel iGPU (UHD Graphics 630, CoffeLake)

Server Version#: 1.41.3.9314
Player Version#: Same issue on all players. Android Mobile, LG WebOS, ShieldTV…

Hi There,
I have the issue, that PMS which is running in a docker compose environment on QNAP TVS-672X with i5 8400T ignores my iGPU.

devices:
- /dev/dri:/dev/dri

is mounted in Docker-Compose YAML file and my GPU is also available and selectable in PMS Transcoder Settings.
But if plex must transcode videos it only utilizes CPU but not the iGPU, which I can see with intel_gpu_top inside pms container.

I found some log lines in Plex Media Server.log

Unfortunately my container always takes some seconds after startup to get a proper network connection. We can see in the log, that PMS tries to download the Intel driver, but fails, because the internet connection isn’t up yet.

Is there a possibility to reload this drivers manually?

Dec 19, 2024 06:29:12.802 [140172422163256] DEBUG - Completed: [127.0.0.1:48262] 200 GET /identity (3 live) #d 0ms 417 bytes (pipelined: 1)
Dec 19, 2024 06:29:13.088 [140172413377336] WARN - [HttpClient/HCl#1] HTTP error requesting GET https://plex.tv/api/codecs/mpeg2video_decoder?build=linux-x86_64-standard&deviceId=13d8a508-70bb-44fc-8806-0371e1648dd9&oldestPreviousVersion=1%2E24%2E2%2E4973-2b1b51db9&version=e613bce-3d5ad59c62e771ae9cb5738e (6, Couldn't resolve host name) (Could not resolve host: plex.tv)
Dec 19, 2024 06:29:13.089 [140172360760120] ERROR - Codecs: Failed to download XML for codec 'mpeg2video_decoder'
Dec 19, 2024 06:29:13.089 [140172360760120] WARN - Codecs: Failed to download mpeg2video decoder; bailing out
Dec 19, 2024 06:29:13.089 [140172360760120] DEBUG - [GPU] Got device: Intel CoffeeLake-S GT2 [UHD Graphics 630], intel@builtin, default true, best true, ID 8086:3e92:8086:2212@0000:00:02.0, DevID [8086:3e92:8086:2212], flags 0x38e7
Dec 19, 2024 06:29:13.089 [140172360760120] INFO - Preemptively preparing driver imd for GPU Intel CoffeeLake-S GT2 [UHD Graphics 630]
Dec 19, 2024 06:29:13.089 [140172360760120] INFO - [DriverDL/imd] Obtaining driver
Dec 19, 2024 06:29:13.089 [140172360760120] INFO - [DriverDL/imd] Fetching zipped component
Dec 19, 2024 06:29:13.089 [140172360760120] DEBUG - [DriverDL/imd/GetFile/HCl#a] HTTP requesting GET https://downloads.plex.tv/intel-media-driver/imd-1c7ab8176722a768cec9f3e5-linux-x86_64.zip
Dec 19, 2024 06:29:13.089 [140172360760120] INFO - Preemptively preparing driver icr for GPU Intel CoffeeLake-S GT2 [UHD Graphics 630]
Dec 19, 2024 06:29:13.089 [140172360760120] INFO - [DriverDL/icr] Obtaining driver
Dec 19, 2024 06:29:13.089 [140172360760120] INFO - [DriverDL/icr] Fetching zipped component
Dec 19, 2024 06:29:13.089 [140172360760120] DEBUG - [DriverDL/icr/GetFile/HCl#b] HTTP requesting GET https://downloads.plex.tv/intel-compute-runtime/icr-2cc111011bf540977e2b145d-linux-x86_64.zip
Dec 19, 2024 06:29:13.104 [140172413377336] WARN - [HttpClient/HCl#2] HTTP error requesting GET https://plex.tv/media/providers?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx (6, Couldn't resolve host name) (Could not resolve host: plex.tv)
Dec 19, 2024 06:29:13.104 [140172407999288] ERROR - [MediaProviderManager] Error parsing content.
Dec 19, 2024 06:29:13.105 [140172407999288] ERROR - [MediaProviderManager] Error parsing XML: Error parsing file.
Dec 19, 2024 06:29:13.105 [140172407999288] DEBUG - [MediaProviderManager/HCl#c] HTTP requesting GET https://plex.tv/media/providers?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx
Dec 19, 2024 06:29:13.109 [140172413377336] WARN - [HttpClient/HCl#3] HTTP error requesting GET https://plex.tv/api/v2/server/access_tokens?auth_token=xxxxxxxxxxxxxxxxxxxx (6, Couldn't resolve host name) (Could not resolve host: plex.tv)
Dec 19, 2024 06:29:13.110 [140172360760120] DEBUG - MyPlex: using cached data for request for https://plex.tv/api/v2/server/access_tokens?auth_token=xxxxxxxxxxxxxxxxxxxx
Dec 19, 2024 06:29:13.110 [140172390857528] DEBUG - MyPlex: updating with 21 access tokens
Dec 19, 2024 06:29:13.111 [140172390857528] DEBUG - [HCl#d] HTTP requesting GET https://plex.tv/api/v2/server/users?auth_token=xxxxxxxxxxxxxxxxxxxx
Dec 19, 2024 06:29:14.575 [140172413377336] WARN - [HttpClient/HCl#6] HTTP error requesting GET https://plex.tv/api/v2/user?includeSubscriptions=1&includeProviders=1 (6, Couldn't resolve host name) (Could not resolve host: plex.tv)
Dec 19, 2024 06:29:14.575 [140172360760120] DEBUG - MyPlex: using cached data for request for https://plex.tv/api/v2/user?includeSubscriptions=1&includeProviders=1
Dec 19, 2024 06:29:14.575 [140172413377336] WARN - [HttpClient/HCl#5] HTTP error requesting GET https://v4.plex.tv/pms/:/ip (6, Couldn't resolve host name) (Could not resolve host: v4.plex.tv)
Dec 19, 2024 06:29:14.575 [140172393040696] ERROR - PublicAddressManager: Unable to get public IP adddress from myPlex (httpCode=-6): 
Dec 19, 2024 06:29:14.575 [140172367178552] DEBUG - [NSB] NetworkServiceBrowser: SERVER arrived: 127.0.0.1 (PlexAIMHome)
Dec 19, 2024 06:29:14.575 [140172367178552] DEBUG - [NSB] Notifying the system bundle an update to server /system/notify/serverUpdated?host=127.0.0.1
Dec 19, 2024 06:29:14.575 [140172367178552] DEBUG - [NSB] [com.plexapp.system] Sending command over HTTP (GET): /system/notify/serverUpdated?host=127.0.0.1
Dec 19, 2024 06:29:14.575 [140172367178552] DEBUG - [NSB/HCl#e] HTTP requesting GET http://127.0.0.1:42855/system/notify/serverUpdated?host=127.0.0.1
Dec 19, 2024 06:29:14.577 [140172360760120] DEBUG - MyPlex: username is Manuel (Admin), login is ma.trash84@gmail.com, home is 1, has pin
Dec 19, 2024 06:29:14.578 [140172393040696] DEBUG - MyPlex: Updating device connections (from timer: 0)
Dec 19, 2024 06:29:14.578 [140172393040696] DEBUG - [HCl#f] HTTP requesting PUT https://plex.tv/devices/97f4e2e7e1f6b71127279f460a9a23399bc48fc3?Connection[][uri]=http://192.168.178.200:32400&httpsEnabled=1&httpsRequired=0&natLoopbackSupported=0&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx

Looks like that container has trouble to resolve the host plex.tv — so you might have a problem in the network configuration.

Yes, i know there is a network glitch, which I’m not able to resolve for the moment.
After the container is startet plex tries instantly to download that drivers. But the container network needs some seconds to initialize. ATM I’ve no idea why. There is no high CPU usage on the container host and the I5 CPU should be more than strong enough to handle that.

For the moment I’m a step farther.

I can see the plex tries to create a hw context to iGPU but fails.

Dec 19, 2024 09:40:41.884 [140269137414968] DEBUG - [Req#2ae/Transcode] TranscodeUniversalRequest: using augmented profile Android
Dec 19, 2024 09:40:41.884 [140269137414968] DEBUG - [Req#2ae/Transcode] Downloading document http://127.0.0.1:32400/library/metadata/6077?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=e409c777a37918d9-com-plexapp-android
Dec 19, 2024 09:40:41.887 [140269137414968] DEBUG - [Req#2ae/Transcode] We're going to try to auto-select a subtitle for account 1.
Dec 19, 2024 09:40:41.887 [140269137414968] DEBUG - [Req#2ae/Transcode] Selected a foreign audio track: en
Dec 19, 2024 09:40:41.887 [140269137414968] DEBUG - [Req#2ae/Transcode] Audio Stream: 45127, Subtitle Stream: -1
Dec 19, 2024 09:40:41.888 [140269137414968] DEBUG - [Req#2ae/Transcode] Codecs: testing h264_vaapi (encoder)
Dec 19, 2024 09:40:41.888 [140269137414968] DEBUG - [Req#2ae/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (Intel CoffeeLake-S GT2 [UHD Graphics 630])
Dec 19, 2024 09:40:41.888 [140269137414968] ERROR - [Req#2ae/Transcode] [FFMPEG] - No VA display found for device /dev/dri/renderD128.
Dec 19, 2024 09:40:41.888 [140269137414968] DEBUG - [Req#2ae/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 19, 2024 09:40:41.888 [140269137414968] DEBUG - [Req#2ae/Transcode] Could not create hardware context for h264_vaapi
Dec 19, 2024 09:40:41.888 [140269137414968] DEBUG - [Req#2ae/Transcode] Codecs: testing hevc (decoder) with hwdevice vaapi
Dec 19, 2024 09:40:41.888 [140269137414968] DEBUG - [Req#2ae/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (Intel CoffeeLake-S GT2 [UHD Graphics 630])
Dec 19, 2024 09:40:41.889 [140269137414968] ERROR - [Req#2ae/Transcode] [FFMPEG] - No VA display found for device /dev/dri/renderD128.
Dec 19, 2024 09:40:41.889 [140269137414968] DEBUG - [Req#2ae/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 19, 2024 09:40:41.889 [140269137414968] DEBUG - [Req#2ae/Transcode] Could not create hardware context for hevc
Dec 19, 2024 09:40:41.889 [140269137414968] DEBUG - [Req#2ae/Transcode] MDE: Selected protocol hls; container: mkv
Dec 19, 2024 09:40:41.889 [140269137414968] DEBUG - [Req#2ae/Transcode] MDE: analyzing media item 9267

Strange… I can see that coffee Lake QuickSync should be able to transcode H265 up to 10bit as I you can find here →

here my docker-compose.yaml

version: '3.5'

services:
      plex:
        image: plexinc/pms-docker:latest
        container_name: plex
        hostname: PlexAIMHome
        restart: always
        devices: 
           - /dev/dri:/dev/dri
        privileged: true
        volumes:
            - /run/udev:/run/udev:ro
            - /share/ContainersNVMe/PlexMediaServer/config:/config:rw
            - /share/ContainersNVMe/PlexMediaServer/transcode:/transcode:rw
            - /share/MonsterSpace/Videos:/data:rw
            - /share/MonsterSpace/Musik:/dataMusic:rw
        environment:
            - TZ=EUROPE/BERLIN
        mac_address: 00-11-22-00-00-03
        networks:
           qnet-static-eth1-b03c93:
            ipv4_address: 192.168.178.200
#        mem_swappiness: 0
        deploy:
            resources:
                limits:
                    cpus: '4'
                    memory: 4G
    

networks:
  qnet-static-eth1-b03c93:
    external: true 

FYI, I was able to fix mit iGPU problem.
It was a permission issue on /dev/dri/renderD128 on the container host (QNAP). I mounted the this device into the container, I was able to see the device and also intel_gpu_top was working. But plex wasn’t allowed to utilize the device. My quick fix is to perform a chmod 777 /dev/dri/renderD128
After that plex can use the device as it should and CPU hit is much less than before. Also a live transcode of a 4K movie works as expected again.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.