Intel GPU passthrough for Plex transcoding
-
I'm using XCP-ng with Intel GPU passthrough to a VM that is running a Plex docker. I feel I'm pretty close to having it work, I have seen others get it working but they aren't responding to emails on their blogs. Would love to get some help with this.
You can see from the post below that I was able to get passthrough setup:
Intel GPU passthrough using XCP-ng CenterIn my Debian VM I can see the Intel GPU:
00:05.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630]
I can also see /dev/dri:
root@docker-2:/var/lib/docker/volumes# ls -al /dev/dri total 0 drwxrwxrwx 3 root root 120 Sep 9 16:42 . drwxr-xr-x 18 root root 3320 Sep 10 13:39 .. drwxrwxrwx 2 root root 100 Sep 9 16:42 by-path crwxrwxrwx 1 root video 226, 0 Sep 9 16:42 card0 crwxrwxrwx 1 root video 226, 1 Sep 9 16:42 card1 crwxrwxrwx 1 root render 226, 128 Sep 9 16:42 renderD128
I have plex running in docker with dri passthrough:
devices: - /dev/dri:/dev/dri
Where I'm struggling is getting plex to use the hardware acceleration, I have it enabled in settings transcoder too.
Sep 10, 2022 14:28:50.687 [0x7f2aec8e2b00] Debug — [Req#17b2/Transcode] Codecs: hardware transcoding: testing API vaapi Sep 10, 2022 14:28:50.693 [0x7f2aec8e2b00] Debug — [Req#17b2/Transcode] Codecs: hardware transcoding: testing API vaapi Sep 10, 2022 14:28:50.854 [0x7f2aec8e2b00] Debug — [Req#1991/Transcode] TPU: hardware transcoding: using hardware decode accelerator vaapi Sep 10, 2022 14:28:50.854 [0x7f2aec8e2b00] Debug — [Req#1991/Transcode] TPU: hardware transcoding: zero-copy support present Sep 10, 2022 14:28:50.854 [0x7f2aec8e2b00] Debug — [Req#1991/Transcode] TPU: hardware transcoding: using zero-copy transcoding Sep 10, 2022 14:28:50.854 [0x7f2aec8e2b00] Debug — [Req#1991/Transcode] Codecs: hardware transcoding: testing API vaapi Sep 10, 2022 14:28:50.856 [0x7f2aec8e2b00] Debug — [Req#1991/Transcode] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi Sep 10, 2022 14:28:51.130 [0x7f2aec6d4b00] Debug — TPU: hardware transcoding: enabled, but no hardware decode accelerator found Sep 10, 2022 14:28:51.130 [0x7f2aec6d4b00] Debug — Codecs: hardware transcoding: testing API vaapi Sep 10, 2022 14:28:51.132 [0x7f2aec6d4b00] Debug — TPU: hardware transcoding: final decoder: , final encoder: Sep 10, 2022 14:29:01.362 [0x7f2aec8e2b00] Debug — [Req#1b4a/Transcode/64c67i60wqb62oh7tdwatfv7] TPU: hardware transcoding: enabled, but no hardware decode accelerator found Sep 10, 2022 14:29:01.363 [0x7f2aec8e2b00] Debug — [Req#1b4a/Transcode/64c67i60wqb62oh7tdwatfv7] Codecs: hardware transcoding: testing API vaapi Sep 10, 2022 14:29:01.372 [0x7f2aec8e2b00] Debug — [Req#1b4a/Transcode/64c67i60wqb62oh7tdwatfv7] TPU: hardware transcoding: final decoder: , final encoder:
-
I setup a Windows 10 VM, changed the passthrough and installed plex server and it's able to do a hardware transcoding. So it looks like the passthrough of the gpu is working but for some reason debian through a docker isn't seeing it properly.