Raspberry Pi 3 and next steps

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

Every time the Raspberry foundation announces a new Raspberry Pi model, it seems like Jesus Christ is walking the earth back again.
Well, this time I have to say I am pretty disappointed by the Raspberry Pi 3, and I am going to explain why.

While it looks like the Pi is getting closer and closer to appear like a mini PC, and while we finally have integrated WiFi and Bluetooth, this whole RPi3 thing looks to me like "give me some more of your money, while we struggle to keep the pace with other cheap solutions".

The Raspberry Pi has indeed set the bar to cost effective and powerful solutions, but like many other cool inventions, other vendors took the idea and developed even better solutions than the Pi. A couple of examples: the $15 Pine64 project or the $40 ODROID-C2
What makes the real difference is the community behind these projects. The Raspberry Pi has a HUGE community and everything you ask, most likely you will find the answer on some forum or blog. Other vendors, instead, are chinese and they are not so keen to participate to open source initiatives, so at some point, you will find an issue and will bang your head against a binary blob, without any chance to fix it or to request support for it.

But when the Pi3 has been announced I got excited like many others, and I soon realize: where's the HEVC decoding ? Where is the damn fix for the shared USB and ethernet bus ? Where is USB 3.0 ? Why WiFi is not 802.11ac ? Why 64bit if you don't use it then ? And guys...still 1GB of RAM ?
It quickly seemed to me like the Raspberry Pi 4 is going to be "the good one".

Then I started to spend some time on the current image running QLC+ on the Pi...and got even more sad.
As a few of you might already know, the image provided right now is based on Debian Wheezy (7.0) while right now Debian Jessie (8.0) should be the one to be used.

I decided to wait a bit for a few reasons:
- Jessie dramatically changes the way processes are started up at boot
- every major Debian release needs some time to sort out the initial issues, especially in the Raspberry Pi world
- because it delivers more recent packages, the footprint has increased a lot, while the Wheezy image is very light
- Jessie promised a boot time faster than Wheezy, but as far as I can tell, I believe a lot of effort has to be put in that sense to achieve what we have on Wheezy right now (an "empty" QLC+ starts in 30s on the Pi 1, 22s on the Pi 2 and 15 seconds on the Pi3 !)
- switching to Jessie means testing everything I struggle to make to work in the last two years...back again (touchscreens, serial port, USB devices, etc..)

The sad part is that it is clear that the Raspberry Pi foundation is not going to support Wheezy anymore :(
I can say this cause WiFi and Bluetooth don't work out of the box on Wheezy and after I investigated it a bit, I realize that the necessary firmware packages that should be available on Wheezy too, are not.
For example, to make WiFi work, you need to install a Jessie package like this:

Code: Select all

wget http://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_0.43+rpi4_all.deb
dpkg -i firmware-brcm80211_0.43+rpi4_all.deb
Regarding Bluetooth, unfortunately I haven't been able to make it work, and after a few hours I decided to give up cause the effort is not worth it.
The Qt libraries are another sad part. Jessie delivers Qt 5.3.2 which is terribly obsolete right now (in Wheezy I build Qt 5.5.1 myself), and since Debian is very conservative, I'm afraid no newer versions will be delivered in the next months/years. Plus, the provided Qt requires an X server to work.

So, here's the next steps (and please don't ask for ETA - my time is very limited lately):
- I will abandon the Raspberry Pi 1 support. RPi 1 is an ARMv6, while RPi 2 and 3 are ARMv7. Qt makes a difference between those, and to support the RPi 1 I have to build on ARMv6, potentially loosing performances on ARMv7. So...no more RPi 1
- I will switch to Jessie, build everything on it, and pack a ready-made image where QLC+ starts up at boot. Exactly like now, but more modern... :)
- I will also provide two new things:
1) a script to download and install a pre-built installation of the Qt libraries (latest version where it makes sense) that will support EGLFS (no X server) and XCB, for who wants to use QLC+ on a X server and maybe VNC
2) a pre-built DEB package of QLC+ for armhf, so that you can install Jessie or Ubuntu on your own and add QLC+ as a generic application

In theory, both Qt and QLC+ armhf should work on other boards (provided they are running Debian or Ubuntu - 32bit), like Banana Pi, ODROID-C2, etc.. but it's not guaranteed and I will officially still continue to support only the Raspberry Pi.

Now I only have to find the time to do all of that.... :roll:
Chris De Rock
Posts: 102
Joined: Tue Apr 14, 2015 6:54 am
Real Name:

yesterday have successfully set up QLC+ (from git) on jessie with QT 5..6 and it works great. QLC+ is starting at boot just like hostapd (which makey the Pi3 to an accesspoint). maybe i can help you with the switch to jessie.
User avatar
mcallegari
Posts: 4446
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

a new image based on jessie has been released the same day of 4.10.4.
If I remember, it includes hostapd as well
Post Reply