[Guide] 🖥️ Arch Linux Installers for Radxa


image Arch Linux Installers for the Radxa Boards - This is all still an work in progress - Feel free to test and criticise Kwankius Hard Work :smile:

image Arch Linux Installer by @kwankiu
image BredOS by @Rippanda12
image Guidance for Hardcore users by @boogiepop


1us 1usOS (Maybe) by @kwankiu
d7og0t1swue81 EndeavourOS ARM (Maybe) by @Pudge
image 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:▼

:electric_plug: Things to Keep in Mind

1 - The Dam Mirrors - ALARM

Arch Linux ALARM servers are unreliable, forcing you to constantly switch between mirrors. THIS SUCKS it can break your installation multiple times before you find a working server. Worse still, a mirror that works today might stop working tomorrow.

I want to be very clear about this: Samuel is doing a fantastic job compiling everything to run as smoothly as possible, but behind the scenes, ALARM isn’t doing much to help.


2 - WiFi Connection Issues in Part 2

Not only do the mirrors often break or fetch updates too slowly, but package downloads frequently fail. On top of that, if you’re using a WiFi & Bluetooth USB dongle, you may run into issues on PART 2 of the installation (after the first reboot).

Often, the dongle stops working and can’t reconnect to WiFi.

Solution:
Unplug and replug the board—it fixes the reconnect and allow the installation to continue.


  • Arch Linux does not officially support ARM.

🖱️Pacman Help Commands:▼

Check your baseline repos: sudo nano /etc/pacman.conf

sudo pacman-key --refresh-keys
sudo pacman -S archlinux-keyring
sudo rm /var/lib/pacman/db.lck

pacman -Q | grep linux-firmware


:point_right:t3: Run Arch Configuraton Utility

Type - ‘acu’ - acu install app -y # -y will work as expected.


🎚️Manually install ACU on other Linux Distros▼

Install it: bash <(curl -fsSL https://raw.githubusercontent.com/kwankiu/acu/main/acu) -u
Update It: acu update
Install Chromium from acu apps: acu -y install chromium


🌐 Browser Shenenigans▼

acu install chromium -y # Latest stable version with HW acceleration this is the @amazinfate version.

acu -y install extra/chromium # Latest default version. No HW acceleration.

acu install flatpak gnome-software -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 version of Chromium which comes with no HW acceleration works well for cloud gaming and can coexist with other Chromium browsers you have previously installed.


🪁 Fan options

:point_right: the actual kernel already has this shorted ages ago but I will leave it here for further notice.

Non-GPIO Fan Fix (Archlinux).

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

Manage the fan manually :wind_face:

Prevent the system to take over fan control - Automatically.

acu install i2c-tools -y
echo user_space | sudo tee /sys/class/thermal/thermal_zone0/policy
sudo i2cset -y -f 2 0x18 0x8A 0x20

(Fan speed 0x41 = 50%, 0x64 = 100%)


📱Bluetooth options

:point_right:t3: Some Wifi BT modules require an blacklist in order to work so here is the basics.

A8 Module Bluetooth:
sudo nano /etc/modprobe.d/blacklist.conf
then add these lines somewhere (at the bottom of the file is fine):

blacklist pgdrv
blacklist btusb
blacklist btrtl
blacklist btbcm
#blacklist btintel

Then press Ctrl+X, then Y.
acu install bluez -y or bluetooth – not needed to install since latest armbian version
systemctl status bluetooth CTRL+ C
systemctl start bluetooth
Then reboot .


🌐 Wifi options

:point_right: this is an example on how to install wifi bt modules firmware.

For AX210 Wifi and BT to Work - Not sure if we can activate this without internet at all.

#wifi
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
sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.bak

#bt
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

📢 Audio options

Audio Tutorial for Bluetooth devices: – (not required since armbian latest versions)

:point_right: Some valid information on how to fix issues with audio be free to explore.

acu install pulseaudio pulseaudio-alsa  pavucontrol pulseaudio-bluetooth pulseaudio-equalizer paprefs

pulseaudio --start

systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user --now enable pipewire pipewire-pulse
pactl info
reboot

💽 Flashing Software

Flashing Images via Rockchip Dev Tools App:

Image Preparation

  • :point_right: Decompress Images: Use WinRAR to decompress .img.xz files to .img, not the Windows ‘Extract All’ option.

image

  • Tick ‘Write by Address

Rockchip Boot Loader SPL File

:point_right:t3: Follow Radxa Docs


More info (Spi to NVME boot from SD Card)


🥛 App Manager Hubs 🧩

FlatHub - Hundreds of apps and games for Linux.

acu -y install flatpak ; sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo ; sudo flatpak update -y
More flathub apps

Chromium Browser & Extension Manager
sudo flatpak install flathub org.chromium.Chromium -y
sudo flatpak install flathub com.mattjakeman.ExtensionManager -y

Some random apps
sudo flatpak install flathub org.gnome.Boxes -y
acu -y install libvirt
sudo flatpak install flathub io.github.ungoogled_software.ungoogled_chromium -y
sudo flatpak install flathub io.github.realmazharhussain.GdmSettings -y
sudo flatpak install flathub tv.kodi.Kodi -y
sudo flatpak install flathub io.github.dosbox-staging -y
sudo flatpak install flathub com.dosbox_x.DOSBox-X -y

Emulation stuff for old school games
sudo flatpak install flathub org.ryujinx.Ryujinx -y
sudo flatpak install flathub org.libretro.RetroArch -y
sudo flatpak install flathub net.kuribo64.melonDS -y
sudo flatpak install flathub org.ppsspp.PPSSPP -y
sudo flatpak install flathub org.duckstation.DuckStation -y
sudo flatpak install flathub org.DolphinEmu.dolphin-emu -y
sudo flatpak install flathub com.github.Rosalie241.RMG -y
sudo flatpak install flathub io.mgba.mGBA -y
sudo flatpak install flathub io.github.simple64.simple64 -y
sudo flatpak install flathub com.vba_m.visualboyadvance-m -y

Bauh – a Manager for Your Multi-Package Needs

acu -y install bauh


🎢 Package Managers Builders ⌨️
🏔️ Arch Configuration Utility by @Kwankiu:▼

Arch (ARM) Configuration Utility - (ACU Still in development)

ACU is not just a basic configuration tool app it also manages packages and allow the user to have a much more easier approach to linux commands.
One big feature is the typing for ‘acu -y install package’ where -y works just like as in any debian distribution on arch making installations more straight foward and easy for non arch users.

Arch Configuration Utility by @Kwankiu

bash <(curl -fsSL https://raw.githubusercontent.com/kwankiu/acu/dev/acu) --update=dev

acu --update=dev ; acu -u


🐧 Universal Package Management:▼

Try Universal Package Management Tool - UPT

“One command to manage all the packages on all the distributions.”

sudo pacman -S gcc make rustup
#-- Install UPT
rustup default stable
cargo install upt
nano ~/.bash_profile #add:
export PATH="$PATH:$HOME/.cargo/bin"
sudo reboot
#It can also do sudo upt update / sudo upt upgrade etc etc etc

🥤YaY - Yet another Yogurt:▼

Yet another Yogurt - An AUR Helper written in Go
Pacman installs packages from only the repos. Yay installs packages from both the repos and the AUR

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:▼

Paru is your standard pacman wrapping AUR helper with lots of features and minimal interaction.

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

👊🏼 AGR - boogie & hbiyik:▼

🧠 ARB - Package/Repo Builder - 7Ji:▼

ARB is a package builder - repo builder


🧙🏼‍♂️ Mesa / Panthor Desired Performance 🏄🏼‍♂️

BredOS - How to setup Panthor on Mali GPUs with RK3588


sudo nano /sys/class/devfreq/dmc/governor
#CPU/GPU/NPU/DDR - Manually
echo performance > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
echo performance > /sys/class/devfreq/fb000000.gpu/governor
echo performance > /sys/class/devfreq/dmc/governor
echo performance > /sys/class/devfreq/fdab0000.npu/governor

acu soc set performance


Panthor 6.1-rkr3 (Mesa 24.1.4) - Score beats 3000 - Panthor is now faster than Panfork.


Terrain - 110 & Refract - 273


Panfork on 6.1-rkr3 - Scored 2274


Terrain - 104 & Refract - 231


Panfork with gofaster on 6.1-rkr3 - Score 4324


Terrain - 157 & Refract - 329



🚧 OpenCL libmali 'Hack'

OpenCL runtime (libmali) For Mali to Work on Arch Linux Panfrost
Do a performance boost on apps with libmali as trigger !

libmali chromium

sudo nano /usr/bin/libmali 
#replace x11-gbm with x11-wayland-gbm on every appearance of that file

🤾🏽‍♂️ Tips and Tricks▼

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"


🕹️ Install Waydroid

You will need BredOS repo if you haven’t added it already:

acu rem set BredOS https://repo.bredos.org/repo/\$repo/\$arch pacman
acu update
acu install waydroid waydroid-image-panthor -y
sudo waydroid init -f -i /usr/share/waydroid-extra/images
sudo systemctl enable --now waydroid-container

Apps will be re-sizable but never the show-full-gui

sudo waydroid container stop ; waydroid session stop ; sudo waydroid prop set persist.waydroid.multi_windows true ; sudo waydroid session start ; waydroid show-full-ui

Supposedly resizes the full-gui

sudo waydroid container stop ; waydroid session stop ; sudo waydroid prop set persist.waydroid.multi_windows true ; sudo waydroid prop set persist.waydroid.width 720 ; sudo waydroid prop set persist.waydroid.height 1280 ; systemctl restart waydroid-container ;  waydroid session start

Install Google Store

image

Select gapps and microG from Android 13 off the Script - For your Waydroid Android 11

acu install lzip -y
git clone https://github.com/casualsnek/waydroid_script
cd waydroid_script
python3 -m venv venv
venv/bin/pip install -r requirements.txt
sudo venv/bin/python3 main.py

image

Just enable google registration on microG

image

Other commands

waydroid app install com.app.apk
waydroid app launch com.app
waydroid app list

🤖 Redroid for Rockchip ARM64

Only works on Panfrost

image

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"

image

Change it to english this way. Just drag and drop your .apk file into the android window it will auto install it .

🧑🏻‍🔧 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 !

image


🧑🏻‍🔬 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

🎮 Steam Installation Tutorial

Steam Installation Tutorial

For updated segment follow BredOS wiki. You will need BredOS-multilib repo if you haven’t added it already:

acu rem set BredOS-multilib https://repo.bredos.org/repo/\$repo/\$arch pacman
acu update
acu install wine BredOS-multilib/steam
# Select lib32-vulkan-swrast 
# If on Panthor > select steam-libs-any.
# If on Panfork > select steam-libs-rk3588.

Run games with the latest non experimental proton available and -force-opengl on startup command steam settings.


:desktop_computer: Desktop Ricing #Unixporn


🎛️ Tweaks and Shell Extensions🎚️

Getting the Gnome Shell Extensions

acu install gnome-tweaks gnome-shell-extensions gnome-browser-connector fakeroot git dpkg --noconfirm

Open Tweaks and enable the dam Titlebar buttons (Why is this even disabled -.-’ )
image


You can now install ‘el’ gnome extensions:
image
image

  1. Enable User Themes
  2. Dash to Panel or Dash to Dock
  3. Freon or Vitals
  4. Compiz for an wobble effect.
  5. Burn my Windows to keep your system lit. :fire:
  6. Screenshot Tool

Rice your Desktop

Themes / Icons - Shell - The Rice

Download these .themes
Download these .icons
Download this Wallpaper

cd Downloads
sudo tar -xf Graphite-teal-nord-rimless.tar.xz -C /usr/share/themes
sudo tar -xf Zafiro-Nord-Black.tar.xz -C /usr/share/icons

/home/$USER/.themes & /home/$USER/.icons (if they dont exist just mkdir them).
Giving /home/.themes & .icons writting permissions can work.

You can also use /usr/share/themes by sudo tar -xf Cold-Metal-No-Logo-GTK.tar.xz -C /usr/share/themes

Then user themes extension from gnome shell extensions has to be enabled then we can then apply shell themes on Tweaks.

Open Tweaks application and select these themes.

image
image


☄️ Rice your Login Manger 🌍

For SDDM Stuff

acu -y install sddm qt6-5compat qt6-declarative qt6-svg
systemctl disable gdm
systemctl disable lightdm
systemctl enable sddm

For theme setting:

sudo nano /etc/sddm.conf.d/theme.conf.user
or
sudo nano /etc/sddm.conf

Theme folders for installing and ls:

cd /usr/share/sddm/themes/

Test your themes before applying:

sddm-greeter --test-mode --theme /usr/share/sddm/themes/maya
sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sddm-astronaut-theme

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

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

SteamOS Theme

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/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/Michal-Szczepaniak/sddm-theme-amadeus.git /usr/share/sddm/themes/sddm-theme-amadeus
echo "[Theme]
Current=sddm-theme-amadeus" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm-theme-amadeus

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-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

Source KDE themes
Source KDE themes
Github for SDDM themes


🏝️ Try Other Desktop Environments for ARM 🦅

Wiki page: https://wiki.archcraft.io/docs/arm/archcraft-arm/

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
# nano customize.sh
# 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 the top bar modules for each theme being on this example the “default” one:

1 - nano ~/.config/openbox/themes/default/polybar/config.ini
2 - Find the line modules-right =. This should be line 147.
3 - Remove the “battery” module, replacing it with “temperature”

Paste this instead:
modules-right = temperature dot volume dot network dot LD sysmenu RD


Other Desktop Environments

Pixarch

acu -y install yay
git clone https://github.com/heisenburgh/pixarch.git
cd pixarch/installation_scripts
./install.sh
# Still in development and contains bugs. Run at your own risk.

JaKooLit - Arch-Hyprland

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

SUPER Environments often needs changed from SUPER to FN+SUPER

# Look for $mainMod = SUPER
nano ~/.config/hypr/hyprland.conf
nano ~/.config/hypr/configs/Keybinds.conf
# Change it to $mainMod = FN+SUPER


:video_game: Cloud Gaming is Beautiful for this System :computer_mouse:


Kwankiu / Arch Linux Installer / Rippanda12 / BredOS / 7Ji / Joshuas-Riek / boogiepop


1 Like