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.
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 …
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.
@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!
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.
@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?
@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.
@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.
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!
@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: