The Problem: Only Ubuntu Server and Ubuntu Desktop (GNOME) have official Raspberry Pi images. All other Ubuntu flavors (Cinnamon (Ubuntu Cinnamon), KDE (Kubuntu), Xfce (Xubuntu), MATE (Ubuntu MATE), etc.) don't have Pi images available.
The Solution: This guide shows you how to manually build any Ubuntu flavor by installing Ubuntu Server, then adding the desktop environment packages. It also includes the critical xorg configuration fix needed for Pi 5 GPU detection (undocumented elsewhere), plus optional Kodi setup for media center use.
What you get: Any Ubuntu flavor you want on Pi 5, for whatever your use case may be,I did all of this and wrote this guide with the intention to use it as a bedroom TV controller as it were to replace my roku streaming device with Kodi and sometimes just use it as a desktop I can use from bed with a bluetooth keyboard mouse combo from logitech (k400 Plus).
Hardware Requirements
- Raspberry Pi 5 (any RAM size, 4GB+ recommended to accommodate these large DEs)
- NVMe SSD (recommended) or microSD card
- 5Ax5V USB-C power supply like the official 27w USB-C PSU from Raspberry Pi
- HDMI (micro) cable and display
- Keyboard and mouse or use of SSH for setup
- Optional: Pironman 5 Max case for cooling/OLED/RGB/IR receiver
Select which desktop environment you want. Only Ubuntu Desktop (GNOME) has an official Pi image. This guide lets you install any of the other flavors by manually adding the desktop packages:
| Flavor | Desktop | RAM Usage | Best For | Official Image? |
|---|---|---|---|---|
| Ubuntu Desktop | GNOME | ~1.2GB | Modern, polished experience | ✓ Yes |
| Ubuntu Cinnamon | Cinnamon | ~800MB | Traditional Windows-like UI | ✗ No |
| Kubuntu | KDE Plasma | ~900MB | Highly customizable | ✗ No |
| Xubuntu | Xfce | ~500MB | Lightweight, fast | ✗ No |
| Lubuntu | LXQt | ~400MB | Minimal resources | ✗ No |
| Ubuntu MATE | MATE | ~600MB | Classic GNOME 2 style | ✗ No |
| Ubuntu Budgie | Budgie | ~700MB | Clean, modern | ✗ No |
Part 1: Initial Installation
STEP 1 Install Ubuntu Server 24.04
You can install Ubuntu Server using either method:
Method 1: Raspberry Pi Imager
Download and install Raspberry Pi Imager
- Choose Device: Raspberry Pi 5
- Choose OS: Has to be Ubuntu Server LTS is Optional though highly reccomended. For this guide we will use Ubuntu Server 24.04.3 LTS
Other general-purpose OS → Ubuntu → Ubuntu Server 24.04.3 LTS (64-bit) - Choose Storage: Your NVMe (connected with a USB to M.2 Adapter)/SD card
- Customisation:
- Set hostname
- Enter capital city of your country, Set time zone (EST/EDT is America/New_York), and keyboard layout
- Set username and password (you will need to remember both of these)
- Enter Wifi credentials ((Optional though reccomended if you plan to use wifi for setup)
- Enable SSH and use password authentication
- Write to storage device
- Upon completion the storage device should have been ejected but double check
- Insert into Pi and boot
Method 2: Pi 5 Network Install
- Power on your Pi 5 and Hold shift on your keyboard to begin netboot
- If that fails Power on your Pi 5 and hold or hit space to bring up the option to change boot settinsg then hit N for netboot
- Connect to network via Ethernet (will not work over Wi-Fi)
- The Pi will automatically boot into the network install GUI once it has downloaded it
- Under "Choose Device" select Raspberry Pi 5
- Under "Choose OS" from the menu Has to be Ubuntu Server LTS is Optional though highly reccomended. For this guide we will use Ubuntu Server 24.04.3 LTS
Other general-purpose OS → Ubuntu → Ubuntu Server 24.04.3 LTS (64-bit)
- Under "Choose Storage" select the disk you would like to write the OS to
- Select "NEXT" in the bottom right
- Under choose device select Raspberry Pi 5
- Under "Use OS Customisation?" select EDIT SETTINGS and you will be on the GENERAL tab
- Set hostname by checking the box and typing
- Set username and password by checking the box and typing (you will need to remember both of these)
- Set locale settings Example: Timezone: America/New_York and Keyboard layout:us
- Under the SERVICES Tab check enable SSH and leave password authentication selected
- Then in the bottom center select save
- You will be brough back to "Use OS Customisation?" select YES
- Verify correct drive is selected then select YES
STEP 2 Connect via SSH
Find your Pi's IP address:
- Check the bottom left corner of the Pi's boot menu/login screen
- Windows: Use Advanced IP Scanner
- Windows (winget): Install via command line:
winget install Famatech.AdvancedIPScanner
Then open Advanced IP Scanner and click "Scan" to find your Pi.
ssh username@your-pi-ip-address-OR-hostname
ssh [email protected]
Part 2: System Updates
STEP 3 Update System
sudo apt update && sudo apt upgrade -y
Part 3: Install Desktop Environment
STEP 4 Install Ubuntu Cinnamon Desktop
sudo apt install ubuntucinnamon-desktop -y
Download size: ~1GB | Installed size: ~2.2GB
STEP 4 Install Ubuntu Desktop (GNOME)
sudo apt install ubuntu-desktop -y
Download size: ~1.5GB | Installed size: ~3GB
Note: This is the heaviest option but provides the most polished experience.
STEP 4 Install Kubuntu Desktop (KDE Plasma)
sudo apt install kubuntu-desktop -y
Download size: ~1.3GB | Installed size: ~2.7GB
Note: Highly customizable with modern features. Good balance of features and performance.
STEP 4 Install Xubuntu Desktop (Xfce)
sudo apt install xubuntu-desktop -y
Download size: ~800MB | Installed size: ~1.8GB
Note: Lightweight and fast, perfect for media center use. Recommended for 4GB Pi 5.
STEP 4 Install Lubuntu Desktop (LXQt)
sudo apt install lubuntu-desktop -y
Download size: ~700MB | Installed size: ~1.5GB
Note: Extremely lightweight. Best for older Pis or maximum performance.
STEP 4 Install Ubuntu MATE Desktop
sudo apt install ubuntu-mate-desktop -y
Download size: ~900MB | Installed size: ~2GB
Note: Classic desktop experience, lightweight and familiar. Great balance.
STEP 4 Install Ubuntu Budgie Desktop
sudo apt install ubuntu-budgie-desktop -y
Download size: ~1GB | Installed size: ~2.1GB
Note: Modern, clean interface with good performance.
STEP 5 Install Video Drivers
sudo apt install xserver-xorg-video-fbdev xserver-xorg-video-modesetting -y
sudo apt install mesa-utils libgl1-mesa-dri -y
sudo apt install linux-firmware-raspi -y
STEP 6 Configure X Server for Pi 5 GPU
sudo mkdir -p /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/20-modesetting.conf
Paste this configuration: (copy the entire block)
Section "Device"
Identifier "Card1"
Driver "modesetting"
Option "kmsdev" "/dev/dri/card1"
Option "ShadowFB" "false"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card1"
EndSection
Save and exit: Ctrl+X, then Y, then Enter
Part 4: Install Kodi (Optional)
STEP 7 Install Kodi Media Center
If you want to use your Pi as a media center, install Kodi. Otherwise skip this step.
sudo apt install kodi -y
Part 5: Pironman 5 Max Setup (Optional)
STEP 8 Install Pironman Software (Optional)
If you're using a Pironman 5 Max case:
cd ~
git clone -b max https://github.com/sunfounder/pironman5.git --depth 1
cd ~/pironman5
sudo python3 install.py
http://[pi-ip]:34001
STEP 9 Configure CPU Fan (Optional - Pironman Only)
sudo nano /boot/firmware/config.txt
Add these lines at the bottom:
# CPU fan always on at 50%
fan_temp0=0
fan_temp0_speed=50
Save and exit: Ctrl+X, then Y, then Enter
fan_temp0=0 = fan turns on at 0°C (always)fan_temp0_speed=50 = 50% speed (adjust 0-100 as needed)
Part 6: Final Steps
STEP 10 Reboot
sudo reboot
Troubleshooting
sudo systemctl status lightdm
sudo cat /var/log/Xorg.0.log | tail -50
/etc/X11/xorg.conf.d/20-modesetting.conf exists and contains the correct content from Step 6.
ls -la /dev/dri/
You should see:
card0→ V3D (3D only)card1→ GPU with HDMI outputs (what X needs)renderD128→ Render node
sudo systemctl status pironman5.service
sudo systemctl restart pironman5.service
Performance & Usage Tips
- NVMe Boot: Boot from NVMe SSD for much faster performance vs SD card
- RAM Usage: may be able to get away with 2GB for some DEs but 4GB adequate for most desktop enviorments, 8GB+ for multitasking
- Cooling: The Pi 5 series is best accompanied by at least the official active cooler, I will be using the Pironman 5 Max which claims to keep temps under 40°C at full load (it also looks cool)
- Network: Use wired Ethernet for reliability and much larger bandwidth and lower latency
- Auto-login: Setup varies by Desktop Enviorment but usually you can Configure in System Settings auto login
- Kodi Auto-start: Add to Startup Applications if you want Kodi to launch on boot
With 8GB+ RAM, you can add services alongside the desktop:
- Pi-hole: Network-wide ad blocking
- Plex/Jellyfin: Media server though much better fit for a Mini PC than a Pi due to its lack of transcoding ability and more restrictive IO
- Docker: Container platform for self-hosting
- Samba: Network file sharing
Frequently Asked Questions
Can I install Ubuntu Cinnamon directly on Raspberry Pi 5?
No, Ubuntu Cinnamon doesn't have an official Pi image. You must install Ubuntu Server first, then add the Cinnamon desktop packages as shown in this guide.
Can I use this Pi for gaming or RetroPie?
Yes, you can install RetroPie or EmulationStation on top of any Ubuntu desktop. Performance is similar to Raspberry Pi OS.
What if something goes wrong? How do I start over?
Simply reflash your SD card or NVMe with Ubuntu Server and start the guide again. Software changes don't affect hardware - you can reinstall as many times as needed.