I'm playing with my Raspberry Pi 4 Model B with 4 Gb of RAM for a week.
And I see that its functionality is comparable with low-cost x86 desktops. Having 8 Gb RAM version will be better, but I own only 4 Gb version to reduce shipment time.
I'm using the RPi with fanless passive case. So it is really quiet.
Let's discuss the available software which I tested.
Ubuntu MATE 20.10
The main part is the operating system - the latest Ubuntu MATE 20.10.
It may be installed on SD-card or on external USB SSD.
Speeds for microSD cards are slow, the benchmark by GNOME Disks gives read and write speeds:
microSD card | read, Mb/s | write, Mb/s |
---|---|---|
Samsung Pro UHS-I 16 Gb | 45 | 14 |
Lexar 667x 128 Gb | 46 | 32 |
So I decided to use the old Samsung 850 PRO 256 Gb SSD to get the fastest disk speeds ever. It is inserted into AgeStar USB3 enclosure with USB VID:PID as follows 4971:8017.
To boot from USB SSD I needed to update the bootloader first.
After some experiments I decided to use 32-bit (armhf) because of larger software collection which is available for this architecture. For example there is no Modelica compiler for 64-bit (arm64) build of Scilab.
If you need the modelica compiler on 64-bit - you can get it by package recompilation on RPi using my guide at AskUbuntu.
Applications
Below is the list of application categories for various tasks I used before on x86 devices.
The list includes only deb-packaged applications to save disk space and network load.
Accessories
This section is presented by at least file-managers:
- Caja - default MATE file-manager;
- Krusader - dual-panel file-manager for KDE;
- Midnight Commander (
mc
) - terminal-based dual-pane file-manager; - Double Commander - universal dual-pane file-manager written with Lazarus.
Education
Below is the list of applications for mathematics:
-
Open source MATLAB clone - GNU Octave is available.
-
Graphical user interface for the computer algebra system Maxima - wxMaxima is available.
-
Multi-engine mathematical program - Cantor is available.
-
If I remember correctly - then the Ubuntu MATE 20.10 is the first release where Scilab is fully functional on RPi. It is installable by
sudo apt-get install scilab
. On 32-bit one can use Xcos to run some simulations including some electronics: -
The R programming language is supported by RKWard and RStudio, the latter is not available from official repositories as usual, but may be installed from third-party repository with commands below:
cd ~/Downloads wget -c http://security.debian.org/debian-security/pool/updates/main/o/openssl1.0/libssl1.0.2_1.0.2u-1~deb9u4_armhf.deb sudo apt-get install ./libssl1.0.2_1.0.2u-1~deb9u4_armhf.deb sudo apt-get install libqt5webenginewidgets5 wget -c https://github.com/ArturKlauser/raspberrypi-rstudio/releases/download/v1.5/rstudio--1.2.5033-1.r2r.bullseye_armhf.deb sudo apt-get install ./rstudio--1.2.5033-1.r2r.bullseye_armhf.deb sudo apt-get install pandoc pandoc-citeproc
Graphics
All applications are in place:
- GNU Image Manipulation Program - for raster images;
- Inkscape - for vector images;
- Scribus - for publishing of paged content.
Internet
All applications are in place:
-
Web-browsers Firefox, Chromium (as snap, but works fast and well), Midori;
-
aMule - an ed2K network client;
-
FileZilla - dual-pane FTP-client;
-
Transmission and qBitTorrent - BitTorrent clients;
-
Remminna - connect to remote desktop;
-
WireShark - network traffic analyzer, as usual should be correctly configured to capture traffic by normal user:
sudo chgrp wireshark /usr/bin/dumpcap sudo chmod o-rx /usr/bin/dumpcap sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap sudo usermod -a -G wireshark $USER
Office
The system comes with LibreOffice suite.
To get all its components use sudo apt-get install libreoffice
as on regular x86 desktop.
Useful tool for PDF comparison named DiffPDF is in place.
The E-Book collection named Calibre is in place.
There are a lot tools for publishing:
- ReText, the Markdown editor work well on ARM too. Math rendering is activated here by
echo mathjax > $HOME/.config/markdown-extensions.txt
as usual. - For more comprehensive LaTeX-typesetting one can use Gummi, Kile, LaTeXila, LyX, Texmaker and TeXWorks.
Programming
It is known that Arduino has both 32-bit and 64-bit version of the Arduino IDE available. To install it I prefer to use Ubuntu Make. It is available as snap, but I'll show the recipe with its version from GitHub below:
sudo apt-get install git python3-argcomplete python3-gnupg python3-progressbar
cd ~/Downloads
git clone https://github.com/ubuntu/ubuntu-make.git
cd ubuntu-make
bin/umake electronics arduino
sudo usermod -a -G dialout $USER
Many other tools are available:
- Code::Blocks - IDE for C, C++, Fortran;
- Geany - small and fast IDE:
- Kate - advanced text editor for KDE;
- Lazarus - IDE for Pascal;
- Spyder3 - IDE for Python 3;
- Meld - useful tool for visual
diff
ing.
Source code control and its integration to Caja file-manager is possible by the applications:
-
TortoiseHG for Mercurial integrates well to Caja after execution of the following commands:
# 1. Get the newest Mercurial with Python 3 support sudo apt-get install mercurial # 2. Get dependencies for TortoiseHg sudo apt install python3-all-dev python3-pyqt5 python3-pyqt5.qsci python3-iniparse -y # 3. Get sources of TortoiseHg hg clone https://foss.heptapod.net/mercurial/tortoisehg/thg cd thg hg checkout 5.5.1 # 4. Compile TortoiseHg using Python 3 sudo apt-get install python-is-python3 make local sudo python3 setup.py install # 5. Install TortoiseHg extension for Caja mkdir -p ~/.local/share/caja-python/extensions cp /usr/local/share/nautilus-python/extensions/nautilus-thg.py ~/.local/share/caja-python/extensions/caja-thg.py
-
RabbitVCS for Git, Subversion and Mercurial integrates well to Caja after execution of the following commands:
sudo apt install rabbitvcs-cli python3-caja python3-tk git mercurial subversion mkdir -p ~/.local/share/caja-python/extensions cd ~/.local/share/caja-python/extensions wget https://raw.githubusercontent.com/rabbitvcs/rabbitvcs/v0.18/clients/caja/RabbitVCS.py caja -q caja
Sound & Video
At least two media players available and work well - VLC and Celluloid.
If I understand things correctly, then they should use vc4-fkms-v3d for video acceleration. This option is already enabled in /boot/config.txt
:
cat /boot/config.txt | grep v3d dtoverlay=vc4-fkms-v3d
As it was already recommended in the README for Gentoo RPi 64bit the SMTube plays high-resolutions from YouTube well. It can be installed on Ubuntu MATE in usual way, but needs both youtube-dl
with smplayer
to function.
So the whole set may be installed by
sudo apt-get install smtube smplayer youtube-dl
As the result the 4K videos will play well.
System tools
Possible candidates for the software managers include:
-
The Welcome and Software Boutique applications are preinstalled for doing some tasks in one-click way.
Note: if you have removed them by accident, then install them back with
snap install ubuntu-mate-welcome --classic
andsnap install software-boutique --classic
. -
The Synaptic is installable by
sudo apt-get install synaptic apt-xapian-index
as usual; -
The Muon is installable by
sudo apt-get install muon
-
The Apper is installable by
sudo apt-get install apper breeze
Note: along with its usual functionality, it is very useful application to list installed
or search for
the desktop (GUI) applications.
Virtualization
The 32-bit version does not support virtualization, as it is shipped with CONFIG_VIRTUALIZATION
disabled in the kernel.
But the 64-bit version is shipped with virtualization enabled, so one can use QEMU on the RPi with needed functionality.
x86 emulation
The x86 emulation works well with Box86 project on 32-bit image.
To install it use:
sudo apt-get update
sudo apt-get install cmake build-essential git
cd ~/Downloads
git clone https://github.com/ptitSeb/box86
cd box86
mkdir build; cd build; cmake .. -DRPI4=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j4
sudo make install
sudo systemctl restart systemd-binfmt
Then one can run x86 application by box86
command and specifying path to needed 32-bit i386 ELF executable.
Installation of Wine for x86 is possible by getting its distribution from TwisterOS site and then adjusting paths:
cd ~
wget https://twisteros.com/wine.tgz
tar -xf wine.tgz
ln -s ~/wine/bin ~/bin
source ~/.profile
And then one can use Wine with wine
command and specifying path to needed 32-bit i386 PE executable.
The compatibility list is available.
So my conclusion is that RPi 4 runs well with Ubuntu MATE 20.10 and provides good user experience for various desktop applications and use-cases.