Problems with LiveTV stuttering on Vero 4k+

Thanks for letting me know. This does mean that deinterlacing is disabled.

So good news is we can fix it. But it warrants further investigation.

I suspect a difference in v17 vs 18 in terms of how @gmc has synced patches; but can you downgrade to v17 and confirm that the Kodi version is indeed the cause of issue here?

Sam

For AML LE all we do is enable

echo 1 > /sys/module/di/parameters/bypass_hd

and set that by default will no ill affects on anything else.
I believe it just disables post - deinterlaced picture processing.

I downgraded to v17 this morning and took my line out of rc.local. The issue does not occur, so i can confirm the kodi version is the cause of the issue.

We’ve only had to set bypass_hd to prevent screen blinking on S805 (Vero 2) when playing 1080p50 content.

I think setting this option by default will prevent necessary post-processing (amcsc). The deinterlacing module does much more than deinterlacing.

It would be interesting to know if setting it on v18 resolves your issue however.

Cheers,

Sam

On kodi v18 it resolves the issue by either setting:

echo 1 > /sys/module/di/parameters/bypass_hd

Or

echo 1 > /sys/module/di/parameters/bypass_all

On kodi v17 neither are needed, and i can see both are set to 0 whilst the video is playing.

I’ve looked in to this further.

bypass_hd isn’t a proper solution and is masking the real symptoms. We resolved this for v17 but need to forward-port this to v18 as things have changed here.

It’ll be a week or two to solve it properly; but I trust this is a good enough workaround for now.

Cheers

Sam

Absolutely - the workaound is working good for me in the meantime. Keep up the good work.

Just wondered if there’s any news on this?

I’ve been testing the gmc leia builds and haven’t seen a fix go in as yet.

Happy to do some testing once a fix surfaces.

@gmc – are patches for live tv in sync w/ Krypton?

@sam_nazarko There are a couple of outstanding patches not applied to Leia yet. Which patch number are you referring to?

Looking at this – bypass_all is fine for our SoC

So I’ll make it the default shortly.

Sam

Sounds perfect from my perspective.

FTR: I haven’t noticed any negative side-effects of having this set for my particular use-cases, which are:

  • Live TV upto 1080i
  • TV recordings upto 1080i
  • Playback of 720p and 1080p files
  • Playback of 2160p files (including HDR)

On other distros I’ve used (e.g. Generic Nvidia/VDPAU), there is a radio button in the Playback Settings for “Post Processing”, which doesn’t appear on the Vero4K+. I wonder whether it’d be an idea to have this setting somehow linked to that radio button. That way, if disabling it across the board causes issues for any edge-cases, then it can easily be switched back on from the GUI.

Just a thought…

Happy to add it as an option if we can find a case where it’s needed; but I can’t. We actually set this parameter when we play VC-1 material to avoid stutter already.

The latest staging kernel (stretch-devel) should have this parameter set by default; so you can remove the entry in rc.local.

Sam

I’ve just upgraded from stretch-devel.

My kernel was bumped to 3.14.29-135-osmc, and I removed the line from rc.local.

Unfortunately, following a reboot the parameter was not set

osmc@vero4k:~$ sudo apt-get update
Ign:3 http://ftp.debian.org/debian stretch InRelease
Get:4 http://security.debian.org stretch/updates InRelease [94.3 kB]
Get:6 http://ftp.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:1 http://ftp.fau.de/osmc/osmc/apt stretch-devel InRelease [4694 B]
Hit:7 http://ftp.debian.org/debian stretch Release
Get:2 http://ftp.fau.de/osmc/osmc/download/dev/gmc-18 gmc-18 InRelease [6010 B]
Hit:5 http://ftp.fau.de/osmc/osmc/apt stretch InRelease
Get:8 http://security.debian.org stretch/updates/main arm64 Packages [448 kB]
Get:9 http://security.debian.org stretch/updates/main armhf Packages [452 kB]
Get:10 http://security.debian.org stretch/updates/main Translation-en [205 kB]
Get:11 http://ftp.fau.de/osmc/osmc/apt stretch-devel/main armhf Packages [22.4 kB]
Get:12 http://ftp.fau.de/osmc/osmc/apt stretch-devel/main arm64 Packages [11.1 kB]
Get:14 http://ftp.fau.de/osmc/osmc/download/dev/gmc-18 gmc-18/main armhf Packages [84.4 kB]
Fetched 1419 kB in 2s (506 kB/s)
Reading package lists... Done

osmc@vero4k:~$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  vero364-image-3.14.29-135-osmc:arm64
The following packages will be upgraded:
  libnss-myhostname libpam-systemd libsystemd0 libudev1 mediacenter-addon-osmc systemd systemd-sysv udev vero3-mediacenter-osmc vero364-kernel-osmc:arm64
10 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 114 MB of archives.
After this operation, 244 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://security.debian.org stretch/updates/main armhf libsystemd0 armhf 232-25+deb9u7 [259 kB]
Get:2 http://ftp.fau.de/osmc/osmc/download/dev/gmc-18 gmc-18/main armhf vero3-mediacenter-osmc armhf 17.8-392 [72.4 MB]
Get:6 http://security.debian.org stretch/updates/main armhf libnss-myhostname armhf 232-25+deb9u7 [102 kB]
Get:7 http://security.debian.org stretch/updates/main armhf libpam-systemd armhf 232-25+deb9u7 [176 kB]
Get:8 http://security.debian.org stretch/updates/main armhf systemd armhf 232-25+deb9u7 [2273 kB]
Get:9 http://security.debian.org stretch/updates/main armhf udev armhf 232-25+deb9u7 [1078 kB]
Get:10 http://security.debian.org stretch/updates/main armhf libudev1 armhf 232-25+deb9u7 [120 kB]
Get:11 http://security.debian.org stretch/updates/main armhf systemd-sysv armhf 232-25+deb9u7 [81.6 kB]
Get:3 http://ftp.fau.de/osmc/osmc/apt stretch-devel/main arm64 vero364-image-3.14.29-135-osmc arm64 135 [33.2 MB]
Get:4 http://ftp.fau.de/osmc/osmc/apt stretch-devel/main armhf mediacenter-addon-osmc all 3.0.667 [4412 kB]
Get:5 http://ftp.fau.de/osmc/osmc/apt stretch-devel/main arm64 vero364-kernel-osmc arm64 3.9.128 [964 B]
Fetched 114 MB in 20s (5551 kB/s)
Preconfiguring packages ...
(Reading database ... 78684 files and directories currently installed.)
Preparing to unpack .../libsystemd0_232-25+deb9u7_armhf.deb ...
Unpacking libsystemd0:armhf (232-25+deb9u7) over (232-25+deb9u6) ...
Setting up libsystemd0:armhf (232-25+deb9u7) ...
(Reading database ... 78684 files and directories currently installed.)
Preparing to unpack .../libnss-myhostname_232-25+deb9u7_armhf.deb ...
Unpacking libnss-myhostname:armhf (232-25+deb9u7) over (232-25+deb9u6) ...
Preparing to unpack .../libpam-systemd_232-25+deb9u7_armhf.deb ...
Unpacking libpam-systemd:armhf (232-25+deb9u7) over (232-25+deb9u6) ...
Preparing to unpack .../systemd_232-25+deb9u7_armhf.deb ...
Unpacking systemd (232-25+deb9u7) over (232-25+deb9u6) ...
Preparing to unpack .../udev_232-25+deb9u7_armhf.deb ...
Unpacking udev (232-25+deb9u7) over (232-25+deb9u6) ...
Preparing to unpack .../libudev1_232-25+deb9u7_armhf.deb ...
Unpacking libudev1:armhf (232-25+deb9u7) over (232-25+deb9u6) ...
Setting up libudev1:armhf (232-25+deb9u7) ...
Setting up systemd (232-25+deb9u7) ...
addgroup: The group `systemd-journal' already exists as a system group. Exiting.
(Reading database ... 78684 files and directories currently installed.)
Preparing to unpack .../systemd-sysv_232-25+deb9u7_armhf.deb ...
Unpacking systemd-sysv (232-25+deb9u7) over (232-25+deb9u6) ...
Selecting previously unselected package vero364-image-3.14.29-135-osmc:arm64.
Preparing to unpack .../vero364-image-3.14.29-135-osmc_135_arm64.deb ...
Examining /etc/kernel/preinst.d/
Done.
Unpacking vero364-image-3.14.29-135-osmc:arm64 (135) ...
Preparing to unpack .../mediacenter-addon-osmc_3.0.667_all.deb ...
Unpacking mediacenter-addon-osmc (3.0.667) over (3.0.666) ...
Preparing to unpack .../vero3-mediacenter-osmc_17.8-392_armhf.deb ...
Unpacking vero3-mediacenter-osmc (17.8-392) over (17.8-390) ...
Preparing to unpack .../vero364-kernel-osmc_3.9.128_arm64.deb ...
Unpacking vero364-kernel-osmc:arm64 (3.9.128) over (3.9.127) ...
Processing triggers for mime-support (3.60) ...
Setting up libnss-myhostname:armhf (232-25+deb9u7) ...
Setting up mediacenter-addon-osmc (3.0.667) ...
Setting up systemd-sysv (232-25+deb9u7) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Setting up vero3-mediacenter-osmc (17.8-392) ...
Setting up udev (232-25+deb9u7) ...
addgroup: The group `input' already exists as a system group. Exiting.
Processing triggers for man-db (2.7.6.1-2) ...
Processing triggers for dbus (1.10.26-0+deb9u1) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...
Setting up vero364-image-3.14.29-135-osmc:arm64 (135) ...
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.14.29-135-osmc /boot/vmlinuz-3.14.29-135-osmc
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal-osmc 3.14.29-135-osmc /boot/vmlinuz-3.14.29-135-osmc
run-parts: executing /etc/kernel/postinst.d/inform-updater 3.14.29-135-osmc /boot/vmlinuz-3.14.29-135-osmc
run-parts: executing /etc/kernel/postinst.d/upload-to-emmc 3.14.29-135-osmc /boot/vmlinuz-3.14.29-135-osmc
7+1 records in
7+1 records out
8370176 bytes (8.4 MB, 8.0 MiB) copied, 0.179671 s, 46.6 MB/s
0+1 records in
0+1 records out
83968 bytes (84 kB, 82 KiB) copied, 0.00982243 s, 8.5 MB/s
Setting up libpam-systemd:armhf (232-25+deb9u7) ...
Setting up vero364-kernel-osmc:arm64 (3.9.128) ...

osmc@vero4k:~$ sudo nano /etc/rc.local
osmc@vero4k:~$
osmc@vero4k:~$
osmc@vero4k:~$ reboot

Following the reboot:

osmc@vero4k:~$ cat /sys/module/di/parameters/bypass_all
0
osmc@vero4k:~$ cat /sys/module/di/parameters/bypass_hd
0
osmc@vero4k:~$ uname -a
Linux vero4k 3.14.29-135-osmc #1 SMP Thu Jan 3 07:51:07 UTC 2019 aarch64 GNU/Linux

The build failed due to out of space on the slave.
I’ll re-schedule it shortly.

This is now built.

Sam

That looks better.

Livetv and recordings now playing nicely on leia without any need for the line in rc.local :grin:

These problems have returned with the official leia release trail builds. Here are some logs https://paste.osmc.tv/hurubacesu

Did not have same problem with gmc builds (once bypass_all was set to 1)

They will be re-introduced by this kernel revert:

setting bypass_all to 1 will fix things manually; but this will likely break the playback of VC-1 content.

Does setting /sys/module/di/parameters/bypass_prog to 1 help? I know the content you are playing isn’t progressive.

Alternatively I can fix VC-1 a bit differently.

Sam

It looks like bypass_prog was already set to 1 without me having changed it

osmc@vero4k:~$ cat /sys/module/di/parameters/bypass_prog
1

As before, setting bypass_all seems to resolve the stuttering issues for me :slight_smile:

Will probably add this to rc.local for the time being. But hopefully you can find a way to make it work for both use-cases.