Development

Rockchip Linux

Vendor BSP vs mainline kernels, cross-compiling, and what actually works on each SoC.

Rockchip Linux comes in two flavours. The vendor BSP kernel (4.19, 5.10 and 6.1 branches on rockchip-linux/kernel) ships every driver the SoC needs, including NPU, ISP, the MPP video codecs and RGA. Mainline Linux has cleaner code, long-term maintainability and fast-improving support, especially on RK3399, RK3568 and now RK3588. Products usually start on the BSP and track mainline for longevity.

Key points

  • Pick the kernel by feature need: NPU (rknpu), ISP (rkisp) and hardware video (MPP) are best supported on the vendor BSP.
  • Cross-compile with ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- (ARCH=arm for Cortex-A7 parts like RV1106/RK3506).
  • Vendor defconfig: rockchip_linux_defconfig; mainline: defconfig plus board DTB.
  • Keep kernel, DTB and kernel modules in lock-step. A mismatched DTB is the #1 cause of "it booted yesterday".

References

Linux guides

Spotted an error or have something to add? Suggest an improvement.

Building a Rockchip-based product?

From hardware design to Linux, Android and AI integration, get engineering support for your Rockchip project.