Last Updated on December 29, 2021
This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers.
For this week’s blog, I decided to survey terminal emulators. A terminal emulator is computer software which emulates a dumb video terminal within some other display architecture.
My favourite terminal emulator is Hyper. Even though it’s built with web technologies (read Electron and TypeScript), it’s really fast. But that’s only my personal preference.
If you spend any time at the command line, a good terminal emulator helps make it a better experience. I traversed through all of the 22 programs highlighted in this Group Test and investigated the position from an RPI4 perspective.
I’ve summarized my findings in the table below.
Terminal | Package | Comments |
---|---|---|
Alacritty | NO | Fails to compile when building with cargo. There is a snap package available, but this doesn't run. |
Terminus | NO | Fails to compile as peer dependencies aren't satisfied. |
Hyper | NO | Fails to compile. |
urxvt | YES | Version 9.22 (released Jan 2016). This is the latest version. |
Tilix | YES | Version 1.8.9 (released Jan 2019). Latest version is 1.9.3. |
Kitty | YES | Fails to run, as Kitty requires working OpenGL 3.3 drivers. |
Guake | YES | Version 3.4.0 (released Oct 2018). Latest version is 3.7.0. |
Termite | NO | Success in compiling. The steps are detailed at the end. |
Terminator | YES | Version 1.91 (released Feb 2017). This is the latest version. |
st | NO | Very straightforward to compile |
xterm | YES | Version 344 (released May 2019). Latest version is 356. |
Tilda | YES | Version: 1.4.1 (released Feb 2018). Latest version is 1.5.0. |
Extraterm | NO | Fails to compile. |
GNOME Terminal | YES | Version 3.30.2 (released Oct 2018). Latest version is 3.36.2. |
DomTerm | NO | Repository only has version 2.0.3 of libwebsockets. Compiled the latest version successfully. But DomTerm itself fails to compile. |
Xfce Terminal | YES | Version 0.8.7.4 (released May 2018). Latest release is 0.8.9.2. |
Terminology | YES | Version 1.3.2 (released Dec 2018). Latest release is 1.7.0. |
Konsole | YES | Version 18.04.0 (released April 2018). Latest release is 20.04.2. |
Yakuake | YES | Version: 3.0.5 (released March 2018). Latest release is 20.04.2. |
Sakura | YES | Version 3.6.0 (released May 2018). Latest release is 3.7.1. |
ROXTerm | YES | Version: 3.3.2 (released Jan 2016). This is the latest version. |
LXTerminal | YES | Version 0.3.2 (released Sep 2018). This is the latest version. |
As the table shows, the vast majority of the programs have a package in the Raspberry Pi OS’s repositories. Disappointingly, there are no packages for 3 of the highest rated terminal emulators (Alacritty, Terminus, and Hyper). Despite a package present for Kitty, it doesn’t run on the RPI4. Kitty requires working OpenGL 3.3 drivers, which the RPI4 doesn’t have. And trying to fool Kitty that it does (MESA_GL_VERSION_OVERRIDE=3.3) was never going to work.
For all the terminal emulators without a package, I tried to compile the source. I’m definitely not an expert at compiling software. And I acknowledge that a few of the programs probably won’t ever work on the RPI4.
Despite a fair amount of effort, I wasn’t successful in compiling Alacritty, Terminus, Hyper, Extraterm, or DomTerm. I got close with a few of them, but it was a frustrating experience. If you’ve managed to compile any of these programs, I’d be delighted to learn how. There’s a comments facility at the bottom of this article.
I compiled st and termite, the former was a trivial exercise. Compiling termite was a little more involved (the steps taken are listed at the end of this article). I didn’t have time to try compiling programs which are supported in the repositories even though many of the packages are old versions.
Here’s a chart showing the memory footprint of the terminal emulators. All of the terminal emulators have tiny memory footprints. There’ll be no problem having multiple terminals running whatever the model of the RPI4.
Compiling Termite
First, we need to install yarn, the gperf package, clone libvte’s GitHub repository, and compile the source code, with the commands:
$ npm install -g yarn
$ sudo apt install gperf
$ git clone https://github.com/thestinger/vte-ng
$ cd vte-ng && ./autogen.sh
$ make -j4
$ sudo make install
Then we can clone Termite’s GitHub repository, and compile the source code, with the commands:
$ git clone --recursive https://github.com/thestinger/termite.git
$ cd termite && make -j4
Summary
I had a poor success rate in compiling terminal emulators for the RPI4. If you’ve managed to compile any of the programs I couldn’t get working, please share your findings in the Comments box below.
If I have to choose one terminal emulator, my preference is Hyper. Alas, despite my best endeavours, I wasn’t able to compile it for the RPI4.
Read all my blog posts about the RPI4.
Raspberry Pi 4 Blog | |
---|---|
Week 36 | Manage your personal collections on the RPI4 |
Week 35 | Survey of terminal emulators |
Week 34 | Search the desktop with the latest version of Recoll |
Week 33 | Personal Information Managers on the RPI4 |
Week 32 | Keep a diary with the RPI4 |
Week 31 | Process complex mathematical functions, plot 2D and 3D graphs with calculators |
Week 30 | Internet radio on this tiny computer. A detailed survey of open source software |
Week 29 | Professionally manage your photo collection with digiKam |
Week 28 | Typeset beautifully with LyX |
Week 27 | Software that teaches young people how to learn basic computing skills and beyond |
Week 26 | Firefox revisited - Raspbian now offers a real alternative to Chromium |
Week 25 | Turn the Raspberry Pi 4 into a low power writing machine |
Week 24 | Keep the kids learning and having fun |
Week 23 | Lots of choices to view images |
Week 22 | Listening to podcasts on the RPI4 |
Week 21 | File management on the RPI4 |
Week 20 | Open Broadcaster Software (OBS Studio) on the RPI4 |
Week 19 | Keep up-to-date with these news aggregators |
Week 18 | Web Browsers Again: Firefox |
Week 17 | Retro gaming on the RPI4 |
Week 16 | Screen capturing with the RPI4 |
Week 15 | Emulate the Amiga, ZX Spectrum, and the Atari ST on the RPI4 |
Week 14 | Choose the right model of the RPI4 for your desktop needs |
Week 13 | Using the RPI4 as a screencaster |
Week 12 | Have fun reading comics on the RPI4 with YACReader, MComix, and more |
Week 11 | Turn the RPI4 into a complete home theater |
Week 10 | Watching locally stored video with VLC, OMXPlayer, and others |
Week 9 | PDF viewing on the RPI4 |
Week 8 | Access the RPI4 remotely running GUI apps |
Week 7 | e-book tools are put under the microscope |
Week 6 | The office suite is the archetypal business software. LibreOffice is tested |
Week 5 | Managing your email box with the RPI4 |
Week 4 | Web surfing on the RPI4 looking at Chromium, Vivaldi, Firefox, and Midori |
Week 3 | Video streaming with Chromium & omxplayerGUI as well as streamlink |
Week 2 | A survey of open source music players on the RPI4 including Tauon Music Box |
Week 1 | An introduction to the world of the RPI4 looking at musikcube and PiPackages |
This blog is written on the RPI4.
Looking at your info on Roxterm, new versions are available on Github. Not sure if it was moved there or it’s just a fork.
We don’t allow URLs in comments, so that was removed.
I’ve looked at the GitHub repository. It’s a fork of the original project. While it has been contributed to the Arch User Repository, it fails to compile. We’ll monitor development of the fork.