Arch Linux Installers for the Radxa Boards
Arch Linux ⇄
Mini Arch ⇄
BredOS
Deep Guide for Arch Linux
by @boogiepop
Linux UEFI
1usOS (Maybe) by @kwankiu
EndeavourOS ARM (Maybe) by @Pudge
Manjaro (Maybe) by @Spikerguy
- Flash an microSD with Arch Linux Installer
- Go into the Advance Options -> Select to install it on the EMMC
(This way you avoid having to reflash the board emmc or the sd all the dam time and all you need to do is to put the SD CARD and repeat the process).- For BredOS just flash the image you want its more hassle free.
🔥Alarm Major Problems:▼
Keep in Mind - Arch Linux does not officially support ARM.
Alarm servers are unreliable, forcing you to constantly switch between mirrors.
rate-mirrors arch
#sudo nano /etc/pacman.d/mirrorlist
Installer 1st Reboot - Wifi wont reconnect
The installation starts quickly reboots after that for some reason the wifi usb cant auto-reconnect.
The solution: Hot replug the board - it will auto reconnet and proceed the installation.
🖱️Pacman Help Commands:▼
Check your baseline repos: sudo nano /etc/pacman.conf
sudo pacman-key --init
sudo pacman-key --populate
sudo pacman-key --refresh-keys
sudo pacman -S archlinux-keyring
sudo rm /var/lib/pacman/db.lck
pacman -Q | grep linux-firmware
Set SoC to Performance: acu soc performance
Desktop Environments without Icons fix: sudo pacman -S librsvg
Fix your system completly: sudo pacman -S --overwrite "*" $(pacman -Qqn)
Chromium Browser stuff
sudo nano /etc/chromium.d/default-flags
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --gtk-version=4"
Use Arch Configuraton Utility aka ACU
- ACU is a community-built tool designed for managing configurations and packages on Arch Linux ARM (Aarch64)
Type -'acu'
- acu install app -y # -y will work as expected ex:acu -y install chromium
Tryacu --update=dev
for the dev branch. Tryacu -u
andacu update
for that updated status. - For everyone:
bash <(curl -fsSL https://raw.githubusercontent.com/kwankiu/acu/main/acu) -u
Web Browser 
This guide shows how to install the Chromium browser with or without Rockchip MPP support, including Flatpak alternatives.
Chromium with Rockchip MPP Support
Install the version optimized for Rockchip hardware acceleration :
acu install chromium -y
Arch Linux Official Chromium
Install the latest official Chromium from the Arch Linux repositories:
acu -y install extra/chromium
Chromium via Flatpak (Cross-Distro)
Set up Chromium using Flatpak :
acu install flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak install flathub org.chromium.Chromium -y
sudo flatpak update -y
Flatpak ensures a sandboxed, up-to-date Chromium experience across most Linux distributions.
🪁 Fan options 
Non-GPIO Fan Fix for Arch Linux
Note: The current kernel already includes this fix, but I’m leaving the instructions here for future reference.
Clone and Set Up the Fan Control Script
git clone https://github.com/XZhouQD/Rock5B_Naive_Pwm_Fan
cd Rock5B_Naive_Pwm_Fan/
cp fan_pwm /usr/local/bin/
chmod +x /usr/local/bin/fan_pwm
cp fan_pwm.service /etc/systemd/system/
systemctl daemon-reload
systemctl start fan_pwm
systemctl enable fan_pwm
This will install and enable the custom fan controller.
Manual Fan Management
Prevent the system from automatically controlling the fan:
sudo pacman -S i2c-tools --noconfirm
echo user_space | sudo tee /sys/class/thermal/thermal_zone0/policy
sudo i2cset -y -f 2 0x18 0x8A 0x20
Fan Speed Reference:
0x41
= 50%0x64
= 100%
Wifi and BT Tricks 
Wi-Fi & Bluetooth Setup for Intel AX210 (Firmware Installation Example)
Note: An Ethernet connection is required to install the necessary firmware for AX210 Wi-Fi and Bluetooth functionality.
Wi-Fi Firmware Installation
Download and install the Wi-Fi firmware:
# Download AX210 Wi-Fi firmware
sudo wget -P /lib/firmware https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-ty-a0-gf-a0-59.ucode
# Backup existing PNVM firmware file (if present)
sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.bak
Bluetooth Firmware Installation
Download the Bluetooth firmware files:
# Download Intel Bluetooth firmware files
sudo wget -P /lib/firmware/intel https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-0041-0041.sfi
sudo wget -P /lib/firmware/intel https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-0041-0041.ddc
Bluetooth Module Fix for Intel Wi-Fi/BT
- Open the blacklist configuration file:
sudo nano /etc/modprobe.d/blacklist.conf
- Add the following lines (you can place them at the bottom of the file):
blacklist pgdrv
blacklist btusb
blacklist btrtl
blacklist btbcm
#blacklist btintel
- Save and exit:
- Press
Ctrl + X
, thenY
, and hitEnter
.
Final Bluetooth Setup
Note: Installing
bluez
orbluetooth
is not required on the latest versions of Arch Linux.
# Check Bluetooth service status
systemctl status bluetooth
# Start Bluetooth service
systemctl start bluetooth
Reboot your system to apply all changes.
📢 Audio options 
Bluetooth Audio Setup Tutorial (Optional)
Note: This is generally not required on newer kernels, but can be helpful if you’re experiencing issues with Bluetooth audio.
The following steps offer useful information for troubleshooting or improving Bluetooth audio support.
Install Required Audio Packages
acu install pulseaudio pulseaudio-alsa pavucontrol pulseaudio-bluetooth pulseaudio-equalizer paprefs
Start PulseAudio
pulseaudio --start
Switch from PulseAudio to PipeWire
# Reload user services
systemctl --user daemon-reload
# Disable PulseAudio services
systemctl --user --now disable pulseaudio.service pulseaudio.socket
# Enable PipeWire and PipeWire-Pulse
systemctl --user --now enable pipewire pipewire-pulse
Verify Audio Server
pactl info
Final Step
Reboot your system:
reboot
💽 Flashing Software 
Flashing Images via Rockchip Dev Tools (Windows)
Use the Rockchip Dev Tools ( rkdevtools
) application on Windows to flash firmware images.
Step 1: Image Preparation
Decompress the image files properly:
- Use WinRAR to extract
.img.xz
files. - Do NOT use the built-in Windows “Extract All” option — it may fail or corrupt the image.
Step 2: Image Flashing Settings
In rkdevtools
, set the following options:
-
Tick “Write by Address” .
Step 3: Bootloader File
Use the appropriate Rockchip bootloader SPL file for your device:
-
File Name: rk3588_spl_loader_v1.15.113.bin
-
This applies to RK3588 / RK3588S / RK356x / RK35xx / RK3328 / RK3399 / RK3582 / RK3566 / RK3568 / RK3588S / RK3528 / RK3576 , etc.
Download it from official sources or refer to the Radxa Docs for the latest version and usage guide.
🥛 App Manager Hubs 
App Management on Linux
FlatHub: Access Hundreds of Linux Apps and Games
Set up Flatpak and add the FlatHub repository:
acu -y install flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak update -y
This gives you access to a wide selection of apps and games available on FlatHub.
Bauh: Manage Apps from Multiple Sources
Install Bauh , a graphical package manager that supports Flatpak, AppImage, Snap, AUR, and more:
acu -y install bauh
Bauh provides a unified interface to manage packages from different ecosystems.
🎢 Package Managers Builders ⌨️
🐧 Universal Package Management (UPT)▼
"One command to manage all the packages on all the distributions."
Install Dependencies
sudo pacman -S gcc make rustup
Install UPT
rustup default stable
cargo install upt
Add Cargo to PATH
Edit your bash profile:
nano ~/.bash_profile
Add this line:
export PATH="$PATH:$HOME/.cargo/bin"
Then reboot your system:
sudo reboot
You can now use commands like
sudo upt update
, sudo upt upgrade
, and more.
🥤YaY - Yet another Yogurt:▼
An AUR helper written in Go.
Unlikepacman
, Yay installs packages from both the official repos and the AUR.
Install Yay
sudo pacman -Syu
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay --version
🏝️ Paru – Minimal AUR Helper ▼
A modern, user-friendly AUR helper with low interaction and many features.
Install Paru
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
👊🏼 AGR - Arch Git Repositories:▼
🧠 ARB – Package/Repo Builder by 7Ji:▼
ARB is a package builder - repo builder
Graphics Acceleration / Performance 
Panfrost Graphics Tuning (Wayland) with LiuJianFeng & PPA Fork
This section covers performance tuning for CPU, GPU, NPU, and DDR on systems using Panfrost graphics and Wayland , including the OpenCL runtime ( libmali
).
Manually Set Performance Governors
Edit or manually apply performance settings to optimize system responsiveness:
# Optional: View current DDR governor
sudo nano /sys/class/devfreq/dmc/governor
# Set performance mode for CPU, GPU, DDR, and NPU
echo performance | sudo tee /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
echo performance | sudo tee /sys/class/devfreq/fb000000.gpu/governor
echo performance | sudo tee /sys/class/devfreq/dmc/governor
echo performance | sudo tee /sys/class/devfreq/fdab0000.npu/governor
Apply SoC-Wide Performance Mode
Use the acu
tool to enforce performance mode across the system-on-chip:
acu soc set performance
This ensures all subsystems (CPU, GPU, DDR, NPU) operate under the performance governor.
Android Linux 
Android with Screen Copy (scrcpy) 
Only works with old Panfrost Kernel 5.10
Android Emulator to your ARM system (ReDroid with Scrcpy and Docker):
sudo apt install docker.io scrcpy android-tools-adb -y
sudo docker run -d -p 5555:5555 -v ~/redroid-data:/data --restart unless-stopped --name redroid --privileged cnflysky/redroid-rk3588:13.0.0-latest androidboot.redroid_height=1920 androidboot.redroid_width=1080
adb disconnect localhost:5555 ; adb connect localhost:5555 ; scrcpy -s localhost:5555
Just add this alias in nano .bash_aliases and run it as malior each time:
alias malior="malior-droid stop ; adb disconnect localhost:5555 ; malior-droid start ; adb connect localhost:5555 ; scrcpy -s localhost:5555 ; malior-droid resize 720x1280"
Change it to english this way. Just drag and drop your .apk file into the android window it will auto install it .
🧑🏻🔬 Kernel modules required▼
CONFIG_STAGING=y
CONFIG_ASHMEM=y
CONFIG_ANDROID_BINDER_IPC=y
# CONFIG_ANDROID_BINDERFS is not set
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
CONFIG_ESD_FS=y
Waydroid for Panthor 
acu install waydroid -y
# Waydroid reset to Full Screen
waydroid prop set persist.waydroid.multi_windows false
waydroid prop set persist.waydroid.width ""
waydroid prop set persist.waydroid.height ""
waydroid session stop
# Waydroid set fixed Screen Size
#for example landscape 500x1000
waydroid prop set persist.waydroid.multi_windows false
waydroid prop set persist.waydroid.width 500
waydroid prop set persist.waydroid.height 1000
waydroid session stop
# Waydroid set Seamless Mode
waydroid prop set persist.waydroid.multi_windows true
waydroid prop set persist.waydroid.width ""
waydroid prop set persist.waydroid.height ""
waydroid session stop
Other commands
waydroid app install com.app.apk
waydroid app launch com.app
waydroid app list
🧑🏻🔧 Fix the google play store by doing this:▼
To become certified with access to the play store you have to:
1 - Install a device ID apk to get this Device ID and register it on your google account.
2 - Register it here: https://www.google.com/android/uncertified/
3 - Restart Malior-Droid again and add your google account manually on settings.
4 - Send apkpure the emulator window and start installing apps like a boss !
🎮 Steam 
Steam Setup on BredOS (Multilib Support)
Install Steam and configure it for your specific GPU setup by BredOS using the acu
tool.
Step 1: Add BredOS Multilib Repository
acu rem set BredOS-multilib https://repo.bredos.org/repo/$repo/$arch pacman
acu update
Step 2: Install Steam
acu install BredOS-multilib/steam
Step 3: Library Selection (Choose Based on Your GPU)
During installation, you’ll be prompted to select a Vulkan/Steam runtime library:
-
Option 5:
lib32-vulkan-swrast
(For general compatibility or fallback software rendering) -
Option 1:
steam-libs-any
(Recommended for Panthor users) -
Option 2:
steam-libs-rk3588
(Recommended for Panfork or RK3588 devices)
Step 4: Run Games with Improved Compatibility
In Steam Settings → Game Launch Options , use the following flag to improve compatibility:
-force-opengl
Also make sure you’re running games with the latest non-experimental Proton version.
Desktop Ricing #Unixporn
🛠️ Tweaks and Shell Extensions 🔧
Install GNOME Tweaks and Extension Tools
acu install gnome-tweaks gnome-shell-extensions gnome-browser-connector fakeroot git dpkg --noconfirm
Open GNOME Tweaks
Launch Tweaks , and under the “Titlebar” section:
-
Enable Titlebar Buttons (e.g., minimize/maximize)
(Why is this even disabled by default…)
Install and Manage Extensions
Visit extensions.gnome.org to browse and install GNOME Shell extensions.
You can now install popular extensions like:
-
User Themes – Load custom GTK/Shell themes.
-
Dash to Panel or **Dash to Dock ** – Enhance the GNOME panel/dock experience.
-
Freon or **Vitals ** – Show temperature, CPU/GPU/RAM usage, and more.
-
Compiz-like Wobbly Windows – Add window wobble effects for nostalgia.
-
Burn My Windows – Add animated window closing effects to spice things up.
Rice your Desktop 
Rice Your Desktop – Themes, Icons, and Shell Style
Customize the look and feel of your Linux desktop using themes, icon packs, and wallpapers.
Step 1: Download Customization Files
Save them to your Downloads
directory.
Step 2: Extract Themes and Icons
cd Downloads
# Extract theme
sudo tar -xf Graphite-teal-nord-rimless.tar.xz -C /usr/share/themes
# Extract icon pack
sudo tar -xf Zafiro-Nord-Black.tar.xz -C /usr/share/icons
# Optional: Use another theme
sudo tar -xf Cold-Metal-No-Logo-GTK.tar.xz -C /usr/share/themes
Step 3: Create User Theme & Icon Folders (If Needed)
mkdir -p ~/.themes ~/.icons
You can also change ownership/permissions if needed for easier access:
sudo chown -R $USER:$USER ~/.themes ~/.icons
Step 4: Enable User Themes Extension
Use GNOME Tweaks and GNOME Shell Extensions to enable the User Themes extension.
Step 5: Apply Themes in GNOME Tweaks
- Open the Tweaks application
- Go to the “Appearance” section
- Select your desired:
- Applications theme
- Shell theme
- Icon pack
- Cursor
Your desktop is now riced and stylish!
Your Login Manager
Your Login Manager – SDDM Setup & Theming
Set up and personalize your Linux login experience using SDDM , the Simple Desktop Display Manager.
Install SDDM with Qt6 Features
acu -y install sddm qt6-svg qt6-virtualkeyboard qt6-multimedia-ffmpeg
Enable SDDM and Disable Other Display Managers
Make sure only SDDM is active to ensure proper functionality:
sudo systemctl disable display-manager.service
sudo systemctl enable sddm
Test Your SDDM Themes (Before Applying)
Preview how themes will look with the greeter:
sddm-greeter --test-mode --theme /usr/share/sddm/themes/maya
sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sddm-astronaut-theme
Install the Astronaut Theme by KeyitDev
The Astronaut Theme is one of the best and most polished SDDM themes available.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/keyitdev/sddm-astronaut-theme/master/setup.sh)"
KeyitDev’s work delivers an elegant, modern login experience.
sudo git clone https://github.com/JaKooLit/simple-sddm-2.git /usr/share/sddm/themes/simple-sddm-2
echo "[Theme]
Current=simple-sddm-2" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/simple-sddm-2
sudo git clone https://github.com/RadRussianRus/sddm-slice.git /usr/share/sddm/themes/sddm-slice
echo "[Theme]
Current=sddm-slice" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm-slice
sudo git clone https://github.com/JiayuanWen/sddm-sugar-steamOS.git /usr/share/sddm/themes/sddm-sugar-steamOS
echo "[Theme]
Current=sddm-sugar-steamOS" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm-sugar-steamOS
sudo git clone https://github.com/AlfredoRamos/urbanlifestyle-sddm-theme.git /usr/share/sddm/themes/urbanlifestyle-sddm-theme
echo "[Theme]
Current=urbanlifestyle-sddm-theme" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/urbanlifestyle-sddm-theme
Your Linux Terminal 
Installing Zsh and Oh My Zsh
Install Zsh by writing
acu install zsh nano -y ; chsh -s $(which zsh)
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Type ‘Y’ to set your Oh My Zsh as your default bash. This command always creates a ~/.zshrc file on your home directory, which we’ll alter soon. For now, your terminal should already look like this:
Type Exit
on ‘Oh my zsh’, try using the following command to make it the default:
echo 'exec /usr/bin/zsh' >>~/.bashrc
Install Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
To change zsh themes:
Hit nano ./zshrc
and change the ZSH_THEME line to the following ZSH_THEME="powerlevel10k/powerlevel10k"
. Hit Ctrl + X and ‘Y’ to save and exit.
Press Ctrl + T to open a new terminal window and type zsh
.
In the end, you should end up with something like this
To enter P10K configuration type:
p10k configure
To update P10K type:
git -C ~/powerlevel10k pull
To uninstall the whole thing:
# Remove installations + configurations
sudo rm -f ~/.p10k.zsh
sudo rm -rf -- ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sudo sh ~/.oh-my-zsh/tools/uninstall.sh -y
sudo apt remove zsh -y
sudo apt autoremove -y
sudo rm -Rf ~/.zsh*
Other Desktop Environments for ARM 
Explore alternative desktop environments tailored for ARM devices. For full documentation, visit:
Archcraft ARM Wiki
Archcraft ARM – Minimal & Elegant
acu -y install yay
curl -LO https://github.com/archcraft-os/archcraft-arm/releases/download/1.0/archcraft-arm.tar.gz
tar -xzvf archcraft-arm.tar.gz
cd archcraft-arm
# Optional: customize install script
nano customize.sh
# Default user/pass: archcraft
sudo ./install.sh
Extra Openbox Themes
git clone https://github.com/addy-dclxvi/openbox-theme-collections
sudo cp -r $HOME/openbox-theme-collections/* $HOME/.config/openbox/themes
Fix Polybar Modules in Themes
For example, in the “default” Openbox theme:
- Open the Polybar config file:
nano ~/.config/openbox/themes/default/polybar/config.ini
- Find the line:
modules-right = battery dot ...
- Replace it with:
modules-right = temperature dot volume dot network dot LD sysmenu RD
Pixarch (Experimental)
A still-in-development desktop environment.
May contain bugs – use with caution.
acu -y install yay
git clone https://github.com/heisenburgh/pixarch.git
cd pixarch/installation_scripts
./install.sh
JaKooLit – Arch Hyprland Setup
A Hyprland-based Arch experience with custom styling.
acu -y install yay
git clone --depth=1 https://github.com/JaKooLit/Arch-Hyprland.git ~/Arch-Hyprland
cd ~/Arch-Hyprland
chmod +x install.sh
./install.sh
Keybinding Note:
Hyprland environments often require changing the modifier key:
# Look for:
nano ~/.config/hypr/hyprland.conf
nano ~/.config/hypr/configs/Keybinds.conf
# Change from:
$mainMod = SUPER
# To:
$mainMod = FN+SUPER