A very specific tutorial: Functioning desktop on Armbian RK322x boxes!
Hello to all,
I have a lot of old TV boxes around, most being RK3229/variants that spawn in Japan just like rabbits in a rabbit farm. You can buy them for just around $8 depending on where you live. This is my tutorial on how to get a functioning (decent!) desktop on RK322x boxes by converting them to Armbian.
These boxes operate on 5V/2A peak, though they can comfortably run on the power of a simple iPhone power brick at 5V/1A, you can even strip the cable that comes with it and hook it to a USB port and it will work just fine. With this in mind, they are extremely power efficient, with video output.
First up, you must follow this amazing tutorial provided by jock at https://forum.armbian.com/topic/34923-csc-armbian-for-rk322x-tv-box-boards/ in order to patch your old most-likely-chineseware-infected RK322x box with a nice fresh installation of Armbian!
After following the tutorial, you will be greeted with:
_ _ _ _ _
/_\ _ _ _ __ | |__(_)__ _ _ _ __ ___ _ __ _ __ _ _ _ _ (_) |_ _ _
/ _ \| '_| ' \| '_ \ / _` | ' \ / _/ _ \ ' \| ' \ || | ' \| | _| || |
/_/ \_\_| |_|_|_|_.__/_\__,_|_||_|_\__\___/_|_|_|_|_|_\_,_|_||_|_|\__|\_, |
|___| |__/
v26.8 rolling for rk322x-box running Armbian Linux 6.18.16-current-rockchip
Packages: Debian stable (trixie)
Support: for advanced users (rolling release)
IPv4: (LAN) 10.0.0.141 (WAN) xxx.xxx.xxx.xxx
IPv6: (LAN) 2400:2651:2a21:fc00:: (WAN) 2400:2651:2a21:fc00::
Performance:
Load: 60% Uptime: 2m Local users: 1
Memory usage: 27% of 970M
CPU temp: 67Β°C Usage of /: 39% of 7.0G
Commands:
Configuration: armbian-config
Upgrade : armbian-upgrade
Monitoring : htop
With 1GB of RAM (gladly zswapped by default thanks to the optimized armbian config) and the Mali-400MP2 GPU, full DEs like XFCE or KDE will make this cry and die. To get a somewhat responsive desktop, we need to go far away from simple one-liner DEs and find their lighter relatives instead.
With this in mind, my most optimized shot at this, while keeping usefulness, was a X server with OpenBox, picom (for screen tearing) and tint2:
sudo apt update
sudo apt install xserver-xorg xinit openbox lxterminal picom tint2 -y
After that, we need to make it useful
I initially intended to only use Dillo, but as testing went, it turns out a LOT of websites (including Google) completely killed their non-Javascript browser support, and yeah, you could use DuckDuckGo Lite, but that defeats the practicality of this box on anything else other than web browsing. So, relying on zswap, we'll use Firefox for modern web browsing, Dillo for ultra-lightweight work, and VLC for local media playback. Just for the ones that need it, I have also included LibreOffice, but I am not part of that group:
sudo apt install firefox-esr dillo vlc libreoffice -y
After installing all of these, you must tell your system you're intending to use Openbox, so:
Create or edit your .xinitrc file:
echo "exec openbox-session" > ~/.xinitrc
Next, copy up the Openbox autostart script. This is where we launch our compositor and define how the desktop is meant to be, you can go crazy on this file after the next step:
mkdir -p ~/.config/openbox
cp /etc/xdg/openbox/autostart ~/.config/openbox/
Lastly, but very importantly:
As previously mentioned, this device has an awfully weak Mali-400MP2 GPU, where, depending on the compositor action (such as glx), it will terribly choke and the screen will tear.. For this, and with a lot of testing, xrender offered me the best performance-cost ratio, so for that:
Edit ~/.config/openbox/autostart and add this to the very bottom:
picom --backend xrender &
And then, embrace it:
startx
Enjoy your desk
I can run this comfortably with 2-3 browser tabs on Firefox (or just 1, if you're using an Electron-based horribly optimized website)

Comments
Very cool! Think I've got one or two of those in a drawer. Might have to pull one out.
@yucchun consider buying the 2GB version. Some has 4GB
Man I had a handful of these over the years but none made the move with me. Not sure what I'd do with it these days, but it'd be fun to have a browser on the TV (not including the one on my 2013 Blu-Ray player).
"It's a hard life- to be a stick insect." - Karl Pilkington
Great tutorial. Thanks for sharing!
onidel - π¦πΊπ³π±πΈπ¬π»π³πΊπΈ - High Availability - Hourly Billing - API support - BGP/BYOIP - SEV-SNP