discovering kivy on raspbian buster and the rpi4B

3D render of Blender monkey using Kiva

Because of a chance comment on an earlier post (an absolute failure – unable to build qt5 on a raspberry pi 4, https://arcanesciencelab.wordpress.com/2019/09/02/an-absolute-failure-unable-to-build-qt5-on-a-raspberry-pi-4/) by developer outsourcedguru (https://outsourcedguru.wordpress.com/) I have “fallen” for yet something else to get involved with: Kivy (https://kivy.org/). To be honest I’d never heard about it before now. It uses Python like PyQt5 does, to provide the programmatic bones on which to build very interesting applications using other tooling for desktop application rendering, which is 3D in this case.

I went looking and found directions for getting everything installed for Kivy. I then found a GitHub repo with this example in it (https://github.com/kivy/kivy/tree/master/examples/3Drendering). I downloaded everything and got it going as-is. It is now my new favorite thing to just run on my desktop. I’ve been monitoring both CPU usage as well as memory usage, and with this simple example it has basically no impact at all. Startup is near instantaneous. CPU temperature crept up a few degrees C, if that. With Chromium open with fourteen or so tabs and my other tools open as well, it should be doing some kind of work.

Something else for me to explore. I’m going to pull this onto my Macs as well.

building much, much faster – python 3.8 beta 4 on the rpi4b/4GB

Nearly a year ago I wrote about building Python 3.7.0 on a Raspberry Pi 3B+ with Raspbian 9.4 (https://arcanesciencelab.wordpress.com/2018/09/16/python-3-7-on-raspberry-pi-3b-and-raspbian-9-4/). One key highlight was how much time it took to build including any testing, which was two to three hours. I build Python 3.8.0 beta 4 on the Raspberry Pi 4B, on the SSD, and it took around 30 minutes (I say around, because I wasn’t paying much attention and certainly wasn’t timing it). When it finished I installed it in a folder on the SSD as well, and then started some minor testing on my own.

If you’re going to do something like this, then make sure that after an install you remove all soft links bin directory. The bin directory should look something like this:


All those links will end in a ‘3’, such as ‘python3’, and if you have the path to where you installed the Python 3.8 beta binaries in your overall $PATH, then you’ll pick it up instead of the default. So remove those links for the time being and instead use python3.8 when you want to test.

One more minor detail, which I started doing when building Qt5, and that’s create a build folder away from the source folder. Configure and build out of the build folder, so that if you need to rebuild with different configuration or different features, it’s simple to just create a second separate build folder and run everything again. For example:

Everything is in the build folder instead of commingled in with all the source. I wrote in last year’s post to build inside the source code folder after you unpacked it, and that was poor advice on my part.

A Tipping Point

The Raspberry Pi 4, in spite of its few rough edges (excess heat generation, non-standard USB C power connector) is still an excellent development platform, especially at US $55 for the 4GB version. With the drop in price of solid state storage prices you can build a very good Raspbian development system and do all your work natively instead of cross-compiling on another system (Linux or macOS or Windows 10). It keeps costs down considerably, especially if you’re on a budget. Even if you’re not, it’s still an excellent bargain all around. If you want to purchase a Raspberry Pi, then the 4B with 4GB is the one to get. With the extensive ecosystem and user community that’s built up around the Raspberry Pi, there’s no longer any excuse to hold back.