Transcoding HW: Not found after update

Server Version#: 1.19.4.2935-79e214ead
Player Version#: Any

CPU Lenovo ThinkCenter M93p SFF tower i5-4570 with Intel® HD Graphics 4600
and Plex pass.
OS: Ubuntu 20.04 LTS

root@unifi-sdn:~# dpkg -i plexmediaserver_1.19.4.2935-79e214ead_amd64.deb
Selecting previously unselected package plexmediaserver.
(Reading database ... 205816 files and directories currently installed.)
Preparing to unpack plexmediaserver_1.19.4.2935-79e214ead_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Pre-installation Validation complete.
Unpacking plexmediaserver (1.19.4.2935-79e214ead) ...
Setting up plexmediaserver (1.19.4.2935-79e214ead) ...
PlexMediaServer install: PlexMediaServer-1.19.4.2935-79e214ead - Installation starting.
PlexMediaServer install:
PlexMediaServer install: Now installing based on:
PlexMediaServer install:   Installation Type:   Update
PlexMediaServer install:   Process Control:     systemd
PlexMediaServer install:   Plex User:           plex
PlexMediaServer install:   Plex Group:          plex
PlexMediaServer install:   Video Group:         video
PlexMediaServer install:   Metadata Dir:        /var/lib/plexmediaserver/Library/Application Support
PlexMediaServer install:   Temp Directory:      /mnt/nas/Plex Data/Transcode-Plex2  (set in Preferences.xml)
PlexMediaServer install:   Lang Encoding:       en_US.UTF-8
PlexMediaServer install:   Transcoding HW:      Not found
PlexMediaServer install:
PlexMediaServer install: Completing final configuration.
PlexMediaServer install: Starting Plex Media Server.
PlexMediaServer install: PlexMediaServer-1.19.4.2935-79e214ead - Installation successful.  Errors: 0, Warnings: 0
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
root@unifi-sdn:~#

Everything was working flawlessly on the previous version, until the update. HW transcoder no longer works.

1 Like
  1. Temp directory on a remote file system will fail. There is no file locking with notification. You will have failures.

  2. Check /dev/dri and advise of the contents please. If there is nothing in /dev/dri then the UEFI/BIOS has it disabled.

  1. temp directory worked fine before, and still working for the other plex server i have on another PC.

  2. There’s no such directory /dev/dri… what is this for?

If you use any of the Dolby codecs and require transcoding – this is where the file locking is required. The EAE (EasyAccessEncoder) they provide is very unsophisticated. We must use file locking and Linux’s inotify to properly detect when the encoder has completed its work.

If there is nothing in /dev/dri, or the directory doesn’t exist at all, the kernel itself, specifically the i915 ASIC in the CPU, isn’t being found by the kernel. The i915 is used as the interface device to communicate with the transcoding HW (Quick Sync Video) ASIC.

There are multiple motherboards which disable all this by default or, if it worked prior to Ubuntu 20.04, then Ubuntu isn’t understanding the motherboard.

My logic looks at what the kernel detects and creates (/dev/dri). I specifically look for:

  1. /dev/dri/renderD128 for the Quick Sync Video
  2. /dev/fb0, and a few other legacy names, to determine the render/video group to add PMS to.

I guess what i’m saying is that everything was working as it should (HW transcoding, temp folder on the NAS, etc etc etc) prior to the update.

All i did was an apt update then apt upgrade, then all hell broke loose.
so i’m not sure what happened, and/or how to fix this

It wouldn’t be a big deal if I were to completely remove/purge the server and re-install from scratch if that fixes the problem.
But i’m curious as to what was the cause and not having it repeat.

Look at /var/log/apt/history.log

This will tell you what happened.

what am i looking for?

list of updated system packages.

Here you can see where I got a kernel update.


Start-Date: 2020-06-11  10:22:43
Commandline: aptdaemon role='role-commit-packages' sender=':1.716'
Upgrade: intel-microcode:amd64 (3.20200609.0ubuntu0.20.04.0, 3.20200609.0ubuntu0.20.04.2), libvirt-daemon-system-systemd:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libvirt-clients:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libvirt-daemon-driver-storage-rbd:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libatk-adaptor:amd64 (2.34.1-3, 2.34.2-0ubuntu2~20.04.1), libvirt-daemon-driver-qemu:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libvirt-daemon-driver-storage-zfs:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libvirt-daemon-system:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libvirt0:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libatk-bridge2.0-0:amd64 (2.34.1-3, 2.34.2-0ubuntu2~20.04.1), libvirt-daemon-driver-storage-gluster:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1), libvirt-daemon:amd64 (6.0.0-0ubuntu8, 6.0.0-0ubuntu8.1)
Remove: linux-image-5.4.0-31-generic:amd64 (5.4.0-31.35), linux-headers-5.4.0-31-generic:amd64 (5.4.0-31.35), linux-modules-extra-5.4.0-31-generic:amd64 (5.4.0-31.35), linux-modules-5.4.0-31-generic:amd64 (5.4.0-31.35), linux-headers-5.4.0-31:amd64 (5.4.0-31.35)
End-Date: 2020-06-11  10:23:20
(END)

yes, i see that on my end.
that means the latest update broke a lot of things? Plex included?

have you rebooted since the update? If you have the kernel update I have, reboot is mandatory

i have rebooted. no dice.

start reading through dmesg output and journalctl -xe

dmesg will show you the base kernel booting.
You should see the i915 be found and initialized by the kernel.

The moment you don’t see it, you’ve found the problem.

[    0.027834] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-37-generic root=UUID=877477ce-cf39-4a44-b927-c87db6a985f3 ro nomodeset
[    0.027873] You have booted with nomodeset. This means your GPU drivers are DISABLED
[    0.027874] Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly
[    0.027874] Unless you actually understand what nomodeset does, you should reboot without enabling it

I guess my next question is, what did i do to cause this? and how do i correct it?

I’m not overly savvy when it comes to Linux…

Before going down that path.

[    0.689153] thermal LNXTHERM:00: registered as thermal_zone0
[    0.689153] ACPI: Thermal Zone [TZ00] (28 C)
[    1.593457] i915 0000:00:02.0: enabling device (0000 -> 0003)
[    1.597625] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    1.629158] ATOM BIOS: 408435.180301.04s
[    1.978001] [drm] Initialized i915 1.6.0 20190822 for 0000:00:02.0 on minor 0
[    5.791515] systemd[1]: Mounted RPC Pipe File System.
[    6.302539] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    6.468687] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[ 4657.591575] restoring control 00000000-0000-0000-0000-000000000101/10/5
[ 4657.591575] restoring control 00000000-0000-0000-0000-000000000101/12/11
[chuck@lizum ~.503]$ 

Verify it’s finding.

nothing on “i915” at all

Then start looking through the BIOS/UEFI settings and see if it’s disabled.
Something might have turned it off in the UEFI but that’s extremely unlikely. BIOS is not accessible by the OS but UEFI boot parameters are.

You likely need to take this to the Lenovo forums for further help in determining what happened.

Same issue for me. Everything was working fine until the update to 1.12.1.1253-c29aa096
Hardware decoding is not working and the CPU pegs at 100 percent and drops the quality.

I have two files, card0 and renderD128 under /dev/dri/

Running on a dual Celeron QNAP server that has had no issues for quite some time.

Rebooted the QNAP NAS, downgraded to last Plex version, had somebody that required transcoding try it again and still the same issue. Reverted back to version 1.19.3.2852 and still have the issue.

I believe there was some sort of update (possibly kernel update) on the QNAP/Linux side that is causing this, for me at least. I will open up a ticket with QNAP to see what’s going on and if I’m feeling adventurous, I might downgrade the QNAP firmware to resolve this temporarily.

@dzsigo

Please recreate and add logs.

card0 and renderD128 are the expected entries.

card0 is the device (ASIC) itself.
renderD128 is the transcoding engine.