Best Options - For a ‘Khadas’ Rockchip Single-Board Experience
Download Options 
More images to find here at the Khadas 8WoW - .images
Notes:
-
if downloading with wget use condition –no-check-certificate to avoid the download to fail or use an app like jdownloader or motrix.
-
After starting the system you most likely have to open your disk storage and perform a disk resize
-
Some systems start in x11 so you will notice that the system fails to deliver its brilliant performance at launch make sure you switch to wayland.
-
Very important grab a proper type C charger/cable for your device!
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 :
sudo add-apt-repository ppa:liujianfeng1994/rockchip-multimedia
sudo apt update
sudo apt-get -t "ppa:liujianfeng1994/rockchip-multimedia" install chromium-browser -y
Official Chromium
Install the latest official Chromium from the repositories:
sudo apt -y install chromium-browser
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 
Manual Fan Control on Rockchip (Armbian)
These instructions help you manually control the fan on a Rockchip board running Armbian .
Prevent System from Overriding Fan Control (Automatic Mode)
To stop the system from interfering with manual fan control:
sudo apt install i2c-tools -y
echo step_wise | sudo tee /sys/class/thermal/thermal_zone0/policy
echo user_space | sudo tee /sys/class/thermal/thermal_zone0/policy
sudo i2cset -y -f 2 0x18 0x8A 0x2
Fan Speed Hex Values
Hex Value | Fan Speed |
---|---|
0x41 |
50% |
0x64 |
100% |
Wifi and BT Tricks 
AX210 WiFi & Bluetooth Firmware Setup (Armbian)
To get AX210 WiFi and Bluetooth working on your rockchip board, follow these steps.
Ethernet connection is required during setup.
Install WiFi Firmware
# Download AX210 WiFi 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 file (if present)
sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.bak
Install Bluetooth Firmware
# 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 Fix for Intel WiFi/BT Modules
- Edit the module blacklist file:
sudo nano /etc/modprobe.d/blacklist.conf
- Add the following lines at the bottom of the file:
blacklist pgdrv
blacklist btusb
blacklist btrtl
blacklist btbcm
#blacklist btintel
- Press
Ctrl+X
, thenY
to save and exit.
Final Steps
# Optional: Install Bluetooth stack (may already be included in latest Armbian)
sudo apt install bluez # or: sudo apt install bluetooth
# Check Bluetooth service status
systemctl status bluetooth # Press Ctrl+C to exit
# Start Bluetooth service
sudo systemctl start bluetooth
Finally, reboot your device to apply changes:
sudo reboot
📢 Audio options 
Audio Tutorial for Bluetooth Devices
Note: This tutorial is not required for the latest Armbian versions, as audio support is built-in. However, if you’re facing issues with Bluetooth audio, feel free to explore the following steps.
Fix Audio Issues with PipeWire
1. Add PipeWire Repository
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
2. Install PipeWire and Audio Dependencies
sudo apt install pipewire pipewire-audio-client-libraries gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,media-session,bin,locales,tests}} -y
3. Disable PulseAudio and Enable PipeWire
# Reload systemd user daemon
systemctl --user daemon-reload
# Disable PulseAudio services
systemctl --user --now disable pulseaudio.service pulseaudio.socket
# Enable PipeWire services
systemctl --user --now enable pipewire pipewire-pulse
4. Check PipeWire Status
pactl info
5. Reboot to Apply Changes
sudo reboot
💽 Flashing Software 
Flashing Images via Rockchip Dev Tools App
This guide explains how to flash images using rkdevtools on Windows , and also includes a short terminal-based guide for flashing via SPI .
Image Preparation
- Decompress Images
Use WinRAR to decompress.img.xz
files to.img
. Do not use the Windows “Extract All” option.
Flashing via Rockchip Dev Tools
- Tick ‘Write by Address’
- Select the Rockchip Boot Loader SPL file:
rk3588_spl_loader_v1.15.113.bin .
- For SPI
- Select SPINOR and use the Loader Image for flashing.
Follow Khadas Utils
Flash OOWOW Back to Khadas Edge2
OOWOW is Khadas’ embedded service for system installation and maintenance. Here’s how to reflash it to SPI:
Reflash Instructions
- Download the OOWOW Image
curl -LO https://dl.khadas.com/products/edge2/firmware/oowow/edge2-oowow-latest-spi.img.gz
- Decompress the Image
gzip -d edge2-oowow-latest-spi.img.gz
- Flash to SPI
Warning: This will overwrite your SPI flash. Make sure you want to reset OOWOW.
sudo dd if=/dev/zero of=/dev/mtdblock0
sudo dd if=edge2-oowow-latest-spi.img of=/dev/mtdblock0
More Resources
- Boot from SD to NVMe
Learn how to boot the system using SPI→SD→NVMe boot chain for advanced setups. - Android Build for Khadas
Explore custom Android ROM building tailored for the Edge2 platform.
🥛App Manager Hubs 
Raspberry Pi App Store for Open Source Projects
- Install Raspberry Pi App Store :
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
FlatHub - Hundreds of Apps and Games for Linux
- Install Flatpak and Add FlatHub Repository :
sudo apt install flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak update -y
Bauh – A Manager for Your Multi-Package Needs
- Install Dependencies :
sudo apt install git python3 python3-full pipx python3-pyqt5 python3-pyqt5.qtsvg python3-setuptools qtbase5-dev qtchooser qt5-qmake qttools5-dev-tools
- Set Up Virtual Environment and Install PyQt5 :
source venv/bin/activate
pip install pyqt5 --config-settings --confirm-license= --verbose
- Install Bauh Using Pipx :
pipx install bauh
Graphics Acceleration / Performance 
This guide helps you set up Graphics Acceleration on your system, using Panfork on Wayland and OpenCL runtime with libmali.
Install Graphics and OpenCL Dependencies
- Add Required PPAs :
sudo add-apt-repository ppa:rockchip-linux/ppa
sudo add-apt-repository ppa:liujianfeng1994/rockchip-multimedia
- Update and Install Required Packages :
sudo apt update
sudo apt install mali-g610-firmware rockchip-multimedia-config glmark2 glmark2-es2 glmark2-es2-wayland mesa-utils malirun -y
sudo apt upgrade -y
- Remove Unneeded PPAs :
sudo add-apt-repository --remove ppa:liujianfeng1994/panfork-mesa
sudo add-apt-repository --remove ppa:liujianfeng1994/rockchip-multimedia
- Check OpenGL Status :
glxinfo | grep OpenGL
Install libmali for OpenCL
- Create a Directory for libmali :
mkdir -p ~/tmp/libmali && cd ~/tmp/libmali
- Download and Install libmali :
wget 'https://github.com/tsukumijima/libmali-rockchip/releases/download/v1.9-1-55611b0/libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb'
sudo dpkg -i ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb
Max Out the SoC Performance (Optional)
Warning: This will provide maximum performance at the cost of higher temperature and power consumption.
- Set Performance Mode for CPU, GPU, and NPU :
sudo echo performance | sudo tee /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
sudo echo performance | sudo tee /sys/class/devfreq/fb000000.gpu/governor
sudo echo performance | sudo tee /sys/class/devfreq/dmc/governor
sudo echo performance | sudo tee /sys/class/devfreq/fdab0000.npu/governor
- (Optional) Add to Startup Script (
/etc/rc.local
) for automatic performance on boot.
Create Aliases for Performance Modes
To easily switch between performance, ondemand, and powersave modes, add these aliases to your .bash_aliases
file:
- Edit
.bash_aliases
:
nano .bash_aliases
- Add the following aliases :
alias performance="echo performance | sudo tee /sys/bus/cpu/devices/cpu[046]/cpufreq/scaling_governor /sys/class/devfreq/dmc/governor /sys/class/devfreq/fb000000.gpu/governor"
alias ondemand="echo ondemand | sudo tee /sys/bus/cpu/devices/cpu[046]/cpufreq/scaling_governor && echo dmc_ondemand | sudo tee /sys/class/devfreq/dmc/governor && echo simple_ondemand | sudo tee /sys/class/devfreq/fb000000.gpu/governor"
alias powersave="echo powersave | sudo tee /sys/bus/cpu/devices/cpu[046]/cpufreq/scaling_governor /sys/class/devfreq/dmc/governor /sys/class/devfreq/fb000000.gpu/governor"
- Save and Restart :
PressCtrl + X
, thenY
, and restart your terminal.
Now, you can easily switch between the modes by typing performance
, ondemand
, or powersave
in the terminal.
Mali Blobs Vulkan WSI Layer
- Start with Noble / GNOME / Vendor
Make sure the gpu-panthor overlay is disabled and that you don’t have Mesa installed (especiallymesa-vulkan-drivers
). - Install libmali and WSI :
Then, simply install libmali and WSI , and reboot. - Check Vulkan Support :
After rebooting, you should be able to run vkcube-wayland and other Vulkan-based emulators.
Android Linux

🎮 Steam 
Steam Installation Tutorial
Easier method: Just install steam via Pi-Apps
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash ; pi-apps
Desktop Ricing #Unixporn
🎛️ Tweaks and Shell Extensions🎚️
Install GNOME Tweaks and Extension Tools
sudo apt install gnome-tweaks gnome-shell-extension-manager chrome-gnome-shell -y
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
Install Requirements for Different Distros
sddm qt6-svg qt6-virtualkeyboard qt6-multimedia-ffmpeg # Arch
sddm qt6-svg qt6-virtualkeyboard qt6-multimedia # Void
sddm qt6-qtsvg qt6-qtvirtualkeyboard qt6-qtmultimedia # Fedora
sddm-qt6 libQt6Svg6 qt6-virtualkeyboard qt6-virtualkeyboard-imports qt6-multimedia qt6-multimedia-imports # OpenSUSE
Install Requirements for Debian/Ubuntu
(Note: This may not work for all systems, but give it a try!)
sudo apt install -y sddm qtdeclarative5-dev qml-module-qtgraphicaleffects qml-module-qtquick-controls qml-module-qtquick-controls2 libqt5svg5 qt6-wayland qt6-5compat-dev qtcreator ; QT_QPA_PLATFORM=xcb
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
Recommended Theme: SDDM Astronaut Theme by KeyitDev
KeyitDev’s Astronaut theme is highly recommended for a stunning login screen!
sudo git clone https://github.com/Keyitdev/sddm-astronaut-theme.git /usr/share/sddm/themes/sddm-astronaut-theme
sudo cp /usr/share/sddm/themes/sddm-astronaut-theme/Fonts/* /usr/share/fonts/
echo "[Theme]
Current=sddm-astronaut-theme" | sudo tee /etc/sddm.conf
sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sddm-astronaut-theme
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/Match-Yang/sddm-deepin.git
cd sddm-deepin
bash ./install.sh
sddm-greeter --test-mode --theme /usr/share/sddm/themes/deepin
sudo git clone https://github.com/m-wynn/sddm_wynn-theme.git /usr/share/sddm/themes/sddm_wynn-theme
echo "[Theme]
Current=sddm_wynn-theme" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm_wynn-theme
sudo git clone https://github.com/3ximus/abstractdark-sddm-theme.git /usr/share/sddm/themes/abstractdark-sddm-theme
echo "[Theme]
Current=abstractdark-sddm-theme" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/abstractdark-sddm-theme
sudo git clone https://github.com/AlfredoRamos/urbanlifestyle-sddm-theme.git /usr/share/sddm/themes/urbanlifestyle
echo "[Theme]
Current=urbanlifestyle" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/urbanlifestyle
Your Linux Terminal 
Installing Zsh and Oh My Zsh
1. Install Zsh and set it as the default shell:
sudo apt install zsh nano -y
chsh -s $(which zsh)
2. Install Oh My Zsh :
Run the following command to install Oh My Zsh :
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
When prompted, type Y
to set Oh My Zsh as your default shell. This will also create a ~/.zshrc
file in your home directory. You can edit this file later.
Make Zsh the Default Shell for Bash
If you’re still using Bash, you can set Zsh as the default by running:
echo 'exec /usr/bin/zsh' >>~/.bashrc
Install Powerlevel10k Theme
- Clone the Powerlevel10k repository :
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
- Add the Powerlevel10k theme to your
~/.zshrc
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
- Change Zsh theme :Open your
~/.zshrc
file:
nano ~/.zshrc
Change the ZSH_THEME
line to:
ZSH_THEME="powerlevel10k/powerlevel10k"
Save and exit by pressing Ctrl + X , then Y .
Final Steps
- Open a new terminal window with Ctrl + T and type
zsh
.Your terminal should now look something like this:
Configure Powerlevel10k
To enter the Powerlevel10k configuration wizard, run:
p10k configure
Update Powerlevel10k
To update Powerlevel10k , run:
git -C ~/powerlevel10k pull
Uninstalling Zsh and Oh My Zsh
If you want to remove Zsh , Oh My Zsh , and Powerlevel10k :
- 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
- Remove Zsh and related packages :
sudo apt remove zsh -y
sudo apt autoremove -y
- Delete Zsh Configuration Files :
sudo rm -Rf ~/.zsh*
With this setup, your terminal should now look sleek and modern with the Powerlevel10k theme. Enjoy!
Desktop Environments 
Installing UbuntuCraft (Unofficial) on ARM
Note:
ubuntucraft
for ARM isn’t officially released yet. Use with caution.
Step-by-Step Installation
- Extract the archive:
tar -xzvf ubuntucraft.tar.gz
cd ubuntucraft
- (Optional) Edit the customization script:
nano customize.sh
- Run the installer (default username/password is
archcraft
):
sudo bash ./install.sh
Choose
sddm
when prompted — notgdm3
.
Fix Polybar Top Bar Modules
To customize the top bar modules for your Openbox theme (e.g., default
), follow these steps:
- Open the Polybar config file:
nano ~/.config/openbox/themes/default/polybar/config.ini
- Find the line that begins with:
modules-right =
This is typically line 147.
- Replace the
battery
module withtemperature
.
Example Updated Line:
modules-right = temperature dot volume dot network dot LD sysmenu RD
JaKooLit - Ubuntu Hyprland Setup
Installation Steps
Clone the repository and run the installer:
git clone -b 24.04 --depth=1 https://github.com/JaKooLit/Ubuntu-Hyprland.git ~/Ubuntu-Hyprland-24.04
cd ~/Ubuntu-Hyprland-24.04
chmod +x install.sh
./install.sh
Adjusting SUPER Key for Compatibility
Some environments may require using FN+SUPER
instead of just SUPER
.
Edit Hyprland Config Files
Open these two config files:
nano ~/.config/hypr/hyprland.conf
nano ~/.config/hypr/configs/Keybinds.conf
Find and Replace
Locate the following line:
$mainMod = SUPER
Replace it with:
$mainMod = FN+SUPER
Cloud Gaming is perfect for SBC’s:
⇄
⇄
⇄
⇄ 
Khadas Discord