HW Transcoding with Ubuntu 22.04 Jammy Jellyfish

Server Version#: 1.27.2.5929
Player Version#: Plex for Mac 1.47.1.3086-6c3d964f

So I updated my Ubuntu 21.04 Desktop install to 22.04, and its borked the hardware transcoding on my i5-10400. Anyone know what I can do to sort this? I can’t find much online about this yet

Ubuntu 22.04 ships with some of the base Intel Compute Runtime packages.

PMS is written to use Intel Compute Runtime version 21.49.21786

The versions shipped with Ubuntu are 22.xx.xxxxx which break HW transcoding.

PMS 1.27.2 (beta download) is distro-version sensitive.

PMS 1.27.2 also performs checks to ensure the correct versions of Intel Compute are installed

(re) installing 1.27.2 will allow the package to point you to the problematic package version.

1 Like

EDIT - OK, I uninstalled and reinstaled again and actually used my eyes, I can see the warnings to install the various missing packages. I’ll give this a go now.

OK, thats not worked somehow. Heres the install of PMS:

josh@yggdrasil:~$ sudo apt install plexmediaserver
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  intel-igc-cm
Use 'sudo apt autoremove' to remove it.
Recommended packages:
  beignet-opencl-icd
The following NEW packages will be installed
  plexmediaserver
0 to upgrade, 1 to newly install, 0 to remove and 1 not to upgrade.
Need to get 83.3 MB of archives.
After this operation, 249 MB of additional disk space will be used.
Get:1 https://downloads.plex.tv/repo/deb public/main amd64 plexmediaserver amd64 1.27.2.5929-a806c5905 [83.3 MB]
Fetched 83.3 MB in 16s (5,274 kB/s)                                                                                                         
Requesting to save current system state
Successfully saved as "autozsys_jkomns"
Selecting previously unselected package plexmediaserver.
(Reading database ... 177974 files and directories currently installed.)
Preparing to unpack .../plexmediaserver_1.27.2.5929-a806c5905_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Pre-installation Validation complete.
Unpacking plexmediaserver (1.27.2.5929-a806c5905) ...
Setting up plexmediaserver (1.27.2.5929-a806c5905) ...
PlexMediaServer install: PlexMediaServer-1.27.2.5929-a806c5905 - Installation starting.
PlexMediaServer install: 
PlexMediaServer install: Now installing based on:
PlexMediaServer install:   Installation Type:   Update
PlexMediaServer install:   Process Control:     systemd
PlexMediaServer install:   Plex User:           plex
PlexMediaServer install:   Plex Group:          plex
PlexMediaServer install:   Video Group:         render
PlexMediaServer install:   Metadata Dir:        /var/lib/plexmediaserver/Library/Application Support
PlexMediaServer install:   Temp Directory:      /tmp 
PlexMediaServer install:   Lang Encoding:       en_US.UTF-8
PlexMediaServer install:   Processor:           i5-10400
PlexMediaServer install:   Intel i915 Hardware: Found
PlexMediaServer install:   Nvidia GPU card:     Not Found
PlexMediaServer install:  
PlexMediaServer install:   OpenCL:              Installed
PlexMediaServer install:   Intel Gmmlib:        Installed
PlexMediaServer install:   Intel IGC Core:      Installed
PlexMediaServer install:   Intel IGC OpenCL:    Installed
PlexMediaServer install:   Intel OpenCL ICD:    Installed
PlexMediaServer install:  
PlexMediaServer install: Completing final configuration.
PlexMediaServer install: Starting Plex Media Server.
PlexMediaServer install: INFO: Please be advised, Intel Compute Runtime packages for version 21.49.21786 have been marked with 'hold' status.
PlexMediaServer install:       This will preserve PMS operation by preventing normal 'apt' updates from overwriting them.
PlexMediaServer install:       PMS will automatically manage (un)hold status for you.   To manage manually,  see 'man apt-mark'.
PlexMediaServer install: PlexMediaServer-1.27.2.5929-a806c5905 - Installation successful.  Errors: 0, Warnings: 0
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
ZSys is adding automatic system snapshot to GRUB menu

And …

josh@yggdrasil:~$ sudo apt update
Hit:1 http://gb.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://gb.archive.ubuntu.com/ubuntu jammy-updates InRelease                                                                           
Hit:3 http://gb.archive.ubuntu.com/ubuntu jammy-backports InRelease                                                                         
Hit:4 https://download.docker.com/linux/ubuntu impish InRelease                                                                             
Hit:5 https://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu jammy InRelease                            
Hit:6 https://downloads.plex.tv/repo/deb public InRelease                                 
Hit:7 http://security.ubuntu.com/ubuntu jammy-security InRelease    
Hit:8 https://repo.nordvpn.com/deb/nordvpn/debian stable InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
josh@yggdrasil:~$ apt list --upgradable
Listing... Done
intel-opencl-icd/jammy 22.14.22890-1 amd64 [upgradable from: 21.49.21786]
N: There is 1 additional version. Please use the '-a' switch to see it

The console shows

Message
[Req#556/Transcode/it43a9qvr2rpw7o8uiio8cb7/6df83bd7-f343-4151-a627-3019efab625f] Transcoder: session it43a9qvr2rpw7o8uiio8cb7 indicated fallback to software decoding

When attempting a transcode. Any other tips I could look into?

Also, interesting to note that the Plex install thinks its put a hold on the runtime package to stop apt upgrading it, but then its showing up as upgradeable

@JoshuaMoreton

Unfortunately, I can’t tell what happened from seeing only console output

Can you please ensure DEBUG logging is enabled (Settings - General - Show Advanced)

Then recreate the playback

Lastly, Download the logs ZIP and attach it here

1 Like

Cheers ChuckPa, really appreciate your help.
Plex Media Server Logs_2022-07-08_16-19-22.zip (1.7 MB)

@JoshuaMoreton

Thanks for that log.

CometLake CPUs have no difficulties with HW transcoding if Intel Compute Runtime package versions are correct.

Your log is showing me that something’s off with them; the hardware isn’t detected.

Jul 08, 2022 13:00:58.761 [0x7efc805ebb38] DEBUG - [Req#3c9/Transcode] Cleaning directory for session it43a9qvr2rpw7o8uiio8cb7 ()
Jul 08, 2022 13:00:58.761 [0x7efc805ebb38] DEBUG - [Req#3c9/Transcode] Starting a transcode session it43a9qvr2rpw7o8uiio8cb7 at offset -1.0 (state=3)
Jul 08, 2022 13:00:58.762 [0x7efc805ebb38] DEBUG - [Req#3c9/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Jul 08, 2022 13:00:58.762 [0x7efc805ebb38] DEBUG - [Req#3c9/Transcode] [Universal] Using local file path instead of URL: /data-pool/film/Interstellar (2014)/Interstellar (2014).mkv
Jul 08, 2022 13:00:58.762 [0x7efc805ebb38] DEBUG - [Req#3c9/Transcode] TPU: hardware transcoding: final decoder: , final encoder: 
Jul 08, 2022 13:00:58.762 [0x7efc805ebb38] DEBUG - [Req#3c9/Transcode/JobRunner] Job running: FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/d53cb63-4323-linux-x86_64/'

Your first clip shows the required versions are installed.
During that install, I launch a 10 second delay then have apt-mark set the hold on the packages.

Your subsequent update, shouldn’t be listing Intel-opencl-icd as upgradeable.
Would you please check apt-mark showhold ?

[chuck@lizum ~.2000]$ apt-mark showhold
beignet-opencl-icd
intel-gmmlib
intel-igc-core
intel-igc-opencl
intel-opencl-icd
[chuck@lizum ~.2001]$ 

You should then be able to confirm these package versions are installed.

# Intel Compute Runtime version requirements
RequiredIntelGmmlib="21.3.3"
RequiredIntelIGCCore="1.0.9441"
RequiredIntelIGCOpenCL="1.0.9441"
RequiredIntelOpenCL="21.49.21786"

which correspond to the naming this way

# ICR Packages (currently external version 21.49.21786)
VersionIntelGmmlib="$(GetVersion intel-gmmlib)"        ; [ "$VersionIntelGmmlib"    = "$RequiredIntelGmmlib" ]    && HaveIntelGmmlib=1
VersionIntelIGCCore="$(GetVersion intel-igc-core)"     ; [ "$VersionIntelIGCCore"   = "$RequiredIntelIGCCore" ]   && HaveIntelIGCCore=1
VersionIntelIGCOpenCL="$(GetVersion intel-igc-opencl)" ; [ "$VersionIntelIGCOpenCL" = "$RequiredIntelIGCOpenCL" ] && HaveIntelIGCOpenCL=1
VersionIntelOpenCL="$(GetVersion intel-opencl-icd)"    ; [ "$VersionIntelOpenCL"    = "$RequiredIntelOpenCL" ]    && HaveIntelOpenCL=1

Yep, those 4 packages show as having a hold

josh@yggdrasil:~$ apt-mark showhold
intel-gmmlib
intel-igc-core
intel-igc-opencl
intel-opencl-icd

but also

josh@yggdrasil:~$ apt list --upgradable
Listing... Done
intel-opencl-icd/jammy 22.14.22890-1 amd64 [upgradable from: 21.49.21786]
N: There is 1 additional version. Please use the '-a' switch to see it

As you might be able to tell, I haven’t a clue whats going on here :sweat_smile:

This is OK.

The message says you have version 21.49.21786 installed and version 22.14.22890 is available.

However, you do not want to install the new version, as Plex only works with versions up to 21.49.21786.

As noted via apt-mark showhold, there is a hold on the package. Therefore, you can continue to use apt update & apt upgrade to update other packages as needed, and the intel-opencl-icd package will not be upgraded (which is what you want).

1 Like

Yep I ran an apt upgrade and it did hold the package back. Still doesn’t get us any closer to the mystery of the software transcoding though unfortunately

OK I fixed it…

Turned Box off, opened it up, took out an old nVidia GTX570 that’s been in it for a while, turned it on again, hardware transcoding working like a dream now.

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