I hope that line is not trademarked by LEGO… anyway, the point is that Slackware 14.1 on the Pandora is a great distro. I had tested it in the past but I had not given it enough of my attention then, and I now realize my mistake. Don’t get me wrong: Super Zaxxon is great and all, but if you want to enhance the utility factor of your Pandora, Slackware is one of the best ways to do it, without losing much of SZ either.
The image of Slackware 14.1 pre-built by Linux SWAT is a good starting point. You start with a Xfce environment, running well, with the latest library versions in the system. You don’t get much right at the beginning in terms of software, but Linux-Swat packaged a tool called Gslapt in order to share some pre-compiled binaries. That’s where I stopped last time I used Slackware. I knew it was possible to compile stuff from source, but I was not sure what was the recommended way to do it, and did not really see what was the benefit versus doing that in, let’s say, Codeblocks in SZ. Needless to say, I did not do my homework at that time.
Then I discovered the power of SBOpkg. Sbopkg is a tool that lets you build programs from their source code, using specific set up scripts coming from Slackbuild.org. Software is ordered in categories, and just like typical repositories you can browse through them. They key difference is that it does not download binaries, but starts from the source code to build binaries from scratch. Pre-compiled binaries are great if you do not want to waste time, but they are also limited – first, you may be unsure whether the binaries were or not tampered with versus the initial source code. There is always a point where you have to trust that the repository where the binary comes from is “safe”. Then you may be assuming that the compilation was done with the best optimizations possible, but it’s not always the case unfortunately. If you do it locally, on your own machine, you can add compilation flags to improve the compiled binary performance somewhat.
So what can you do with SBOpkg ? Well you can build a ton of software that is not included in the base Slackware distribution. Note that depending on the complexity of the program, it can take some time, even a very long time, but it’s worth it. Here’s one compilation going on…
This way I compiled stuff like gPodder (that is not working any more in its latest version on SZ), as you can see it running in the below screen. Yup, I have been following the recent Serial podcast.
For browsing you can use the provided Firefox build (outdated, but working still just fine) or go with a fresh compilation of qupzilla through SBOpkg. In any case I found the browsing experience faster than on Super Zaxxon. Granted, we are still talking about Pandora speeds, so don’t expect something as fast as your latest smartphone, but it’s nevertheless an improvement somewhat.
I also compiled the latest version of MyPaint, and the odd issue in SZ where you would get some dead zone where the stylus would not be recognized anymore on the far right of the screen is gone. And it’s faster and has more options since the latest version is ahead of the one that was portable for SZ. It does not fix the fact that I draw like crap, though.
With SBOpkg, I could compile and install Calibre, the fantastic ebook reader / ebook processor which can convert ebooks from one format to another in a breeze. Now I can actually use my Pandora together with my Kindle to transfer books to it, and convert .epubs into .mobi formats if needed. That is just GREAT to be able to do that on the go. Another thing where the laptop will not be needed any more.
Anki works great as well, and compared to the PND version for SZ, it is perfectly integrated with the browser and makes it possible to download flashcards seamlessly, while it’s a little pain in the ass with SZ (you need to save Anki packages on the SD card first before you can import them, while on Slackware it’s all linked together when it’s installed, just like you would expect from the desktop application).
As you can see above, I could install the Japanese locale without any issue to display Japanese text. Text input was supported perfectly with anthy and SCIM, just like in a regular distro. It kind of works in SZ, but the current solution is imperfect and several programs do not recognize Japanese input in SZ.
If you are into photography, well GIMP and UFRaw work out of the box again via a fresh compilation, enabling you to import and modify RAW pictures straight from a camera SD Card. To be honest the Pandora lacks a bit of screen estate and CPU power at this stage to do anything remotely useful with it, but that’s nevertheless impressive to get so much flexibility in a pocketable computer.
For the Data Scientists out there, you can use SBOpkg to compile and run R (latest version, 3.2!) on your Pandora – on SZ we are stuck on 3.0 and there’s no easy way to install packages. On Slackware, this is awesome because you can actually run some fairly complex tasks with R, and until not too long ago that was only possible using a laptop or desktop. You can even install (and compile) some fairly complex R packages like ggplot2 and dplyr – some take a while, but they work fine in the end.
Obviously you are not going to run an analysis on a million rows with your Pandora (that would be pushing it), but for anything like a small or intermediate dataset, it’s a remarkably capable tool.
At this stage I am still trying to make RStudio compile on the Pandora, but I need to figure out first how to install Oracle’s Java in order to make that work. If it can work, you can’t go much more awesome than that. Of course there will be limitations because of memory size, but it’s nonetheless a fun experiment, and you can always use swap to go a little beyond the limitations of the Pandora hardware.
And it does not stop at what’s available through SBOpkg.
Nothing prevents from your downloading sources from other programs online, and just compiling them directly from the terminal.
Not too long ago, for example, I realized that I did not find RSSGuard in Slackbuild, and I decided to install it directly by building it from source. It was straightforward enough:
git clone https://bitbucket.org/skunkos/rssguard.git
Then as per the instructions on the RSSGuard website…
cmake -DCMAKE_BUILD_TYPE=release make install
The make process took maybe something like 45 mins or so (not sure, I was not waiting right in front of the Pandora the whole time), and gave an error at the end because the make install did not have the root privileges to copy the files for the final install step.
su - #to get root privileges make install #in the same directory where you were for the RSSguard compilation
And that was it! The latest version of RSSGuard was now available right in my Network menu. Latest at the time of compilation – right now RSSGuard is in its 3.x branch, and I did not update it since then. But it’s easy enough to do.
Sometimes the dependencies chains can be a bit tedious… like libgnome2 was required, which needed libgnome2-ui, itself needing more stuff…. etc… it took a little while, but at least the positive effect is that it does not hide anything from you – you can start getting a grasp of how packages are interconnected to each other’s, and understand the complexity associated to it (packages can change and break things or introduce new bugs), and the fact that most modern software is “built on the shoulders of giants“.
just for fun, I compiled notaz’s gpsp excellent GBA emulator. It worked just fine, just as you’d expect from a program compiled straight from source. The only additional thing I had to do is find out where to put the ROM files since it does not have an appdata folder like on the Pandora PND file structure.
I did encounter a couple of programs I could not get to work. I have tried to compile VLC. It took a LOT of time, since it has a ton of dependencies… and in the end the final compilation did not work because of some error I could not trace back to anything. For some reason music players are all kind of broken, too. The ones I compiled manage to launch fine, but none of them were able to produce any sound. There must be some weird configuration issue going on, and to my knowledge this has not been solved so far. That made me feel a little disappointed, I have to admit, but it does not undermine the massive utility of Slackware versus the limitations of a Super Zaxxon, for example.
Slackware also has a pretty good PND compatibility. There are several PNDs for which sources are not available, and being able to run them without trouble is an interesting feature. Note that is not the case for ALL PNDs (some will refuse to start) but it’s nevertheless working well enough in most cases to mention it. It’s probably better to use PtitSeb’s massive PND for Libreoffice instead of compiling it by yourself, which could take literally several days on your Pandora.
You can even try to connect your Pandora with external hardware. Let’s say, you want to scan something using your Pandora… well, connect it to a Linux-supported scanner (check Sane compatibility list), build and start Xsane and you are good to go. I tried and it worked surprisingly well.
Even better, while it’s always been a headache to try to connect a Dual Shock controller on the Pandora in SZ, with Slackware it’s trivial since you can install the ds4drv script (see this tutorial on BoilingSteam if you want to know more) and just run it. It will then appear in your controllers’ list in applications supporting external controllers, such as most emulators. Sweet.
But here’s a final warning.
Slackware is not for everyone.
I’m not trying to convince all Pandora users to move to Slackware tomorrow, because there are some shortcomings that you should be aware of as well, and it’s certainly not as “plug and play” as Super Zaxxon. For my usage, the benefits outweigh other aspects, but it’s up to you to decide. If you like to tinker and explore the full possibilities of your Pandora, then this is it, this is just one of the best distro we have to do that right now.
- Pretty much everything is working like it should in a full Linux distro. Except package management which is very much manual due to Slackware’s philosophy.
- You can compile new software right from the OS without using CodeBlocks. The sky is the limit, even if you are not PtitSeb 🙂
- SBOpkg and SlackBuild make it easy to compile tons of packages.
- It supports PNDs as well, which is great for non-Free Software PNDs.
- It’s faster and more optimized than Super Zaxxon. It feels more responsive.
- All in all, you can do WAY more things with your Pandora.
- Not all PNDs work as expected, or some will refuse to start.
- Apart from PNDs, No repository of binaries so every new program addition requires a compilation… and time. [ Linux-SWAT is right to correct me here, there is indeed Gslapt available with 400 packages already compiled. But for anything that’s out of that list, you will need to compile them by yourselves. ]
- Dealing with dependencies can be a little tedious.
- Having a 32 Gb+ card is recommended to make the best use of it.
- Codeblocks is probably closer to the cutting edge in terms of libraries and compilation tools (PtitSeb uses one of the latest versions of GCC, for example), but you don’t need to package anything to use a freshly compiled program on Slackware.
- Boot time and shut down time for Slackware is much longer than SZ.
If anything, you should give it a try. Installing Slackware on a SD-Card will only take about 10-15 mins of your time, and after that you can see if you like experimenting with it. Don’t give it up in just 10 minutes, it needs to grow on you to fully understand the breadth of what you can achieve with it.
Thanks again to Linux-SWAT for maintaining and updating the Pandora port of Slackware.