Raspbian Buster + VC4 + Qt5 = way to go!

A place where updates of QLC+ activities and technical articles are posted as if it was a blog
Post Reply
User avatar
mcallegari
Posts: 4482
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Last year, I wrote a lenghty post describing the bad situation of the software stack on Raspbian Stretch.

Now the new Raspberry Pi 4 joined the family and switching to Buster was mandatory to have a working QLC+ image.
Well, the software stack situation has changed, and I have to say I've been pleased by what I've seen. At least for the most part of it...

Short story: Buster is better than Stretch :)

Long story: I've seen a number of improvements in the Pi 4 + Buster combination. I'll try to describe them here.
  • CPU and heating: Pi 3 was kinda bad and because of heating it was hanging a lot when building QLC+. So I had to do a slow build, taking about 2 hours every time. Pi 4, instead, is magnificent! I can build QLC+ in 30 minutes using 100% of the CPU, without a single hang. (even without a fan or heatsink!) This means also that if you stress QLC+ the Pi 4 will behave nicely.
  • GPU: Buster officially switched to the open source VC4 driver. I think they consider it mature enough to handle the most common graphics operations. I haven't done extensive tests, but in terms of plain OpenGL rendering, it seems to do the job
  • Qt: this is the improvement I like the most! Qt on Stretch was badly built. Qt on Buster is awesome!
    If you run Buster lite and install QLC+ you just need to launch it on the eglfs platform. [see 1]
    If you run Buster with Xorg, QLC+ will just run flawlessly in the window manager, with the same Qt version (obviously using the XCB platform abstraction interface)
    This means I don't need to custom build Qt anymore. Means less work for me, less confusion for you and more out of the box joy.
Pi 4 now really feels like a mini PC, so basically QLC+ is almost usable even for editing. With Xorg you'll also have all the VNC and remote access goodies without any custom hack.

One thing I really haven't tested yet is video playback, but I will in the next days. If you have feedbacks on this topic, please report here, thanks.

Unfortunately, not eveything is an improvement on Buster. Up to Stretch, I was pretty happy to have QLC+ up and running in under 15 seconds.
On a Pi 4 with Buster the boot time has gone up to almost 30 seconds. And even worse, on a Pi 3 the boot time is lower (around 22 seconds)
I haven't got a technical explanation for this (yet) but I suspect this is because of the current graphics stack (open source VC4 + Qt)
systemd analysis is pretty similar (if not better) than Stretch so the bottleneck is really something around Qt/QLC+.
I will investigate this further too in the next days. Hopefully this will be improved over time.

So, have you tried the new image yet? What do you think so far?

[1] When I first ran QLC+ on eglfs, the DPI scaling was messed up. So I had to add some exports to the /etc/init.d/qlcplus script.
With those you can basically set the size in millimiters of your TV. Therefore, if you see a weird UI, adjust the output size with QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT. (reference here)
User avatar
GGGss
Posts: 2732
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Awesome news Massimo,
I was against PI's in fixed installs because of the lacking UI...
'Solution' was a second one and a webpage - but again sliders not working well...

Would a touch VGA resolution display of say 8-10" be within do-able reach now to have VC control?
All electric machines work on smoke... when the smoke escapes... they don't work anymore
User avatar
mcallegari
Posts: 4482
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

GGGss wrote: Wed Aug 28, 2019 3:58 pm Would a touch VGA resolution display of say 8-10" be within do-able reach now to have VC control?
Depends on how crowdy is your VC. If you design it well, a small screen could be enough for basic gigs.
Post Reply