Intel Arc GPU transcoding - discussion

Hi there I noticed it today, that Hardware acceleration is not working with Intel ARc380 on my Arch Linux Server. PMS is installed “bare metal” no docker or VM. I am non version 1.40.3.8555. With tone mapping deactivated the HW transcoding is working. Kernel is 6.9.5, intel-media-driver 24.2.3.

1 Like

Hey, sorry i am trying to keep up with the various threads that seems to be related to the same issue… In the current PMS version (1.40.3.8555), are Intel ARC gpus supported for HW 4K HDR → 1080p SDR tonemapping on linux ?

I am running PMS under linuxserver docker image, hosted on a Proxmox 8.1, Linux kernel 6.8, Debian 12 LXC instance and I’m having the same issue as described here, HW transcoding works fine without tone mapping option enabled.

As I’ve stated elsewhere in those other threads:

  1. We do NOT support Arc GPUs.
  2. They will work, IF-and-only-IF, the drivers are installed by you.
  3. Current Arc support is the same as if using AMD: SDR via VAAPI interface.

The issue is Tonemapping with OpenCL – which doesn’t work on the Arc or AMD.

But tone mapping does work on Arc running Linux kernel 6.5?

If I transcode HDR to SDR with tone mapping enabled, if it weren’t working the dashboard would indicate a software encode and I would see an increase in CPU usage, right? At least that’s been the indicator in the past when certain versions broke tone mapping.

I ask because myself and others with Arc cards have seen tone mapping working, at least according to the above metric. I’d like to know if there is a better indicator that tone mapping is happening in case we are testing incorrectly and the client itself is doing the tone mapping (but I think in that case the dashboard should indicate a direct stream to the client as opposed to a transcode?).

Thanks for the clarification. So if I understand well, tonemapping in my configuration could work using VAAPI and if the appropriated drivers would be manually installed. Is there something to be done inside the docker container appart from passing the /dev/dri or it is all on the host side ?
On the host the drivers looks fine to me but still no luck into having plex using it :

vainfo

libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      ...                             : ....
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileAV1Profile0            : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444_10      : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

without hands-on debugging, i have no way of knowing what’s missing.

I don’t have an Arc GPU at my disposal.

I have read that Intel has their own proprietary drivers for the card which are installed on the host just like Nvidia installs theirs.

1 Like

I think my issue is related to this, see this: Hardware Transcoding with Tone Mapping Fails on Intel Arc A380 - Plex Transcoder Segfault

@ChuckPa If you want to do hands-on testing on a Arc, i can give you access to my server, with A380 installed. Just send me a message, but in my thread there are some comprehensive logs (i think)

Also I got it working by downgrading to 1.32.5.7328, a version just before this thread started.

Thank you.

As soon as we correct a problem with Synology units, we’ll be able to move forward with our plans which means we will at some point address Arc support.

Be advised, somewhere here in the forum, someone using an Arc 750 is already getting full HDR tonemapping on the card.

If you find the post and can confirm, would you mind sharing with everyone else ?

Are you referring to this?

I am just a little bit baffled because since I am playing around with this, I came across a number of people with DG2 or recent-gen Intel CPUs that run into similar issues as myself. Some even identified a segfault error themselves.

As the “solution” for me now turned out to be downgrading to a year-old version, I ask myself what the problem could be that it hasn’t been fixed within a year despite it is a feature that was evidently already implemented correctly.

But anyway I am looking forward to your proceedings with Arc support.

EDIT:
@ChuckPa I looked closer at the post i linked above, contrary to your statement that his A750 is being utilised, the behaviour on his server is exactly like on mine - as I described in my other thread (and as can be seen in his logs as well). The Transcoder tests and selects the Arc successfully, then immediately after starting actually transcoding, it exits because of a segmentation fault (in the libigdrcl.so file downloaded by PMS).

My working theory is, that functionality was added at some point between 1.32.5.7328 and now, that downloads the necessary runtimes instead of using the already installed ones, but the downloaded files fail in many cases.

Hate to shoot your theory:

chuck@plexqa-av1:~$ dpkg -l | grep -i plexm
ii  plexmediaserver                        1.40.4.8579-cb9624c98                   amd64        Plex organizes all of your personal media so you can easily access and enjoy it.
chuck@plexqa-av1:~$ uname -a
Linux plexqa-av1 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May  7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
chuck@plexqa-av1:~$ cat /proc/cpuinfo | grep 'model name' | uniq
model name	: 13th Gen Intel(R) Core(TM) i5-13400
chuck@plexqa-av1:~$ 

We have QSV and Nvidia GPU support (including AV1)

I will talk to the transcoder engineer but if you can turn off tonemapping and it works – then you’ll be exactly at where we expect because we do not yet support ARC GPUs

You’ll have the exact same level of support as AMD GPUs… which is SDR-only via VAAPI.

Hmm, well I am just brainstorming here…

But the question remains, why does it work with my Arc in 1.32.5.7328 with ToneMapping and everything, but in later versions it fails?

Intel Compute Runtime library update.

We’ve asked Intel because it looks like a bug.
It fails on something as simple as a Synology J4125 (GeminiLake)

It doesn’t fail on newer CPUs so there’s something in there about the OpenCL Virtual Memory buffer it doesn’t like (LLVM)

We need to update this to move forward with the transcoder updates

2 Likes

Mine works fully with tone mapping on an arc a310, but I’m running a 6.5 kernel, I am assuming you mean with the 6.8 kernel?

Funny, i am running the 6.5 kernel as well and it does not work, which OS+Version and PMS Version are you using?

Ubuntu 22.04.4
Kernel 6.5.0-41

Plex is version 1.40.2.8395

So not the absolute newest, but well after the versions people started reporting issues with. I could snapshot the VM and upgrade PMS if you would want me to test.

During the initial setup of the ARC card I did follow Intel’s documentation for this specific version of Ubuntu to install all their compute runtimes and set up render user etc., as the default drivers that were coming with Ubuntu were said not to be enough.

I documented that process here: Anybody get HW transcoding working with the A380 on Ubunutu? - #44 by NateTheBrewer

And then further down in the same thread here: Anybody get HW transcoding working with the A380 on Ubunutu? - #48 by NateTheBrewer

But the article I referenced there from Intel seems to have been updated slightly.

Since then, the repository I added for the drivers stopped working and actually messed up apt pretty good, so I removed it, had to roll back some of their mesa packages and upgraded using the default repositories in Ubuntu to resolve an issue I had from that whole upgrade process.

Recently updated to server version 1.40.4.8679, and now hardware tonemapping is broken on the ARC card.

1 Like

I’m also experiencing this. Running Unraid 6.12.10 with the latest version of thor2002ro’s kernel (6.9.5) and the latest version of Plex. Ryzen 5600X + Arc A380. I wish I’d heard about this before I updated everything.

FWIW:

I am getting (finally) a new NUC - Scorpion Canyon.

It will have QSV, Nvidia RTX 4070, and ARC onboard.
(i9 w/ 96GB RAM, dual display port monitors, and 3x Gen4 SSD)

With it, i’ll be able to help get things worked out as we get to formal development.

1 Like

Thank you so much! I am looking forward to using my Arc card for plex :slight_smile: