Update: Added subscription option
PiMix is a remixed version of Ubuntu for Raspberry Pi 4. It is optimised for desktop use and includes common software that you would expect to find on a Linux desktop.
Pre-installed system images are available with a choice of two desktops – XFCE and MATE. Each desktop is available in 32-bit (armhf) and 64-bit (arm64) versions.
Features
- Based on Ubuntu 19.10 Eoan Ermine
- Choice of XFCE and MATE desktops
- 32-bit (armhf) and 64-bit (arm64) versions
- All 4GB of RAM is usable on 64-bit version
- ZRAM-swap enabled
- New images will be available every 6 months based on latest release of Ubuntu
Editions
Image | Desktop | Base | Size | Arch |
pimix-19.10.1-xfce-armhf | XFCE | Ubuntu 19.10 | 1.1 GB | 32-bit (armhf) |
pimix-19.10.1-xfce-arm64 | XFCE | Ubuntu 19.10 | 1.1 GB | 64-bit (arm64) |
pimix-19.10.1-mate-armhf | MATE | Ubuntu 19.10 | 1.1 GB | 32-bit (armhf) |
pimix-19.10.1-mate-arm64 | MATE | Ubuntu 19.10 | 1.1 GB | 64-bit (arm64) |
Notes
- A 16 GB “A1” class SD card is required for running PiMix.
- Only the Raspberry Pi 4 model with 1/2/4 GB RAM is supported.
- Default username and password is pimix. You will be forced to change password on first login.
- Filesystem will expand automatically on first boot
- These images are based on Ubuntu 19.10 repositories. Ubuntu 19.10 is supported for 9 months and will receive updates till July 2020.
- Raspi-config and other utilities provided by Raspbian are not available on Ubuntu. Use the official Raspbian if you need the Raspbian tools and utilities.
- PiMix is meant to be used as a desktop. If you wish to use it as a server or for IOT projects then the Ubuntu server images or Raspbian may be more suitable.
- Firewall is enabled by default. Turn it off or add a firewall exception if you wish to connect using SSH.
- Use the PiMan tool to switch audio from HDMI-out to audio jack.
- A 32-bit operating system uses almost half the RAM as a 64-bit operating system. It is recommended to use the 32-bit version on the 1GB and 2GB models of Pi 4.
- The 3GB RAM limitation on 4GB model of Pi 4 is fixed for the 64-bit version. All 4 GB RAM is usable.
- WiFi, Bluetooth and audio from headphone jack and HDMI-out are tested and working.
- Hardware interfaces like camera and display connectors, GPIO, I2C, I2S, SPI, etc are not tested but expected to work, since these are based on official Ubuntu images.
System Configuration
Raspi-config and other utilities provided by Raspbian are not available on Ubuntu. Search for “Time and date” and “Languages” in the application menu to set up your timezone and language.
A simple tool is included for switching the audio output and starting/stopping some services. Search for “PiMan” in the applications menu to find the app.
Firmware Updates
Please ensure that the firmware on your Raspberry Pi 4 board is up-to-date. Starting with the Pi 4, firmware for the board is stored on the board itself. The firmware is not updated as part of normal system updates. You need to run commands ‘rpi-update’ and ‘rpi-eeprom-update’ on Raspbian to keep the firmware updated. Even if you do not use Raspbian, it is recommended to keep an SD card with Raspbian installed, just for updating the firmware every few months.
SD Cards
The main bottleneck with the Pi 4 is the slow storage. Use a SD card rated “A1” for better performance. Don’t waste money on “A2” cards as they don’t provide any better performance on the Pi 4 due to lack of driver support on Linux.
Other ratings on SD cards such as U1, U2, U3, UHS1, V90, etc are meant for cameras and video recording. They don’t have much impact on desktop performance. A1 and A2 are the only ratings that matter for running a Linux system.
SSDs
SSDs are the recommended choice for desktop use. SSDs have random read-write speeds that are 10 times higher than SD cards. Even the cheapest SSDs have better performance than the most expensive SD cards that you can buy. You can get a used SSD online for as little as $20.
USB Pen Drives
USB pen drives (even USB 3.0) have random read-write speeds that are similar or worse than SD cards (depending on which model you use). Avoid using them if you have a SD card available.
Test the USB drive using Crystal DiskMark on Windows. The 4KB random read/write speeds should be 1 MB/s or more. Some of the fastest USB pen drives on the market have random read/write speeds of 0.01 MB/s. They are designed for fast sequential read/write (~ 80 MB/s and higher) but not for reading/writing small files. This makes them a terrible choice for running a Linux system. Check online for benchmarks before you buy a particular pen drive.
Installing to USB drive or SSD
The Pi 4 firmware currently doesn’t support booting from USB drives or SSD. In order to use a USB drive as main storage, we need to use a SD card to boot the system.
- Write the PiMix image to both SD card and USB drive using Etcher or similar software
- Use a partition manager such as GParted on Ubuntu
- Delete the first partition on USB drive
- Delete the second partition on SD card
- Connect both the SD card and USB drive and start the Pi 4. It will boot from SD Card and use the system partition from USB drive.
Make sure to delete the 2 unused partitions as specified above. Pi 4 will refuse to boot if there are multiple boot or system partitions, on different devices connected to it.
Could i request a Plasma version with QT GLES?
GNOME, KDE, Cinnamon and Unity desktops are very sluggish on the Pi 4. Simply dragging and moving a window causes CPU usage to spike above 50%. XFCE, MATE and Budgie are the only desktops with decent performance. I’ll create a Plasma version if I can find a way to fix the performance issues.
There’s a few ways: In plasma settings turning compositor animation speed down, turning off unneeded services in startup and shutdown settings (geolocation updater, free space notifier, keyboard daemon, ksysguard ctrl+escape command, network proxy configuration service (users can re-enable this stuff easily enough), thunderbolt device manager service, touchpad service, search folder updater service, and bluetooth service (again it can be re-enabled easily)), in search settings disable file indexing in baloo, disable some krunner plugins such as browser tabs and bookmarks, disable the SDDM splash screen (it really isn’t needed and just adds extra processing imo), disable some of the desktop effects (such as blur, desaturation, fading popups) and enable the more simple ones which are lighter, and finally make sure to not include things like plasma-browser-integration or plasma-vaults and instead let the user decide if they wish to install those.
Also by using QT GLES, Plasma will be able to use the ES acceleration on the Raspberry Pi.
Thanks! Will try
(Couldn’t edit my comment, so just adding on) The Pinebook OG (11″ 1080P + A64 SOC variant) had a KDE Neon build that did exactly these things to make is snappier. It still wasn’t perfect, because they didn’t have Lima at the time, but it ran well enough.