Update Pi 3B from 18.3 to 19.3: feedback and questions

My first try to update from 2020-11 (Kodi 18) was in August, but I experienced a Kernel OOPS after update to v19 and thus reverted the update. Today I made another attempt and updated to 2021-11 (Kodi 19.3). Since a new kernel 5.10.78-2-osmc is involved, I’m crossing fingers that the kernel OOPS is fixed.

I had some trouble setting everything up but it seems to work now. I’d like to share my experiences and ask the remaining questions within this thread.

Issues

Issue #1: Black screen - FIXED

When powered on, the OSMC logo and then the usual boot messages were shown. I noticed a low resolution of 640x480 on boot. After that, Kodi didn’t show up, just a black screen. I had ssh access and noticed repeating errors about hdmi and cec in the Kodi log. I tried different HDMI cable and direct connection to TV instead of AVR. That helped, Kodi came up, no more errors in the log. But when the AVR was between Pi and TV, I had a 50:50 chance to see Kodi or not. I added the following lines to /boot/config-user.txt:

hdmi_group=1
hdmi_mode=16
config_hdmi_boost=4

Since this change, all boots reliably resulted in Kodi showing up properly.

Issue #2: Hardware acceleration - FIXED

CPU usage was high while displaying video; h.264 / 1080p showed 150%-200%. I wandered around the settings and found something new under Settings / Player / Videos. The DRM PRIME decoder seems to be the successor of the proprietary OMX / MMAL options.

The option Enable hardware acceleration / Only allow acceleration for HEVC was the culprit - after disabling it, h.264 was playing with 30%-40% cpu usage.

Issue #3: PVR errors in the log - FIXED

I’m using Kodi as Tvheadend client. The log periodically shows error messages:

2021-11-27 17:13:25.434 T:8051    ERROR <general>: UpdateFromScraper: No EPG scraper defined for table ''
2021-11-27 17:13:25.435 T:8051    ERROR <general>: Update: Failed to update table ''

After deleting PVR and EPG data, the error messages are gone.

Issue #4: GPU memory split

It seems that cpu/gpu memory split handling changed. My OSMC / Pi Config / GPU memory doesn’t show anything. vcgencmd get_mem gpu shows only 76 MB of GPU memory, 2020-11 had 256 MB. I tried to change that by adding gpu_mem_1024=256 or gpu_mem=256 but nothing changed. It seems that videos are rendered fine, I had no trouble so far, but I’m unsure if this setting is OK.

Issue #5: Missing codecs for MPG2 and WVC1

My OSMC / Pi Config states Codec-Status MPG2=enabled, WVC1=enabled, but no licenses for MPG2 and WVC1 are shown. I entered them under My OSMC / Pi config / GPU memory.

Issue #6: Higher cpu usage and temperature on idle

I’m monitoring cpu usage and temperature on the Pi. I noticed a significant change on an idle system:

  • OSMC 2020-11: 48°C, load ~0.2, cpu usage ~15%.

  • OSMC 2021-11: 56°C, load ~0.5, cpu usage ~40%.

Idle means: Kodi is showing the root menu for several hours. I’m worried that 8°C on idle make a difference in terms of lifetime.

I’m keeping an eye on load and temperature because the update is just a few hours old, and maybe the values change on the long term.

Feedback & questions:

  1. Only allow acceleration for HEVC should not be enabled by default, or at least well documented. Maybe I’ve just missed the docs, would appreciate a hint in that case.

  2. Is it OK to leave the GPU memory untouched, resulting in 76 MB?

  3. Are the MPG2 and WVC1 licenses honored on a Pi 3?

  4. Are there any known reasons for the higher idle load?

Don’t touch that

You won’t get QPU acceleration on Pi 3 anymore.

Presently not to my knowledge but in the near future, yes.

Most likely explanation: different windowing system and increased resource consumption from Kodi v19.

Thanks for your quick response, Sam!

OK, well, at least currently it looks like hardware acceleration is in effect, definitely for h.264 and probably also for mpeg-2. CPU usage was at 150-200% and is now at 20-40% for a h.264 1080p video.

HEVC uses QPUs

I don’t know anything about QPUs. This is what I derive from your answers:

  • QPUs are a piece of hardware and required for decoding HEVC (h.265)
  • The use of QPUs is not supported on a Pi 3

If this is correct, HEVC cannot be played with hardware acceleration on a Pi 3.

All I can say is that the option Only allow acceleration for HEVC disables hardware acceleration for h.264 and probably mpeg-2, and that it’s enabled by default. If a Pi 3 does not support HEVC hardware acceleration at all, I’d prefer if this option would be disabled by default.

Please excuse me if I’m getting something wrong, I’m not an expert in these things.

QPUs cannot facilitate HEVC decode on Pi2/Pi3 under V4L2/GBM stack
Under OMX / MMAL, they could.

Cheers

Sam

I just noticed that an update is available containing a commit with message RBP: remove patch to disable non HEVC accel.

If I understand correctly, the update will remove the switch labeled Only allow acceleration for HEVC.

It was very important for my setup (Pi 3B) that this switch is set to Off. What will be the effect when I install the update, @sam_nazarko? I guess the switch will be gone, but will the system behave as if it would be On or Off?

It will behave like off

1 Like