Raspbian OS updated to Buster

For discussion of topics specific to MythTV on Raspberry Pi devices
jksj
Senior
Posts: 148
Joined: Thu Feb 13, 2014 7:53 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by jksj »

""Openmax Normal" works for me but not "Openmax High Quality". Also when openmax render is selected, I cannot select opengl osd, only softblend osd is available."
Yes I get the same results with a clean profile. I was using one that had previously been built under Jessie.

Attempting to use openmax render with ffmpeg decoding produces a little video tearing.
When using openmax normal there is no tearing but panning suffers the same issues as on the Pi 3.
MikeB2013
Senior
Posts: 519
Joined: Mon Jul 25, 2016 4:16 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by MikeB2013 »

Peter,

I also have only softblend.

Using OpenMAX normal on pi4 (4GB) is fine, tested with UK DVB-T/T2/S/S2 both Live TV and recorded programs.

I have attached my /boot/config.txt file for reference.

The only issue I did have was occasional stuttering audio, which was fixed with the following settings:
Upconvert stereo to 5.1 surround: unchecked
Upmix Quality: Passive
Use Internal volume controls
Mixer device: software
Mixer controls: PCM

Note that for Video playback Primary deinterlacer is set to Linear blend, which for me gives reasonable strapline (rolling tickers) on News channels (BBC News, Sky News)

Mike
Attachments
config.txt
pi4 config.txt for legacy OpenMAX
(1.71 KiB) Downloaded 145 times
MikeB2013
Senior
Posts: 519
Joined: Mon Jul 25, 2016 4:16 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by MikeB2013 »

Peter,

For hevc there is an interesting post with link to ffmpeg changes pi 4 (2711) hw acceleration
https://github.com/raspberrypi/firmware/issues/1168

Mike
jksj
Senior
Posts: 148
Joined: Thu Feb 13, 2014 7:53 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by jksj »

I also have only softblend.

Using OpenMAX normal on pi4 (4GB) is fine, tested with UK DVB-T/T2/S/S2 both Live TV and recorded programs.

I have attached my /boot/config.txt file for reference.
I still find issues with panning when using Openmax. My best results are with ffmpeg decoding and dtoverlay=vc4-fkms-v3d set in config.txt unlike your case. No idea what it does but it makes a big difference when using ffmpeg. Now happy with the performance, completely fine on a 32 ins tv. Main 55 ins TV still needs Nvidia. Hoping perfomance will impove with time, I believe ffmpeg has to be changed to use the new graphics core.

2019-07-03 18:18:19.675840 I Player(0): FPS: 25.25 Mean: 39601 Std.Dev: 5320 CPUs: 72% 67% 71% 62%
2019-07-03 18:18:20.668832 I Player(0): FPS: 25.19 Mean: 39698 Std.Dev: 6832 CPUs: 78% 73% 75% 69%
MikeB2013
Senior
Posts: 519
Joined: Mon Jul 25, 2016 4:16 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by MikeB2013 »

I have done a build of mythtv-light 29 and briefly tested against mythtvbackend 29 with UK Freeview DVB-T/T2

Edit 20191001
Removed from Dropbox.



Mike
Last edited by MikeB2013 on Tue Oct 01, 2019 2:18 pm, edited 1 time in total.
MikeB2013
Senior
Posts: 519
Joined: Mon Jul 25, 2016 4:16 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by MikeB2013 »

Peter,

Another little change to mythtv packaging/mythtv-light/ to allow optimize_mythdb.pl to run.
Needs dependency libio-socket-inet6-perl
Without the dependency installed optimize_mythdb.pl errors:

Code: Select all

pi@raspberrypi:/usr/share/doc/mythtv-backend/contrib/maintenance $ ./optimize_mythdb.pl 
Base class package "IO::Socket::INET6" is empty.
    (Perhaps you need to 'use' the module which defines that package first,
    or make that module available in @INC (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base).
 at /usr/local/share/perl/5.28.1/IO/Socket/INET/MythTV.pm line 14.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.28.1/IO/Socket/INET/MythTV.pm line 14.
Compilation failed in require at /usr/local/share/perl/5.28.1/MythTV.pm line 14.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.28.1/MythTV.pm line 14.
Compilation failed in require at ./optimize_mythdb.pl line 15.
BEGIN failed--compilation aborted at ./optimize_mythdb.pl line 15.

Patch for master attached.

Mike
Attachments
libio-socket-inet6-perl.patch
(1.64 KiB) Downloaded 111 times
User avatar
pgbennett
Developer
Posts: 503
Joined: Mon Apr 27, 2015 5:41 pm
United States of America

Re: Raspbian OS updated to Buster

Post by pgbennett »

I have updated packaging with the patch.
MikeB2013
Senior
Posts: 519
Joined: Mon Jul 25, 2016 4:16 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by MikeB2013 »

Just a heads up for anyone using USB3 external SSD/HD on Raspberry pi4.

There are multiple reports of issues with poor performance and/or errors when using an USB 3 connected SDD/HD using various USB 3 to sata converters and also external USB 3 hard disks.

I have experienced such problems with my Pi 4 (4GB) with various USB 3 to sata converters with both 2.5 SSD and 2.5 hard disks.
Even if there are no errors being reported in dmesg, performance can be like USB 2 or worse.

There is a work round which downgrades from uas see https://www.raspberrypi.org/forums/view ... 8&t=245931

The work round gives reasonable performance, but not the best as uas is disabled.
I don't believe it is the whole story as the same setup on my Xubuntu 18.04 (kernel 4.18.0-25) laptop USB 3 port has excellent performance, as does another system running Debian Buster (kernel 4.19.0-5).

A quick test with the drive mounted, depending on how drive is mounted you might need sudo in front of the command.
dd if=/dev/zero of=test1 bs=4k count=2000k conv=fsync status=progress

This writes a 8GB file with all zeroes.

After the file has been written check using dmesg for errors.

Mike
User avatar
stuartm
Developer
Posts: 129
Joined: Wed Feb 05, 2014 5:17 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by stuartm »

Is anyone working on or planning to work on getting OpenGL rendering working?

I don't have a whole lot of time on my hands but I really can't live with softblend on the OSD so if no-one else is doing it I might tackle it.
User avatar
pgbennett
Developer
Posts: 503
Joined: Mon Apr 27, 2015 5:41 pm
United States of America

Re: Raspbian OS updated to Buster

Post by pgbennett »

I believe Mark Kendall has done some work in the render branch, to convert to the new OpenGL that is now available in Raspberry Pi. I don't know what the state of that is. Also I have not investigated why opengl es is disabled in the buster configuration. It may just be some changed library name that needs to be fixed.
User avatar
stuartm
Developer
Posts: 129
Joined: Wed Feb 05, 2014 5:17 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by stuartm »

Just a followup, the render branch actually works pretty well with OpenGL for me, albeit at 1080@50Hz and not 4K where the UI is laggy and video playback stuttered. Hopefully Mark will be ready to merge these changes into Master sometime soon.

I have an idea that tweaking the raspi config may resolve the issues at 4K but this wasn't a high priority and I ran out of time to test the theory this weekend.

There are some issues with Buster, for example despite specifying the 50Hz option at boot, and it booting correctly at 50Hz, it switches to 60Hz as X starts and this predictably causes significant issues with playback here in the UK (25 fps). I can force it back to 50Hz but I've yet to fix this permanently.

Deinterlacing is disabled since my TV is correctly managing the deinterlacing even at 50hz so I can't give feedback on how well this may work for others.

MythTV 30 has a major regression in CEC Remote support, half the buttons on my remote are no longer working so I'll have to dig into that but otherwise this is close to being matching the experience with the Raspi v3. I'd like to say it performs better than that, but between the opengl rendered UI and the lack of hardware decoding on the Pi I would say the overall responsiveness is pretty much exactly the same despite the much more powerful CPU in the Pi 4 and 4x the memory.
jksj
Senior
Posts: 148
Joined: Thu Feb 13, 2014 7:53 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by jksj »

Which pre-compile configuration options did you use for the render branch on Pi? It doesn't run with the defaults and I am presuming that those stated in the Pi Wiki are not correct for the render branch.
User avatar
stuartm
Developer
Posts: 129
Joined: Wed Feb 05, 2014 5:17 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by stuartm »

Sorry for the slow response, I wasn't subscribed (email) to this thread.

There was nothing special in the arguments to configure except the use of "--disable-indevs" to stop ffmpeg trying to build with ALSA as an input when I didn't need that or have the necessary libs installed.

Code: Select all

MythTV Version : v31-Pre-940-gd788f8e6f7
MythTV Branch : devel/2019-render
Network Protocol : 91
Library API : 31.20190109-1
QT Version : 5.11.3
Options compiled in:
 linux profile use_hidesyms using_alsa using_oss using_backend using_bindings_python using_bindings_php using_dvb using_frontend using_vbox using_ceton using_hdpvr using_ivtv using_joystick_menu using_libcec using_libxml2 using_lirc using_mheg using_opengl using_opengl_video using_opengl_themepainter using_qtwebkit using_qtscript using_qtdbus using_taglib using_v4l2 using_x11 using_xnvctrl using_xnvctrl_external using_libbluray_external using_profiletype using_bindings_python using_bindings_php using_freetype2 using_mythtranscode using_opengl using_opengles using_ffmpeg_threads using_mheg using_libxml
Now I had done a lot of messing around with various packages before this trying to get different builds working. If I remember correctly, and there is a good chance I'm not, you want the mesa gl packages installed but not the libraspberrypi ones.

Quick cautionary note, the render branch seems to be forcing the use of the 2x OpenGL Kernel Deinterlacers ignoring what is specified in the playback profile. I'm sure this is just temporary since that branch is a work in progress but it means HD (H.264) performance isn't great - this means that for now it's still not production ready. I will eventually take a look at removing that hard-coded deinterlacing but there's a strong possibility that Mark will fix it before I ever get to it, if he hasn't done so already.
jksj
Senior
Posts: 148
Joined: Thu Feb 13, 2014 7:53 pm
Great Britain

Re: Raspbian OS updated to Buster

Post by jksj »

Render branch on Pi 4
Thanks using the following :-
./configure --enable-proc-opt --disable-mmal --disable-xrandr --disable-vdpau
got me near to your library usage and that now runs with the issues as you describe them.
Post Reply