Arch Linux Installers for Khadas Edge 2
EndeavourOS ARM (Maybe) by @Pudge
1usOS (soon) by @kwankiu
Manjaro (soon) by @Spikerguy
Kruescue Arch Linux by Khadas
- Move it to your usb drive plug it into edge 2 boot 8wow via (function key + rest) + function key > Install your file on ‘write to emmc’ inside 8wow.
🖱️Basic terminal troubleshoot:▼
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
Run Arch Configuraton Utility
Type - ‘acu’ - acu install app -y # -y will work as expected.
🎚️Manually install ACU on other Arch 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.
acu -y install extra/chromium # Latest default version. No HW acceleration.
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 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.
🔌Things to consider
Arch Linux doesn’t supports ARM officially.
Sometimes reboot will not work and if in due update it will brick… I suggest that you opt by doing shutdown and then start the system again for safety.
- RK3588 Type C DP requires hot-unplug/hot-plug.
- The system runs better on Wayland.
- Cloud Gaming is amazing on these boards.
- Steam is working on archlinux arm64 thanks to @Rippanda12 for converting lib32 from @ptitseb
- Talented Arch Linux users are keeping the support for Arch:
– Kernel updates / GPU and HW Acceleration / Chromium Browser integrations at bay.
🪁 Fan options
the actual kernel already has this shorted ages ago but I will leave it here for further notice.
Non-GPIO Fan Fix (Archlinux) (Not sure if it works on Khadas).
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
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
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
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)
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:
- Use
rkdevtools
on Windows.
Image Preparation
- Decompress Images: Use WinRAR to decompress
.img.xz
files to.img
, not the Windows ‘Extract All’ option.
- Tick ‘Write by Address’
Rockchip Boot Loader SPL File
- Download and use the rockchip Boot loader spL file for Rockchip RK35/88/82/S2/S: rk3588_spl_loader_v1.15.113.bin.
Follow Khadas Utils
Flash oowow back into the khadas
curl -LO https://dl.khadas.com/products/edge2/firmware/oowow/edge2-oowow-latest-spi.img.gz
gzip -d edge2-oowow-latest-spi.img.gz
sudo dd if=/dev/zero of=/dev/mtdblock0
sudo dd if=edge2-oowow-latest-spi.img of=/dev/mtdblock0
🥛 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
Mali Blob G13P0 - Khadas Ubuntu Fenix Finest - Score 3866
Terrain - 341 & Refract - 583
🚧 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
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
Just enable google registration on microG
Other commands
waydroid app install com.app.apk
waydroid app launch com.app
waydroid app list
🤖 Redroid for Rockchip ARM64
Only works on Panfrost
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 .
🧑🏻🔧 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 !
🧑🏻🔬 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 Ricing #Unixporn
🎛️ Tweaks and Shell Extensions🎚️
Getting the Gnome Shell Extensions
acu install gnome-tweaks gnome-shell-extensions fakeroot git dpkg --noconfirm
git clonehttps://aur.archlinux.org/gnome-browser-connector.git
cd gnome-browser-connector ; makepkg -si ; cd
Open Tweaks and enable the dam Titlebar buttons (Why is this even disabled -.-’ )
You can now install ‘el’ gnome extensions:
- Enable User Themes
- Dash to Panel or Dash to Dock
- Freon or Vitals
- Compiz for an wobble effect.
- Burn my Windows to keep your system lit.
- Screenshot Tool
Rice your Desktop
Themes / Icons - Shell - The Rice
Download these .themes
Download these .icons
Download this Wallpaper
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.
☄️ 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
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
🏝️ Try Other Desktop Environments for ARM 🦅
Wiki page: Archcraft ARM | Archcraft
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
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.
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
Cloud Gaming is Beautiful for this System
Kwankiu / Arch Linux Installer / Rippanda12 / BredOS / 7Ji / Joshuas-Riek / boogiepop