Jump to content

Quicksync works once per boot, then stops working and uses software


embylad892746

Recommended Posts

OK, thanks, this is probably the key to this issue. It appears to be a driver bug.

Are there any additional i915 messages, e.g. about GuC and HuC?
(like here https://gitlab.freedesktop.org/drm/intel/-/issues/5279)

Could you please try to enable HuC authentication by adding the kernel parameter i915.enable_guc=2 as described here https://01.org/linuxgraphics/downloads/firmware ? 
(then reboot)

There are indications that this might be a bug specific to decoding. After trying the above, could you please try to disable all HW decoders, so hwa will only be used for encoding and try whether this causes the same situation?

Thanks

Edited by softworkz
Corrected the command ( must be =2)
  • Like 1
Link to comment
Share on other sites

embylad892746

@softworkz thanks.

I added

GRUB_CMDLINE_LINUX_DEFAULT="i915.enable_guc=2"

to /etc/default/grub , it did not fix anything. I didn't see any GUC/HUC error messages previously so i didn't think this would help but was worth a shot.

However, just discovered a useful command that displays abit more info regarding kernel errors-->

Here is after a system reboot (no error messages yet) and the first attempt to transcode a video works fine:

$journalctl -b -o short-monotonic -k | egrep -i "i915|dmr|dmc|guc|huc"

[    0.000000] th50 kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.13.0-39-generic root=UUID=4e23589b-6acc-4a64-bab5-8aef56b750b8 ro i915.enable_guc=2
[    0.044386] th50 kernel: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.13.0-39-generic root=UUID=4e23589b-6acc-4a64-bab5-8aef56b750b8 ro i915.enable_guc=2
[    2.223828] th50 kernel: Setting dangerous option enable_guc - tainting kernel
[    2.232328] th50 kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
[    2.234095] th50 kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.234643] th50 kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_08.bin (v2.8)
[    2.903583] th50 kernel: i915 0000:00:02.0: [drm] failed to retrieve link info, disabling eDP
[    2.932002] th50 kernel: i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_49.0.1.bin version 49.0 submission:disabled
[    2.932014] th50 kernel: i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.5.0.bin version 7.5 authenticated:yes
[    2.951173] th50 kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    2.988359] th50 kernel: fbcon: i915drmfb (fb0) is primary device
[    3.067475] th50 kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    8.279816] th50 kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[    8.404708] th50 kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

And here is what happens after I stop transcoding the first video and decide to transcode another video (kernel errors appear + encoders/decoders vanish from emby) errors start at 385 seconds, seems to be a GPU HANG as the first cultrip:

[    0.000000] th50 kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.13.0-39-generic root=UUID=4e23589b-6acc-4a64-bab5-8aef56b750b8 ro i915.enable_guc=2
[    0.044386] th50 kernel: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.13.0-39-generic root=UUID=4e23589b-6acc-4a64-bab5-8aef56b750b8 ro i915.enable_guc=2
[    2.223828] th50 kernel: Setting dangerous option enable_guc - tainting kernel
[    2.232328] th50 kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
[    2.234095] th50 kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.234643] th50 kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_08.bin (v2.8)
[    2.903583] th50 kernel: i915 0000:00:02.0: [drm] failed to retrieve link info, disabling eDP
[    2.932002] th50 kernel: i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_49.0.1.bin version 49.0 submission:disabled
[    2.932014] th50 kernel: i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.5.0.bin version 7.5 authenticated:yes
[    2.951173] th50 kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    2.988359] th50 kernel: fbcon: i915drmfb (fb0) is primary device
[    3.067475] th50 kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    8.279816] th50 kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[    8.404708] th50 kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[  385.444787] th50 kernel: i915 0000:00:02.0: [drm] Resetting vcs1 for preemption time out
[  385.447634] th50 kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 12:4:28fffffd, in ffmpeg [12578]
[  393.736406] th50 kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 12:4:28fffffd, in ffmpeg [12578]
[  393.737443] th50 kernel: i915 0000:00:02.0: [drm] Resetting vcs1 for stopped heartbeat on vcs1
[  393.738041] th50 kernel: i915 0000:00:02.0: [drm] Resetting chip for stopped heartbeat on vcs1
[  393.839939] th50 kernel: [drm:__uc_sanitize [i915]] *ERROR* Failed to reset GuC, ret = -110
[  393.928937] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to reset chip
[  393.928982] th50 kernel: i915 0000:00:02.0: [drm:add_taint_for_CI [i915]] CI tainted:0x9 by intel_gt_reset+0x2d9/0x300 [i915]
[  394.033022] th50 kernel: i915 0000:00:02.0: [drm] ffmpeg[12578] context reset due to GPU hang
[  399.177340] th50 kernel: Fence expiration time out i915-0000:00:02.0:ffmpeg[12578]:578e!
[  405.126432] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* rcs0 TLB invalidation did not complete in 4ms!
[  405.131156] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* bcs0 TLB invalidation did not complete in 4ms!
[  405.136662] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs0 TLB invalidation did not complete in 4ms!
[  405.141815] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  405.147103] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vecs0 TLB invalidation did not complete in 4ms!
[  405.152717] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* rcs0 TLB invalidation did not complete in 4ms!
[  405.157813] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* bcs0 TLB invalidation did not complete in 4ms!
[  405.163137] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs0 TLB invalidation did not complete in 4ms!
[  405.168646] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  405.173842] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vecs0 TLB invalidation did not complete in 4ms!
[  410.128720] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* rcs0 TLB invalidation did not complete in 4ms!
[  410.133473] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* bcs0 TLB invalidation did not complete in 4ms!
[  410.138765] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs0 TLB invalidation did not complete in 4ms!
[  410.145480] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  410.150912] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vecs0 TLB invalidation did not complete in 4ms!
[  410.158920] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* rcs0 TLB invalidation did not complete in 4ms!
[  410.164232] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* bcs0 TLB invalidation did not complete in 4ms!
[  410.169480] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs0 TLB invalidation did not complete in 4ms!
[  410.174798] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  410.181475] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vecs0 TLB invalidation did not complete in 4ms!

thanks again for your help, really appreciate it a lot.

For reference: https://gitlab.freedesktop.org/drm/intel/-/issues/3398  & https://gitlab.freedesktop.org/drm/intel/-/issues/4858  seems like i'm not the only person with this issue. I also tried kernel 5.17 which didn't fix the issue.

Edited by embylad892746
Link to comment
Share on other sites

embylad892746
15 hours ago, softworkz said:

could you please try to disable all HW decoders, so hwa will only be used for encoding and try whether this causes the same situation?

tried that, didn't help.

Link to comment
Share on other sites

On 4/5/2022 at 8:57 AM, embylad892746 said:

. I also tried kernel 5.17 which didn't fix the issue.

It appears that you need 5.18-rc1 at least..

  • Like 1
Link to comment
Share on other sites

embylad892746
2 hours ago, softworkz said:

It appears that you need 5.18-rc1 at least..

at least...

at least...

at least...

at least...😩

I couldn't find a way to install 5.18 and tbh i'm done messing around on driver + kernel forums. It's an extremely time intensive/emotionally draining experience with it all too often leading to false hope. Scientists predict that the density of i965 kernel/driver related forums is denser than all observable black holes in the known universe...

I'm going to return for a refund what would have been an absolute beast of a mini pc (https://store.minisforum.com/products/th50) since it's got 96 EUs on the iGPU and is the highest spec 11th gen i5 mobile processor. However, it seems that it's going to be a very very long time time before 5.18 kernel makes it onto the official testing/stable branches and I paid too much for a mini-PC to justify anything that simply doesn't work out the box with Debian / Ubuntu.

Anyway, @Luke, @softworkz  @Q-Droid thank you guys for your help, really really appreciate it. On the plus side, I did learn a lot about drivers, kernels and system logs/tools, and I think i qualify to wear one of those t-shirts that say "I re-compiled the Linux Kernel" (although it did brick my system on reboot when i tried... but no need to mention that part ;))

Thanks again!

Edited by embylad892746
  • Thanks 1
Link to comment
Share on other sites

I understand your frustration!

One question: Have you ever tried with QuickSync codecs (instead of VAAPI)?

Link to comment
Share on other sites

embylad892746
1 hour ago, softworkz said:

I understand your frustration!

One question: Have you ever tried with QuickSync codecs (instead of VAAPI)?

Yes I tried with Quicksync and VAAPI in Emby.

Link to comment
Share on other sites

OK, wait. I don't think you need to return the hardware.

I just realized that I have a notebook here with the exact same graphics. And it doesn't have that problem.

The one thing that's special about it: I haven't updated the OS or OS components for more than a year.
Probably we've been heading into the wrong direction.

But let's try something else (another difference): disable HuC and reboot. (I have a feeling about this one)

  • Like 1
Link to comment
Share on other sites

embylad892746

@softworkz Ok tomorrow (Sunday) i have some time to do some last tests. Before i try disabling HuC, what OS/kernel are you running on your laptop?

Link to comment
Share on other sites

6 minutes ago, embylad892746 said:

@softworkz Ok tomorrow (Sunday) i have some time to do some last tests. Before i try disabling HuC, what OS/kernel are you running on your laptop?

The specs are:

Operating system: Linux version 5.8.0-53-generic (buildd@lcy01-amd64-012) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #60~20.04.1-

 'TigerLake-LP GT2 Iris Xe Graphics' Id:39497 (Driver: Intel iHD driver for Intel(R) Gen Graphics - 21.2.0 (4436d2f), Vendor: Intel Corporation)

But this shouldn't really matter. Just disable HuC by setting this kernel param:

i915.enable_guc=0

(yes, the param is named guc but will also disable huc)

reboot you can confirm the states by executing

sudo cat /sys/kernel/debug/dri/0/gt/uc/guc_info

and

sudo cat /sys/kernel/debug/dri/0/gt/uc/huc_info

 

Both should indicate to be disabled.

Just focus on this, not kernel versions..

Link to comment
Share on other sites

I did a fresh installation of Ubuntu 21.10 (on the TigerLake machine)
Zero changes made to OS configuration
Installed Emby Beta
=> all working

Edited by softworkz
Link to comment
Share on other sites

embylad892746
3 minutes ago, softworkz said:

@embylad892746 - But please don't re-install the OS and try just disabling HuC. The outcome of this test would be quite important to know.

Thanks,
softworkz

Thanks for that info @softworkz. I already put the system in the box ready for return the other day so if i take it out tomorrow to do a last test, i will need to reinstall the OS anyway.

And i've previously already tried fresh install of ubuntu server 21.10 and ran emby stable, and got the error.

If you think it's worth it I can install ubuntu 21.10 + try emby beta tomorrow, then if that fails i can try disabling HuC as a last resort. Does that sound alright?

Link to comment
Share on other sites

1 minute ago, embylad892746 said:

Thanks for that info @softworkz. I already put the system in the box ready for return the other day so if i take it out tomorrow to do a last test, i will need to reinstall the OS anyway.

And i've previously already tried fresh install of ubuntu server 21.10 and ran emby stable, and got the error.

If you think it's worth it I can install ubuntu 21.10 + try emby beta tomorrow, then if that fails i can try disabling HuC as a last resort. Does that sound alright?

Emby Beta or stable shouldn't matter in this regard.

But if you tried 21.10 before...hmm. Then try Ubuntu 21.10 Desktop (that's what I installed) with the Emby beta, so we are sure to be equal. (HuC is disabled by default normally)

Thank you

Link to comment
Share on other sites

embylad892746
On 4/9/2022 at 9:36 PM, softworkz said:

Emby Beta or stable shouldn't matter in this regard.

But if you tried 21.10 before...hmm. Then try Ubuntu 21.10 Desktop (that's what I installed) with the Emby beta, so we are sure to be equal. (HuC is disabled by default normally)

Thank you

Well...same old news i'm afraid @softworkz

- Fresh install of 21.10 Ubuntu Desktop

- run emby stable image

- like always, first attempt to transcode seems to work. Then it crashes on second attempt (GPU hang) and chip fails to reset.

- Previously, i'd always been running headless, but since i was running with GUI this time i was able to notice that when the GPU hang occurs the desktop screen goes blank (sometimes it has time to output the error to screen before going completely blank other times just goes blank). Screen never recovers but SSH still works which makes sense, since only the iGPU crashes.

I can't do this again. It's too time consuming. I'm really glad it works for your laptop though, no idea why not for this mini pc.

Confirmed that GuC/HuC disabled by default. Thanks for all your help mate, you've been a total legend helping me debug all this. A true asset to the community!

$sudo cat /sys/kernel/debug/dri/0/gt/uc/guc_info
GuC disable

GuC log relay not created

$sudo cat /sys/kernel/debug/dri/0/gt/uc/huc_info
HuC disabled


$journalctl -b -o short-monotonic -k | egrep -i "i915|dmr|dmc|guc|huc"
[  460.694900] th50 kernel: i915 0000:00:02.0: [drm] Resetting vcs1 for preemption time out
[  460.695622] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  460.697730] th50 kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 12:4:28fffffd, in ffmpeg [3964]  #FFFFUUUUUUUUCCCCKKKKKKK
[  465.917333] th50 kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 12:4:28fffffd
[  465.918359] th50 kernel: i915 0000:00:02.0: [drm] Resetting vcs1 for stopped heartbeat on vcs1
[  465.919063] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  465.919149] th50 kernel: i915 0000:00:02.0: [drm] Resetting chip for stopped heartbeat on vcs1
[  466.020927] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.021650] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.022869] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.042356] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.043071] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.044289] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.070356] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.071072] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.072287] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.110355] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.111068] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.112284] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.112788] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to reset chip     #SHHHHHIIIIITTTTTTT
[  466.112789] th50 kernel: i915 0000:00:02.0: [drm:add_taint_for_CI [i915]] CI tainted:0x9 by intel_gt_reset+0x2d9/0x300 [i915]
[  466.216923] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.217639] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.218859] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 reset request timed out: {request: 00000001, RESET_CTL: 00000001}
[  466.219386] th50 kernel: i915 0000:00:02.0: [drm] ffmpeg[3991] context reset due to GPU hang
[  466.232371] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.237760] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.243220] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.248316] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.253668] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.259214] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.264445] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.269725] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.275199] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  466.280430] th50 kernel: i915 0000:00:02.0: [drm] *ERROR* vcs1 TLB invalidation did not complete in 4ms!
[  476.871221] th50 kernel: Fence expiration time out i915-0000:00:02.0:ffmpeg<3964>:6cd0!

 

  

 

A327DC84-40AE-4333-92E0-4D1CDF48C5FD.jpeg

Edited by embylad892746
Link to comment
Share on other sites

6 minutes ago, embylad892746 said:

I can't do this again. It's too time consuming. I'm really glad it works for your laptop though, no idea why not for this mini pc.

Thanks a lot! I totally understand your frustration.

Maybe as a last action - is there some way to dump the hardware components (IDs) in some way? Like Chipset and CPU model? Just when it wouldn't take too much effort and you haven't thrown it away already..

Link to comment
Share on other sites

embylad892746
3 minutes ago, softworkz said:

Thanks a lot! I totally understand your frustration.

Maybe as a last action - is there some way to dump the hardware components (IDs) in some way? Like Chipset and CPU model? Just when it wouldn't take too much effort and you haven't thrown it away already..

It’s literally in the box already sorry. All I can say is it’s i5-11320H. I’m not sure the chipset used. (https://store.minisforum.com/products/th50)

 

Link to comment
Share on other sites

10 minutes ago, embylad892746 said:

It’s literally in the box already sorry. All I can say is it’s i5-11320H. I’m not sure the chipset used. (https://store.minisforum.com/products/th50)

Thanks a lot, that's just fine.

I'm really sorry for the bad experience. We'll be working with Intel to find out the reason for those issues!

Thanks again!

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
ich777

I really don't know if this is the right thread but I found it because of GuC/HuC and that is related to my question.

@softworkz is it somehow possible to pass over the argument

-low_power 1

to ffmpeg which ultimately only will work if you enable GuC/HuC.

 

I would really like to safe some power by enabling this option, this would safe from about to 5 to 8 Watt depending on the input format from my testing with very little transcoding speed decrease.

Link to comment
Share on other sites

1 hour ago, ich777 said:

I would really like to safe some power by enabling this option, this would safe from about to 5 to 8 Watt depending on the input format from my testing with very little transcoding speed decrease.

Yes, but quality decrease and the inability for proper bitrate control.

This mode is meant for things like longer videoconferencing when you're on battery. It's not really about saving a few Wh when you're using a system as a personal media server.

That being said, you can always use the Diagnostics Plugin to make ffmpeg command line replacements for testing out things.

Link to comment
Share on other sites

ich777
5 hours ago, softworkz said:

Yes, but quality decrease and the inability for proper bitrate control.

But have you actually tried it?

When I transcode a 1080p file and give it 4Mbit/s in VBR to work with I can actually barely spot a difference if I use only ffmpeg to transcode.

Sure it looks a bit different but I don't mind that if I'm watching a 4K movie for example on my Phone or on my Tablet or whatever is not bigger than 14"

 

5 hours ago, softworkz said:

That being said, you can always use the Diagnostics Plugin to make ffmpeg command line replacements for testing out things.

Got it working by replacing:

-c:v:0 h264_qsv

with:

-c:v:0 h264_qsv -low_power 1

 

Here is a screenshot:

image.png.9ed135b4b7d3708b0803147277c00ac6.png

Would it be maybe an option to add this to the transcoding profiles which of course has to be first enabled in the transcoding settings because you first have to enable GuC/HuC on the host or better speaking on the machine that it runs on? This is just a idea and don't know if it's worth it but is maybe a good feature with climbing energy prices and the quality loss is my opinion not too bad, but that's only subjective...

Link to comment
Share on other sites

1 hour ago, ich777 said:

But have you actually tried it?

No, but I knew..

1 hour ago, ich777 said:

Sure it looks a bit different

...and I'm glad you confirm it.

 

1 hour ago, ich777 said:

Would it be maybe an option to add this to the transcoding profiles which of course has to be first enabled in the transcoding settings because you first have to enable GuC/HuC on the host or better speaking on the machine that it runs on? This is just a idea and don't know if it's worth it but is maybe a good feature with climbing energy prices and the quality loss is my opinion not too bad, but that's only subjective...

I surely can imagine to add this during the next beta phase (after the release), but as a codec parameter (when you click on the gear button in the "Advanced Transcoding" view).

BTW, the selections on the regular transcoding page are for the software encoder (libx264) only.

Link to comment
Share on other sites

ich777
8 hours ago, softworkz said:

...and I'm glad you confirm it.

Yep, but TBH it really doesn't look to bad and safes a lot of power compared to not using low_power

 

8 hours ago, softworkz said:

I surely can imagine to add this during the next beta phase (after the release),

That would be great, keep me please updated and I'm happy to test. :)

 

8 hours ago, softworkz said:

but as a codec parameter (when you click on the gear button in the "Advanced Transcoding" view)

Can you detect if HuC is enabled on the Host, especially when you run Emby in a Docker container like I do? Otherwise this might not work properly that's why I thought a setting in the Transcoding section from the Admin Settings would be nice. :)

TBH I had to take a deeper look into GuC/HuC because a user reported that on low power Ice Lake CPU (N6005) transcoding was not working and this is ultimately a Kernel issue with Kernels below 5.16 and I only stumbled across this feature by accident.

 

Anyways, thank you for your quick response and all you do to make Emby better, looking forward to your response. :)

Link to comment
Share on other sites

neik
1 hour ago, ich777 said:

Ice Lake CPU (N6005)

Are you using that CPU as a server?

I am thinking about it but am wondering about the transcoding capabilities.

Tbh. I'm confident it's powerful enough for my simple use case but you newer now with those low-power chips.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...