Ubuntu 24.04 & HW transcoding

So likely Synology DS920+ on DSM 7.2
CPU: GeminiLake
Kernel: 4.4.302+
is not going to be supported :pensive:?

Synology is/will be supported.
Synology 4.4 kernel is/will be supported.

We’re trying to get the Intel drivers GeminiLake bug resolved because it impacts far more than just Synology users. (Popular CPU)

1 Like

@michael_766

See the PMS release notes. You should have hardware accelerated transcoding and tone mapping with PMS 1.40.4.8679 (current public release) or later.

I’ve a DS918+ (J3455/Apollo Lake) which was also impacted. Hardware accelerated transcoding and tone mapping both work with PMS 1.40.4.8679.

1.40.4.8679

Oh wow, just tested it and 4k HDR HEVC to 1080p transcoding is actually playable this is actually so helpful, and couldn’t have been at a better time since I have family traveling out of country this week and they will have limited internet access. Thank you for all the hard work, and can’t wait for more details on this.

Hey Chuck,

24.04.1 is coming out on August 15th. Are all the issues fixed (i.e. OpenCL, Intel Compute Runtime library) fixed in 24.04.1? Or TBD?

I’m in a weird spot. I’m running 23.10 because I needed 23.04 to get my i9-13900 working. Waiting to upgrade to whatever is the latest compatible LTS.

Thanks!

1 Like

@er9960

As I understand 24.04.1 , it will have the 6.8 kernel. That fixes a whole bunch of pure-CPU issues.

We have been doing really well on two versions of PMS (across the board eval)
1.40.2 (pre build 8555) works great for folks EXCEPT GeminiLake and ApolloLake. Build 8555 fixes those CPUs.

Since then, the only complaints I’ve had are from those who got lucky with their Arc GPUs during those releases.

Our lab machine is a 13th gen as well (15-13400) and is what we QA all this on.

You should be in good shape.

1 Like

Let’s say I upgrade to 24.04.1, run the 6.8 kernel, and I hypothetically have issues. I can just downgrade just the kernel, run the 6.5 kernel on 24.04.1, and it’ll run fine, right?

I’m eager to jump on 24.04.1 because 23.10 is EOL as of July. Thanks!

You can downgrade the kernel if you like.

I don’t know how much you have in /home but, if you’re able, I always recommend this type layout. It separates home directories from the OS so you’re free to change the OS version whenever you want as well as save PMS and other files from OS install to OS install.

GNU Parted 3.4
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: WD_BLACK SN850X 2000GB (nvme)
Disk /dev/nvme0n1: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                  Flags
 1      1049kB  524MB   523MB   fat16           EFI System Partition  boot, esp
 2      524MB   132GB   131GB   xfs             root
 3      132GB   196GB   64.0GB  linux-swap(v1)  swap                  swap
 4      196GB   1295GB  1100GB  xfs             home

(parted) 

In this setup, my PMS lives in /home with my home directory.
I copy my fstab to /home as well.

I can change to any OS and all my personal & PMS data are kept sacred each time I install a new OS / version.

1 Like

Hello,

i have issues with my Transcoding as well, using Ubuntu 24.04 ofc… but i use it for reasson, i have Intel Reptor Lake U cpu, that is properly supported i belive from kernel 6.7 so downgrade is not option for me…

So far, from what i found… Plex see my GPU as unknown / intel and do not use it… when i searched some solution (drives me mad, as jellyfin can use HW transcode but i want my beloved plex), vainfo on host machine load OK and show a lot of profiles, but when Im in docker machine, vainfo failed to load

libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed

host ubuntu show this

libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
vainfo: Supported profile and entrypoints

And im stuck atm… Im using new Intel Core 3 100U CPU

OK, just for fun i tried to build new docker image based on Ubuntu 24.04, now VAINFO show me correct information, yet plex still show my GPU as unknown/intel and HW transcode is not an option…

Yet i know the card is there and i plex user can use it

ls -la /dev/dri/
total 0
drwxr-xr-x 2 root root         80 Aug  5 11:30 .
drwxr-xr-x 6 root root        360 Aug  5 11:30 ..
crwxrwxrwx 1 root video  226,   1 Aug  5 11:30 card1
crwxrwxrwx 1 root video2 226, 128 Aug  5 11:30 renderD128

Can you please show me: ls -la /dev/dri/by-path ?

Docker:

root@plex-server-test:/# ls -la /dev/dri/by-path
ls: cannot access '/dev/dri/by-path': No such file or directory

and /dev/dri directory

root@plex-server-test:/# ls -la /dev/dri/
total 0
drwxr-xr-x 2 root root         80 Aug  5 11:30 .
drwxr-xr-x 6 root root        360 Aug  5 11:30 ..
crwxrwxrwx 1 root video  226,   1 Aug  5 11:30 card1
crwxrwxrwx 1 root video2 226, 128 Aug  5 11:30 renderD128

Host:

bckp@friday:~$ ls -la /dev/dri/by-path
total 0
drwxrwxrwx 2 root root  80 Aug  4 16:35 .
drwxrwxrwx 3 root root 100 Aug  4 16:35 ..
lrwxrwxrwx 1 root root   8 Aug  4 16:35 pci-0000:00:02.0-card -> ../card1
lrwxrwxrwx 1 root root  13 Aug  4 16:35 pci-0000:00:02.0-render -> ../renderD128

and /dev/dri directory

drwxrwxrwx  3 root root        100 Aug  4 16:35 .
drwxr-xr-x 20 root root       4660 Aug  4 16:35 ..
drwxrwxrwx  2 root root         80 Aug  4 16:35 by-path
crwxrwxrwx  1 root video  226,   1 Aug  4 16:35 card1
crwxrwxrwx  1 root render 226, 128 Aug  4 16:35 renderD128

EDIT: I managed to get the by-path into /dev/dri, yet no difference, HW Transcode still missing :frowning:

I’m able to transcode a 1080p video down to 480p but the video becomes fuzzy/blurry (like the colors are bleeding out like a highlighter). Also think there are some issues with some native 480p content having higher bitrates then they should (and I need to reduce the bitrates in order for it to be playable smoothly)

First we need to figure out why your hardware is wrong.
After that, native host and subsequently containers will fall into line

let’s see the real hardware.
here you see the AMD and Intel in this machine

[chuck@lizum ~.2018]$ sudo lshw -C display
  *-display                 
       description: VGA compatible controller
       product: Polaris 22 XT [Radeon RX Vega M GH]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: /dev/fb0
       version: c0
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=amdgpu latency=0 mode=3840x2160 resolution=3840,2160 visual=truecolor xres=3840 yres=2160
       resources: iomemory:200-1ff iomemory:210-20f irq:189 memory:2000000000-20ffffffff memory:2100000000-21001fffff ioport:e000(size=256) memory:db500000-db53ffff memory:c0000-dffff
  *-display
       description: Display controller
       product: HD Graphics 630
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 04
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm bus_master cap_list
       configuration: driver=i915 latency=0
       resources: iomemory:2f0-2ef iomemory:2f0-2ef irq:178 memory:2ffe000000-2ffeffffff memory:2fa0000000-2fafffffff ioport:f000(size=64)
[chuck@lizum ~.2019]$ 

Do you want to move it to PM?

bckp@friday:~$ sudo lshw -C display
  *-display                 
       description: VGA compatible controller
       product: Raptor Lake-U [Intel Graphics]
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 04
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=2560x1440 resolution=2560,1440 visual=truecolor xres=2560 yres=1440
       resources: iomemory:610-60f iomemory:400-3ff irq:201 memory:6123000000-6123ffffff memory:4000000000-401fffffff ioport:3000(size=64) memory:c0000-dffff memory:611c000000-6122ffffff memory:6000000000-60dfffffff

It is ASUS Nuc with integrated GPU, CPU Is Intel Core 3 100U (14gen Raptor Lake U)
https://ark.intel.com/content/www/us/en/ark/products/236776/intel-core-3-processor-100u-10m-cache-up-to-4-70-ghz.html

Being a RaptorLake, the Intel Arc GPU should be showing.
It is not.

It should be showing a lot more of the hardware – as from this page

You’re only getting the VGA adapter . There is a ton of kernel drivers missing.

When is the last time you updated the init-ramdisk ?

It is 3 day old ubuntu install…

00:00.0 Host bridge: Intel Corporation Device a71b (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-U [Intel Graphics] (rev 04)
00:04.0 Signal processing controller: Intel Corporation Raptor Lake Dynamic Platform and Thermal Framework Processor Participant (rev 01)
00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port (rev 01)
00:06.2 PCI bridge: Intel Corporation Device a73d (rev 01)
00:07.0 PCI bridge: Intel Corporation Raptor Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 01)
00:07.2 PCI bridge: Intel Corporation Raptor Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Raptor Lake Crashlog and Telemetry (rev 01)
00:0d.0 USB controller: Intel Corporation Raptor Lake-P Thunderbolt 4 USB Controller (rev 01)
00:0d.2 USB controller: Intel Corporation Raptor Lake-P Thunderbolt 4 NHI #0 (rev 01)
00:0d.3 USB controller: Intel Corporation Raptor Lake-P Thunderbolt 4 NHI #1 (rev 01)
00:12.0 Serial controller: Intel Corporation Alder Lake-P Integrated Sensor Hub (rev 01)
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
00:17.0 SATA controller: Intel Corporation Alder Lake-P SATA AHCI Controller (rev 01)
00:1d.0 PCI bridge: Intel Corporation Alder Lake PCI Express Root Port #9 (rev 01)
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 01)
00:1f.3 Multimedia audio controller: Intel Corporation Raptor Lake-P/U/H cAVS (rev 01)
00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
02:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013-E13 PCIe3 NVMe Controller (DRAM-less) (rev 01)
57:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)

3days? Then not much time is lost.

I would recommend you grab Ubuntu Desktop 22.04.4LTS, the iso will come with 6.5 kernel from the get go, RaptorLake supported.

PlexInc official docker image and use
image: plexinc/pms-docker:1.40.2.8395-c67dce28e

This specific CPU I have, by Intel pages is supported since 6.7 kernel (tried boot different distro with 6.4 and it even do not boot, not see ethernet or wifi etc…) It was released 1Q24… I can give the ubuntu 22.04 a shot, but i do not belive it will work to be honest…
Well, if you look at this then yeah, 3 days is OK, but i sleep in that 3 days like 5 hours total :smiley:

I was thinking about move to kernel 6.10, if that helps, but not have time for that experiment so far :frowning:

It is RaptorLakeU (refresh) by Intel site, and support is added on 6.7, see https://www.phoronix.com/news/Linux-6.7-drm-intel-ne

Dig into this a bit more… So Core 3 is Raptor Lake Refresh, 13th gen cpu that was added into kernel 6.7 but drivers alone is available for Ubuntu 22.04 from Intel. What was confusing a bit, they speak about Core X as 14th gen, but Core 3 (Raptor Lake U) is same 13th gen, only rebranded to fit new 14th gen cpus lineup… Why the hell make things easy for consumers.

I will try prev version of Ubuntu and see how it will fit

My NUC arrived.

I’m a bit hampered right now as the migration did not go as expected.
( Major display driver issue which will FINALLY be fixed in the 6.8.1 kernel )
With luck, I’ll be back to two monitors then.

I agree with grabbing the 22.04.4 LTS upgrade (bring it fully up to date)
When 22.04.5 is released, a number of bugs will be fixed (like mine)

Have any of you tried this? It’s a lot of work on the transcoder.

https://forums.plex.tv/t/subtitle-burn-in-improvement-test-build/884481/2

You know you can try “mainline” in Ubuntu to update kernel, right?

Btw: 24.04.1 should be released in 9 days…