Configman, cross platform Raspberry Pi configuration tool

Just as an exercise in teaching myself the Qt Framework I have written a little program that you can use to configure your Raspberry Pi.  It’s just a small Qt GUI application that is used to produce the config file that lives on the boot partition of the Pi SD card.  This file is read at boot time by the GPU which then sets the device up accordingly.  You can create this file with any text editor (e.g. vim) and by looking up the config wiki page.  But this program is designed to present all the options to you in a more human readable way using drop down lists and tick boxes.  I am new to the Qt Framework so if anyone spots any faux pas’ in the source do let me know in the comments below.

So this is how it works.  Every row has a tick box, you check the tick box if you want to include that option in the config text file and then either type in or choose what you want the value to be.  You’ve got the usual Open, Save and Save As options.  The program will also remember the last file you loaded and bring it back up automatically when you next use it.  The idea being you can dip in and out quickly and easily.  Escape button to quit.

The great thing about the Qt framework is that you can build the program on Linux, OSX, Windows and the Raspberry Pi itself from the same source code.  So I want you all to try this and see if it works okay for you.  Any problems give me a shout.  The source code can be downloaded from here.

A couple of issues do exist with it which need to be checked out on a Raspberry Pi device.  Currently I am using the QSettings class to produce the config output file.  By default there is a group title named [General] at the start of the file, I have not been able to find an easy way to disable this feature programmatically.  So I need to find out if this will cause an issue at boot time for the Pi.  If it does I can add some post processing of the file to remove it on Save.  So if anyone who has an alpha or beta board could check that out for me I would be very grateful.  Otherwise I can just do it myself when my board arrives.  The program could probably use a bit more error checking and polishing too.

I actually wrote this on a 12 year old 128 MB laptop running Debian, just as an exercise to test what it would be like to develop with something that has similar power to the Pi.  It wasn’t too bad to be honest.  Hard drive access was quite slow and it did take about 40 to 50 seconds or so to do a build.  So I would presume the Raspberry Pi itself will probably be better than this!  Let’s hope so anyway.