Skip to content

About

适用于 Torder RK3566 平板的 Armbian 桌面固件与硬件适配优化。 | Armbian desktop firmware, hardware support and optimizations for the Torder RK3566 tablet.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

简体中文 | English

TorderTable-Armbian

Armbian build for Torder Tablet (RK3566) with desktop and optimizations

Device Info

  • SoC: Rockchip RK3566 (Cortex-A55 quad-core, up to 1.8GHz)
  • GPU: Mali-G52 (Panfrost driver)
  • RAM: 4GB LPDDR4x
  • Display: 800x1280 DSI panel @60Hz
  • Kernel: 6.1.115-vendor-rk35xx
  • OS: Ubuntu Noble 24.04 (Armbian 26.02.0-trunk)
  • DTB: rockchip/rk3566-torder-tablet.dtb

Features

  • Desktop: GNOME on Wayland (full desktop)
  • GPU: Panfrost open-source driver with hardware acceleration
  • Video codec: Rockchip MPP H.264/H.265 hardware encode and decode
  • NPU: RK3566 RKNPU with RKNN Runtime 2.3.2 and model smoke test
  • Browser: Bundled ARM64 Chromium Snap with offline first-boot installation
  • App stores: GNOME Software with Snap support and the Snap Store desktop app
  • Audio: RK817 internal speaker route restored after the desktop audio server starts
  • Performance: CPU/GPU locked at max frequency
  • Display: 60Hz refresh rate (overclocked from 53.39Hz)
  • Optimized: Disabled Tracker, animations, heavy services
  • Wireless: UWE5621DS 2.4/5GHz WiFi, Bluetooth, and WPA2 hotspot support
  • Power key: Lock screen, backlight off, and touch-safe wake

Build

GitHub Actions (Recommended)

  1. Push to this repository
  2. Go to Actions tab
  3. Run "Build Armbian" workflow
  4. Download the artifact when complete

Local Build

# The reference module is built on Ubuntu 22.04 with GCC 11.
sudo apt-get update
sudo apt-get install -y gcc-11 g++-11 gcc-11-aarch64-linux-gnu \
  g++-11-aarch64-linux-gnu binutils-aarch64-linux-gnu cmake ninja-build

# Check out the same Armbian revision as the working reference image
git init build
cd build
git remote add origin https://github.com/armbian/build.git
git fetch --depth=1 origin 676832645ddde2e463b689e55fdd7ac81590f1ff
git checkout --detach FETCH_HEAD

# Copy userpatches and the complete working kernel configuration
cp -r /path/to/TorderTable-Armbian/userpatches/* userpatches/
cp /path/to/TorderTable-Armbian/config-6.1.115-vendor-rk35xx \
  config/kernel/linux-rk35xx-vendor.config

# Build desktop image
./compile.sh BOARD=torder-tablet BRANCH=vendor RELEASE=noble \
  KERNELBRANCH=commit:41da3e69e16b9de57eca897215e8b0adc6efdc8b \
  BUILD_DESKTOP=yes DESKTOP_ENVIRONMENT=gnome \
  DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base KERNEL_CONFIGURE=no \
  PREFER_DOCKER=no

Fixes Applied

1. Filesystem UUID Boot Fix

  • Problem: PARTLABEL discovery can fail in initramfs after first-boot resize
  • Fix: Writes the root filesystem UUID to both armbianEnv.txt and DTB bootargs

2. UWE5621DS WiFi and Bluetooth

  • Problem: Armbian's generated generic UWE5622 branch enabled OTT_UWE and scan random-MAC support. NetworkManager then sent WIFI_CMD_RND_MAC; wlan0 existed, but scans returned no APs and hotspot creation failed.
  • Fix: Replaces unisocwifi with the Rockchip Linux 6.1 UWE5621DS implementation from source commit 4c63dfb. It enables UWE5621_FTR, uses device-tree platform registration, and disables OTT_UWE, random scan MAC, IBSS, NAN, and RTT. The working built-in WCN BSP and Bluetooth paths are left intact.
  • MAC: Generates a stable address from each device before module probing. The driver reads it with bounded parsing and falls back safely without shipping a captured factory MAC.
  • Calibration: Stores the known-good 2-antenna and 3-antenna INI files byte-for-byte with CRLF endings protected by .gitattributes.
  • CI check: Builds on Ubuntu 22.04/GCC 11 and rejects a module with unisoc_wlan_init, random_mac_set, a modular WCN BSP dependency, wrong symbols, firmware hashes, calibration hashes, vermagic, or DTB properties. uwe5621ds-diagnostics.txt is included with every successful image.
  • Files: 0001-uwe5621ds-rockchip-driver.patch, 0002-uwe5621ds-load-device-mac.patch, torder-wifi-mac.service, 90-torder-wifi.conf, and UWE5621DS firmware assets

3. GPU Panfrost Fix

  • Problem: Panfrost GPU page fault causing software rendering fallback
  • Fix: X11 configuration with DRI2, disabled PageFlip
  • Files: /etc/X11/xorg.conf.d/20-panfrost.conf

4. Hardware Video Codec

  • Problem: The kernel contained Rockchip MPP drivers, but every codec and IOMMU node was disabled in the board DTB, so /dev/mpp_service did not exist.
  • Fix: Enables RKVENC, RKVDEC, VDPU, VEPU, JPEG, IEP, and their IOMMUs. CI builds pinned Rockchip MPP userspace libraries and test tools, while udev grants the desktop render group access to MPP, RGA, and DMA heaps.
  • Validation: H.264 and H.265 hardware encode/decode round trips pass as the unprivileged desktop user.

5. RKNPU Acceleration

  • Problem: The RKNPU driver was built into the kernel, but the NPU, NPU bus, and IOMMU were disabled in the board DTB and the RKNN userspace runtime was absent.
  • Fix: Enables the RK3566 RKNPU at its fuse-qualified 900MHz maximum, supplies the NPU and bus from the board's shared regulators, and installs pinned RKNN Runtime 2.3.2 assets from the official airockchip/rknn-toolkit2 repository.
  • Validation: The included rknn-smoke-test runs a real RK3566 MobileNet model as the unprivileged desktop user.

6. Performance Optimization

  • Problem: System laggy with default ondemand governor
  • Fix: CPU locked at1800MHz, GPU at800MHz (performance mode)
  • Files: max-performance.service

7. Display Refresh Rate

  • Problem: Factory timing runs at only 53.39Hz
  • Fix: Pixel clock set from 60MHz to 67.43184MHz (60Hz)
  • Files: Device tree rk3566-torder-tablet.dts

8. GNOME Optimization

  • Problem: GNOME too heavy for RK3566
  • Fix:
    • Disabled Tracker file indexing
    • Disabled animations
    • Disabled CUPS, unattended-upgrades
    • ZRAM swap (1GB LZ4)
  • Files: 99-torder-optimize.sh, zram-swap.service

9. Power Key Lock + Backlight

  • Problem: Power key did not reliably lock/wake the tablet desktop
  • Fix: Installs powerkey-backlight-toggle.service
    • Service reads the RK805 power-key input device without taking exclusive control
    • Service starts with the graphical target, after systemd-logind
    • Power key locks the user session and dims backlight to 0
    • Second press restores the previous brightness

10. Chromium, App Stores And Snap Confinement

  • Problem: Firefox and Chromium failed before startup because the final image lost the file capabilities required by snap-confine; Chromium's Ubuntu package also did not include the Snap payload.
  • Fix: Reapplies and verifies the complete Noble snap-confine capability set after image processing. The image contains pinned ARM64 Chromium 151, Snap Store, and all required base/content snaps, which are installed locally before the first desktop starts. GNOME Software and its Snap plugin are installed as native packages.
  • Validation: CI checks the browser launchers, both app stores, offline Snap payload, installer ordering, and final ext4 capability metadata.

11. RK817 Internal Speaker

  • Problem: The codec was detected and PulseAudio was running, but the generic mixer restore selected Playback Path=HP, leaving the internal speaker silent.
  • Fix: A per-user service runs after the desktop audio server and selects Playback Path=SPK with the speaker output enabled. RK817 DAPM continues to control the low-level amplifier switch between streams.
  • Validation: Playback through the default PulseAudio sink was verified on the device with the ALSA Front_Center.wav sample.
    • Keeps bl_power=0 and avoids synthetic input so the touch controller remains responsive
  • Files: /usr/local/sbin/powerkey-backlight-toggle.py, powerkey-backlight-toggle.service

8. GNOME Night Light

  • Problem: GNOME reported Night Light as active on X11 without changing the panel color
  • Fix: A user service mirrors the GNOME target color temperature to the DSI output through RandR
    • Writes the gamma LUT only when Night Light or its target temperature changes
    • Avoids repeated LUT updates and visible display flicker
  • Files: /usr/local/bin/torder-night-light, torder-night-light.service

Architecture

assets/uwe5621ds/
|-- torder-wifi-mac              # Per-device MAC provisioning
|-- torder-wifi-mac.service      # Runs before module and udev probing
`-- 90-torder-wifi.conf          # UWE5621DS hotspot compatibility
assets/display/
|-- torder-night-light.py        # X11 Night Light RandR fallback
`-- torder-night-light.service   # GNOME user-session service
scripts/
`-- post-build.sh                # Installs and verifies device fixes
userpatches/
|-- config/boards/
|   `-- torder-tablet.csc         # Board config and image packages
|-- customize/images/
|   `-- torder-tablet-gpu-perf-fix.sh
|-- kernel/rk35xx-vendor-6.1/
|   |-- 0001-uwe5621ds-rockchip-driver.patch # Rockchip 6.1 driver branch
|   `-- 0002-uwe5621ds-load-device-mac.patch  # Safe per-device WiFi MAC load
`-- patch/kernel/rk35xx-vendor-6.1/dt/
    `-- rk3566-torder-tablet.dts        # Generic device tree

Extracted Device Files

Reference files from working device:

  • armbian-release - Armbian release info
  • config-6.1.115-vendor-rk35xx - Kernel configuration
  • boot/ - Boot files (armbianEnv.txt, boot.cmd, boot.scr)
  • dtb/rockchip/rk3566-torder-tablet.dtb - Compiled DTB
  • kernel-packages.txt - Kernel packages
  • armbian-packages.txt - Armbian packages
  • installed-packages.txt - Full package list
  • kernel-modules.txt - Kernel modules
  • partition-info.txt - Partition layout

Display Timing

Parameter Value
Resolution 800x1280
Pixel Clock 67.43184 MHz
DSI Bandwidth 405 Mbps/lane
Refresh Rate 60 Hz
DSI Lanes 4

Performance

Component Frequency Governor
CPU (A55 x4) 1800 MHz performance
GPU (Mali-G52) 800 MHz performance

Known Limitations

  • The UWE5621DS firmware does not support WPA3-SAE. WPA3-only access points must enable WPA2/WPA3 transition mode with WPA2-PSK clients permitted.
  • No camera hardware detected
  • The 60Hz panel timing is an overclock over the factory 53.39Hz mode

About

适用于 Torder RK3566 平板的 Armbian 桌面固件与硬件适配优化。 | Armbian desktop firmware, hardware support and optimizations for the Torder RK3566 tablet.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages