Quicksync transcode plex jasper lake 5105 cpu not working

Brief description of the problem

Hardware transcode in PLEX not working with Jasper Lake 5105 CPU

Detailed step by step instructions to reproduce the problem

New install of rockstor 5.0.5-0 on CWWK 5105 nas motherboard. At first boot I had the following:

cd /dev/dri

bash: cd: /dev/dri: No such file or directory
To fix this I did the following:
edit: /etc/default/grub
commented out the line: GRUB_CMDLINE_LINUX_DEFAULT=“nomodeset plymouth.enable=0 rd.kiwi.oem.maxdisk=5000G”

grub2-mkconfig -o /boot/grub2/grub.cfg

After reboot the directory was created:

cd /dev/dri

ls

by-path card0 renderD128

When running a PLEX transcode I get the following error in the PLEX console:

[Req#1855/Transcode/lgx0w3r2286pbozj5pztis7e/0336e465-c3c4-49fc-aa9b-022874b63c80] [h264_vaapi @ 0x7ff6314ee580] Driver does not support any RC mode compatible with selected options (supported modes: CQP).
[Req#1874/Transcode/lgx0w3r2286pbozj5pztis7e/0336e465-c3c4-49fc-aa9b-022874b63c80] Error initializing output stream 0:0 – Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

I see it it using h264_vaapi in reading other posts should it be using h264_qsv?

dmesg | grep i915 shows the following “bin failed with error -2”?
I’m hopeful if I can get the .bin file to load this will start working. I haven’t found anything on the web about doing this in Opensuse.

[ 6.591794] fb0: switching to i915 from EFI VGA
[ 6.593696] i915 0000:00:02.0: vgaarb: deactivate vga console
[ 6.604870] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 6.605969] i915 0000:00:02.0: Direct firmware load for i915/icl_dmc_ver1_09.bin failed with error -2
[ 6.605978] i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/icl_dmc_ver1_09.bin. Disabling runtime power management.
[ 6.605982] i915 0000:00:02.0: [drm] DMC firmware homepage: i915 - kernel/git/firmware/linux-firmware.git - Repository of firmware blobs for use with the Linux kernel
[ 6.652151] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[ 6.655208] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 9.362983] fbcon: i915drmfb (fb0) is primary device
[ 9.439043] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device

I’m new to Linux so I’m at a loss as to what logs to look into for more information or how to get the .bin file to load at boot to correct the error.

@fampton1 welcome to the Rockstor community.

Quick question, are you running the Plex Rockon, or did you install it directly on the system?

As you already pointed out, in the dmesg it seems that the i915 firmware doesn’t load correctly during boot up. Looking at the TrueNAS forums there some complaints that the 5.1x kernel versions don’t play well with the N5105 … I didn’t read to much further on that.

May be it’s worthwhile exploring to use the kernel backport on Rockstor …

Installing the Stable Kernel Backport — Rockstor documentation.

Also, you did install a bleeding edge version of Rockstor that contains quite a few changes (some of them still in progress). If you start out with the latest stable (that you can find on the downlad page) you could try to use the Tumbleweed version - mostly for the newest kernel, but this being Tumbleweed and a rolling release, that might not be something you want to add to your list of variables. Or use the Leap version and install the kernel backport and see how you get on with that.

1 Like

@Hooverdan Thanks for the welcome! Yes I am running Plex Rockon. I did a quick read of the link you provided and will try that and report back. Yes I’m on the bleeding edge version to Rockstor. This a new install and not critical as it is just a home server that will replace a very old Netgear Readynas+ It has taken me two weeks and a lot of Googling to get me where I am with this build my first in over 15 years since my last PC build. Thanks again for the quick reply much appreciated!

2 Likes

@Hooverdan Just a quick update that the backport didn’t help get hardware transcoding working.

I did have success by installing the Tumbleweed.iso and doing the following:

  1. edit: /etc/default/grub
    commented out the line: GRUB_CMDLINE_LINUX_DEFAULT=“nomodeset plymouth.enable=0 rd.kiwi.oem.maxdisk=5000G”
  2. created: /etc/modprobe.d/i915.conf
    options i915 enable_guc=2
    options i915 enable_fbc=1

reboot and it’s working!
Screenshot 2023-12-18 163707
Thanks for the suggestions! hope this helps save someone else the many hours it took me to get this solved.

3 Likes

@fampton1 glad that it worked finally!

I am wondering whether you still need to comment out the grub line (and then running the
grub2-mkconfig -o /boot/grub2/grub.cfg command for enacting the change), since you manually created the modprobe relevant configuration.

But, in any case, it now works, so that’s great.

@Hooverdan More information, I’m building two Rockstor systems one for offsite replication. After getting the Tumbleweed working it dawn on me that I had not added the /etc/modprobe.d/i915.conf to my 15.4 instance (senior moment!) after doing that hardware transcoding started work on that version also!

I definitely still need to comment out the Grub line if not the /dev/dri directory is not present. I tested and confirmed this. Maybe a foot note of this solution in the rockon How To might help others?

3 Likes

@fampton1 thanks for the additional information, a foot note/comment might be a good idea if we can’t over time figure out why this behavior occurs.

Is that second system using similar hardware (i.e. same CPU/MB combo)? With my older hardware (skylake CPU) I had not seen this issue on any of my installs + Plex.

2 Likes

@Hooverdan, thanks a lot for all the help here!

I’m curious: does it mean that you do have /dev/dri and hardware transcoding working even if you have nomodeset in your GRUB line?

@Hooverdan , Yes both systems have same CWWK 5105 NAS motherboard. I did update the BIOS in one of them thinking that might have been the problem (didn’t change anything). It does seem these CPU/motherboards are somehow different in how they work compared to other systems.

@Flox , This what I have discovered:

A boot with the nomodset line active in Grub the /dev/dri directory is not present thus no hardware transcoding.

A boot with the nomodset line commented out, the /dev/dri directory is created and hardware transcoding is possible with the addition of the lines in /etc/modprobe.d/i915.conf

ps I have Tailscale working the next task is to get replication going. Many thanks for all the help!

2 Likes

@fampton1 Thanks for all your feedback here, much appreciated.

Just wanted to save your from some frustration re:

I see you are using the latest testing channel rpms. With those replication is know broken, but I’m working on that currently under the following draft pull requests:

And post the resolution of that work we hope to release what will likely be our first Stable Release Candidate into testing of 5.0.6-0. As part of the current Milestone here:

Hope that helps.

2 Likes

This worked for me on leap 15.4! Thanks @fampton1

3 Likes