Jellyfin Forum
Cannot Enable Low Power Encoding for Synology 423+(J4125) - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Cannot Enable Low Power Encoding for Synology 423+(J4125) (/t-cannot-enable-low-power-encoding-for-synology-423-j4125)



Cannot Enable Low Power Encoding for Synology 423+(J4125) - initzhang - 2024-05-31

Hi there, I have some troubles in enabling the low power encoding (H264) on my new 423+. 

I have done the following steps, could anyone point out what is missing/wrong for me? Many thanks in advance!

(1) I have downloaded the i915 firmware from git.kernel.org (tag=20240513) and put them under /lib/firmware/i915
Quote:$ ls -l /lib/firmware/i915/ | grep -E "bxt|glk"
[quote]
-rwxr-xr-x 1 root root    8380 May 30 23:55 bxt_dmc_ver1_07.bin
-rwxr-xr-x 1 root root  176256 May 30 23:55 bxt_guc_32.0.3.bin
-rwxr-xr-x 1 root root  181888 May 30 23:55 bxt_guc_33.0.0.bin
-rwxr-xr-x 1 root root  196224 May 30 23:55 bxt_guc_49.0.1.bin
-rwxr-xr-x 1 root root  199616 May 30 23:55 bxt_guc_62.0.0.bin
-rwxr-xr-x 1 root root  216768 May 30 23:55 bxt_guc_69.0.3.bin
-rwxr-xr-x 1 root root  206464 May 30 23:55 bxt_guc_70.1.1.bin
-rwxr-xr-x 1 root root  140928 May 30 23:55 bxt_guc_ver8_7.bin
-rwxr-xr-x 1 root root  146432 May 30 23:55 bxt_guc_ver9_29.bin
-rwxr-xr-x 1 root root  149824 May 30 23:55 bxt_huc_2.0.0.bin
-rwxr-xr-x 1 root root  154432 May 30 23:55 bxt_huc_ver01_07_1398.bin
-rwxr-xr-x 1 root root  146880 May 30 23:55 bxt_huc_ver01_8_2893.bin
-rwxr-xr-x 1 root root    8800 May 30 23:55 glk_dmc_ver1_04.bin
-rwxr-xr-x 1 root root  176640 May 30 23:55 glk_guc_32.0.3.bin
-rwxr-xr-x 1 root root  182336 May 30 23:55 glk_guc_33.0.0.bin
-rwxr-xr-x 1 root root  196672 May 30 23:55 glk_guc_49.0.1.bin
-rwxr-xr-x 1 root root  200000 May 30 23:55 glk_guc_62.0.0.bin
-rwxr-xr-x 1 root root  217216 May 30 23:55 glk_guc_69.0.3.bin
-rwxr-xr-x 1 root root  206784 May 30 23:55 glk_guc_70.1.1.bin
-rwxr-xr-x 1 root root  226048 May 30 23:55 glk_huc_4.0.0.bin
-rwxr-xr-x 1 root root  222080 May 30 23:55 glk_huc_ver03_01_2893.bin

(2) I have edited the /etc/modprobe.d/i915.conf file which contains the following content.
Quote:$ cat /etc/modprobe.d/i915.conf 
i915.enable_guc=2

(3) I have rebooted the machine many times, but the GuC and HuC status are null.
Quote:$ sudo cat /sys/kernel/debug/dri/0/i915_huc_load_status
HuC firmware: (null)
status: fetch NONE, load NONE
version: wanted 0.0, found 0.0
header: offset 0, size 0
uCode: offset 0, size 0
RSA: offset 0, size 0

HuC status 0x00006000:

$ sudo cat /sys/kernel/debug/dri/0/i915_guc_load_status
GuC firmware: (null)
status: fetch NONE, load NONE
version: wanted 0.0, found 0.0
header: offset 0, size 0
uCode: offset 0, size 0
RSA: offset 0, size 0

GuC status 0x00000001:
Bootrom status = 0x0
uKernel status = 0x0
MIA Core status = 0x0

Scratch registers:
0: 0x0
1: 0x0
2: 0x0
3: 0x0
4: 0x0
5: 0x0
6: 0x0
7: 0x0
8: 0x0
9: 0x0
10: 0x0
11: 0x0
12: 0x0
13: 0x0
14: 0x0
15: 0x0

(4) the dmesg shows nothing about GuC and HuC also
Quote:$ dmesg | grep i915
[   24.567361] [drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4)
[   25.593843] [drm] Initialized i915 1.6.0 20171222 for 0000:00:02.0 on minor 0
[   25.634993] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device

My machine: Linux Synology423plus 4.4.302+ #69057 SMP Fri Jan 12 17:02:28 CST 2024 x86_64 GNU/Linux synology_geminilake_423+
I am using the latest 10.8.13 nyanmisaka/jellyfin pulled from container manager


==== update 2024Jun1:
I just find out that the full dmesg output contains the following two lines, which are weird since glk firmware is public available
Quote:[   34.002180] [drm] GuC: No firmware known for this platform!
[   34.002181] [drm] HuC: No firmware known for this platform!
Then unfortunately I found a patch of intel driver kernel indicating that GuC and HuC are deliberately turned off for glk CPU because by then the firmware was not ready... https://patchwork.kernel.org/project/intel-gfx/patch/1515006225-13003-1-git-send-email-anusha.srivatsa@intel.com/

So now the only solution is to downgrade DSM back to where the patch is not applied?


RE: Cannot Enable Low Power Encoding for Synology 423+(J4125) - TheDreadPirate - 2024-05-31

Where are you running these commands? I didn't know that Synology gave you shell access to the OS. FWIW, Gemini Lake does not require low power encoding.


RE: Cannot Enable Low Power Encoding for Synology 423+(J4125) - initzhang - 2024-06-01

TheDreadPirate dateline='[url=tel:1717183177' Wrote: 1717183177[/url]']
Where are you running these commands?  I didn't know that Synology gave you shell access to the OS.  FWIW, Gemini Lake does not require low power encoding.

Hi, thanks for your reply!
I ran these commands in the shell of synology after enabling its ssh.

As for the LP encoding I think it is possible according to this thread. I can transcode with jellyfin, just want to make the most out of itSmiling-face
https://www.reddit.com/r/jellyfin/comments/102yzi1/comment/j3veggk/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button


RE: Cannot Enable Low Power Encoding for Synology 423+(J4125) - TheDreadPirate - 2024-06-01

Do you have HDR content? My understanding is that low power encoding only really comes into play when tone mapping HDR to SDR.

But to answer your question, I re-read your post and re-read the low power encoding guide.

Step 2 states you need to put this in /etc/modprobe.d/

Code:
sudo mkdir -p /etc/modprobe.d
sudo sh -c "echo 'options i915 enable_guc=2' >> /etc/modprobe.d/i915.conf"

Yours only has "i815 enable_guc=2" without options at the beginning.


RE: Cannot Enable Low Power Encoding for Synology 423+(J4125) - initzhang - 2024-06-02

(2024-06-01, 06:09 PM)TheDreadPirate Wrote: Do you have HDR content?  My understanding is that low power encoding only really comes into play when tone mapping HDR to SDR.

But to answer your question, I re-read your post and re-read the low power encoding guide.

Step 2 states you need to put this in /etc/modprobe.d/

Code:
sudo mkdir -p /etc/modprobe.d
sudo sh -c "echo 'options i915 enable_guc=2' >> /etc/modprobe.d/i915.conf"

Yours only has "i815 enable_guc=2" without options at the beginning.

Hi, thanks for the reply. Yes I do have a lot HDR and DoVi contents.
Depending on the linux kernel version (pre or after 4.15 according to https://cdrdv2-public.intel.com/609249/609249-final-enabling-intel-guc-huc-advanced-gpu-features-v1-1-1.pdf) and distro, all possible options are:
  • i915.enable_guc=2
  • i915.enable_guc_loading=1 i915.enable_guc_submission=1
  • options i915 enable_guc_loading=1 enable_guc_submission=1
  • options i915 enable_guc=2

Unfortunately none of these four works.
I have also updated the main thread, the root cause seems to be a patch regarding the 4.4 kernel of DSM 7.2.