RPI 4 - Week 1

Raspberry Pi 4: Chronicling the Desktop Experience – Week 1

This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers.

The purpose of the blog is two-fold. Primarily, it’s to share my experiences using the RPI4 purely as a desktop replacement machine, to see what works well, and what doesn’t. It’s also to act as an aide-mémoire for myself.

Along the way, I’ll be exploring what I’m looking for from a desktop machine. Smooth running multimedia, office based software, email, networking, and productivity apps are all high on my list of priorities. Rest assured, even though I am a huge advocate of the Pi range of computers, I’ll be brutally honest in my critique of RPI4. For example, the RPI4 is marketed as an energy efficient computer. In a way that’s very true. The Pi consumes a mere 2.8 watts when idle and about 5w when maxing out all 4 cores. But the firmware doesn’t automatically switch off the monitors’ backlight. Instead, it only blanks the screen. While there are plans to fix this issue (part fix with a working vcgencmd), it’s a startling omission. With inadequate power management of the monitors, it’s hard to consider the Pi 4 as an energy efficient desktop solution.

Raspberry Pi 4What makes the Pi 4 potentially a desktop replacement? For starters, it has a 64-bit quad core processor, dual-display support up to 4K, hardware video decoding, dual band wireless LAN, Bluetooth, gigabit ethernet, and two USB 3.0 ports. There are variants with 1GB, 2GB, or 4GB of RAM. I’m using the 4GB model only.

If you’ve been following my articles published on LinuxLinks, you’ll know I’ve written a plethora of reviews about Linux music players. There’s so many available, but I’ve still reviewed many of the less mainstream open source players that are currently under active development. It’s therefore inevitable I’ll start with a few multimedia apps on the Pi 4 to kick off this series. But before I do, I’ll make a few recommendations from a multimedia (and desktop) perspective.

  • Stick to Raspbian as your operating system. There are other interesting Linux/Pi-based operating systems available that are desktop friendly, but many lack the maturity of Raspbian. And Raspbian is the official operating system of the Raspberry Pi Foundation. It’s an unofficial port of Debian wheezy armhf.
  • For the best desktop experience, I strongly recommend running Raspbian with an SSD connected to one of the USB 3 ports. It’s a big step-up from running the system using a microSD card. Currently, RPI4’s firmware doesn’t support USB booting although there are plans to add support in the future. But it’s still possible to run Raspbian (or other distro) with an SSD over USB 3.0 as long as the /boot partition resides on the microSD card. Experienced Linux users will be able to set this up in 10 minutes. But for many, it isn’t trivial to configure if you’ve never done it before, so I’ll cover this procedure in a future blog.
  • I ran into a number of issues with Pulseaudio installed. On balance, it’s best not to install Pulseaudio.

CLI-based multimedia apps

Let’s take a look at a couple of multimedia apps. The first, musikcube, is my favorite CLI-based music player. musikcube isn’t in the Raspbian repository so you can’t install it with the command:

$ sudo apt install musikcube

The developer does provide packages for the Raspberry Pi. But the package for release 0.65.0 wouldn’t install with RPI4 due to incompatible libraries. As the source code is available, I cloned the project’s GitHub repository, and tried to compile it. This was almost successful, failing at the final linking stage of compilation. I opened an issue on the project’s repository, and the developer promptly offered a tweak (use ‘-latomic’ linker flag). This fixed the linking error, enabling the software to compile. He’s already rolled out a commit to musikcube’s GitHub. That’s what I love about open source and their developers.

I’m not going to run any synthetic benchmarks on the RPI4 in this blog. But I will occasionally post some real world test results.

The chart below shows the time it takes to compile musikcube with the RPI4 and with a run-of-the-mill quad-core Intel Core i5 machine. Of course, the result is not a strict comparison, for example the RPI4 and Core i5 are not running the same version of gcc and other software. But it does illustrate a few useful insights in the real world.

musikcube - compiling on the RPI4 and Core i5

First, when compiling software on a multi-core CPU, don’t forget to use make with the the -j flag, as it’ll will significantly reduce the compile time. Second, the RPI4 completed the test about 3 times slower than the Core i5 using a single core, and slightly less than 4 times slower when using all cores. I think the RPI4 did really well in this comparison, and bodes well.

The tests were run from an SSD on both machines. The tests were repeated using a high-quality microSD card on the RPI4 which added about 20 seconds to the tests. I also ran make -j 5 as there is a school of though that -j should take number cores + 1. But running the tests with -j 5 made negligible difference.

From limited testing, musikcube runs without issues on the RPI4. It’s an extremely frugal and well written piece of software consuming minimal system resources: around 35MB of RAM and 3.0% CPU of 1 core (reported by ps_mem and top respectively).

(29 Oct) UPDATE: The developer has now released version 0.70.0 with a package for the RPI4.

I also tried out another CLI-based music player called cmus. Unlike musikcube, cmus is available in the Raspbian repository. You can either install it at the command-line with apt, or with Raspbian’s graphical package manager, PiPackages.

Either way, the application wouldn’t start, the command cmus eliciting no response at the terminal. The solution was to create a new config file to get the app running.

~/.config/cmus/rc
set output_plugin=alsa
set dsp.alsa.device=default
set mixer.alsa.device=default
set mixer.alsa.channel=Master

I’ve not had time to put cmus thoroughly through its paces yet, but it plays music from my samba shares with the RPI4.

PiPackages

As I mentioned PiPackages above, I’ll say a few words about this application, which is pre-installed with Raspbian. PiPackages is based on Packages, a package manager for GNOME. I’ve used many package managers over the years, but never one based on Packages.

PiPackages
As package managers go, PiPackages works reasonably well. I’m not impressed with the user experience though. For example, having the description above the package name simply makes it harder to look through the package list. It looks cluttered. There’s a few other niggles, but the package log is genuinely useful, showing when specific packages were installed.

Closing Comments

This first edition of my blog is a taster for what’s to come. Most of this week I’ve spent installing a few distributions on the RPI4 rather than testing desktop software. For next week, I’ll cover music players in more detail.

If you have any desktop apps you’d like me to try on the RPI4, please drop a comment below.


Read all my blog posts about the RPI4.

Raspberry Pi 4 Blog
Week 36Manage your personal collections on the RPI4
Week 35Survey of terminal emulators
Week 34Search the desktop with the latest version of Recoll
Week 33Personal Information Managers on the RPI4
Week 32Keep a diary with the RPI4
Week 31Process complex mathematical functions, plot 2D and 3D graphs with calculators
Week 30Internet radio on this tiny computer. A detailed survey of open source software
Week 29Professionally manage your photo collection with digiKam
Week 28Typeset beautifully with LyX
Week 27Software that teaches young people how to learn basic computing skills and beyond
Week 26Firefox revisited - Raspbian now offers a real alternative to Chromium
Week 25Turn the Raspberry Pi 4 into a low power writing machine
Week 24Keep the kids learning and having fun
Week 23Lots of choices to view images
Week 22Listening to podcasts on the RPI4
Week 21File management on the RPI4
Week 20Open Broadcaster Software (OBS Studio) on the RPI4
Week 19Keep up-to-date with these news aggregators
Week 18Web Browsers Again: Firefox
Week 17Retro gaming on the RPI4
Week 16Screen capturing with the RPI4
Week 15Emulate the Amiga, ZX Spectrum, and the Atari ST on the RPI4
Week 14Choose the right model of the RPI4 for your desktop needs
Week 13Using the RPI4 as a screencaster
Week 12Have fun reading comics on the RPI4 with YACReader, MComix, and more
Week 11Turn the RPI4 into a complete home theater
Week 10Watching locally stored video with VLC, OMXPlayer, and others
Week 9PDF viewing on the RPI4
Week 8Access the RPI4 remotely running GUI apps
Week 7e-book tools are put under the microscope
Week 6The office suite is the archetypal business software. LibreOffice is tested
Week 5Managing your email box with the RPI4
Week 4Web surfing on the RPI4 looking at Chromium, Vivaldi, Firefox, and Midori
Week 3Video streaming with Chromium & omxplayerGUI as well as streamlink
Week 2A survey of open source music players on the RPI4 including Tauon Music Box
Week 1An introduction to the world of the RPI4 looking at musikcube and PiPackages

This blog is written on the RPI4.

Share this article

8 comments

  1. Good intro to the Pi 4. LibreOffice and Firefox would be the big deals for a lot of people, myself included. Gotta be able to surf the Web, and gotta be able to do office productivity. If you could test those out, that’d be great.

    1. Thanks for your feedback. I’m going to cover video streaming next week, but I’ll definitely cover web browsing and office productivity in a few weeks.

  2. Hello! I also tried to investigate how it performs as a desktop computer and I can agree on everything you wrote here. Also had issues with Pulseaudio … I think the little machine has great potential as a Linux desktop but am aware it will take some time to polish things like power management and USB booting. I tried new Ubuntu 19.10 server, added desktop and a few apps and tweaks, but although generally buggy and unstable, it could be a nice taste of things to come.

  3. I briefly tried using an RPi4 as a desktop, and concluded that it really isn’t ready yet. It’s much closer than before, but not “there”. Power management is one issue, as you mentioned. So is not being able to play YouTube videos in a web browser – though this appears to be a software issue, not a hardware limitation, since light 3D gaming (Tuxracer!) is feasible. I would guess that in one more generation – the RPi5, whenever it appears – it might genuinely be a realistic prospect for the ordinary user.

    1. I’m investigating solutions for smooth YouTube web browsing which offers the same performance as a x86 desktop machine.

  4. Use no pulseaudio, so no xfce either? Hm, I can survive with Fluxbox so if they’ve got that, I can move forward. But this article is really fascinating; using a SoC as a desktop. I look forward to more article in this series!

  5. Two weeks ago I began the same experiment, using a RPi 4 as a family desktop computer. I experimented with Raspbian and the new Ubuntu 19.10 (Still too raw for the stability that I need for my kids). I stick to Raspbian and , besides some glitches like sudden hangs and some wifi issues (nothing that some tweaks couldn’t resolve), I’ve got a nice desktop computer on my kids’ room, fully functional and blazing fast, running from a 128 GB micro SD (A1).

    I’m using now other cards with other GUIs (XFCE, Mate, etc) installed over Raspbian lite via tasksel, let’s see which one wins…..

  6. Like you, I have chosen the RPI4 for a desktop replacement. My previous RPI was the model A, with the camera module and the wifi adapter separate. It could not easily work with wireless keyboards. The Model A is not working so I transferred the camera to the model 4 (with 4G ram).

    One software not available for the PI is Zoom. Too bad.

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.