InspireFace Runs on Rockchip Devices
Rockchip Device Compatibility Status
InspireFace has been adapted for several mainstream Rockchip devices in the market. The main adaptation content includes RKNPU neural network acceleration inference solution, RGA image acceleration processing, and related code optimizations for compilers.
As of March 21, 2025, we have adapted the device platforms as shown in the following table. Among them, the RK devices that have been compiled, released, and tested include: RV1109/RV1126 series, RV1103/RV1106 series, RK3566/RK3568 series, and RK3588. Although RK continues to introduce various new chip models, some chips are actually compatible at the software level, such as using similar versions of NPU solutions and drivers, the same version of CPU architecture, and identical compilation chain tools, etc. For example, testing has shown that the InspireFace-SDK for the RK356X series and RK3588 is compatible. Therefore, in the future, we will try to minimize SDK coupling for Rockchip device adaptations and use compatible solutions for releases whenever possible.
How to Obtain the SDK
You can download the relevant SDK files from InspireFace’s release page, which are published only after testing.
If you need to modify the source code of InspireFace, you will need to compile the SDK yourself. Taking RK356X and RK3588 devices as examples, you can refer to the build script command/build_cross_rk356x_rk3588_aarch64.sh in the root directory:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
cmake -DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SYSTEM_VERSION=1 \
-DCMAKE_SYSTEM_PROCESSOR=aarch64 \
-DCMAKE_C_COMPILER=$ARM_CROSS_COMPILE_TOOLCHAIN/bin/aarch64-linux-gnu-gcc \
-DCMAKE_CXX_COMPILER=$ARM_CROSS_COMPILE_TOOLCHAIN/bin/aarch64-linux-gnu-g++ \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -flax-vector-conversions" \
-DTARGET_PLATFORM=armlinux \
-DISF_BUILD_LINUX_AARCH64=ON \
-DISF_BUILD_LINUX_ARM7=OFF \
-DMNN_SEP_BUILD=off \
-DISF_ENABLE_RKNN=ON \
-DISF_RK_DEVICE_TYPE=RK356X \
-DISF_RKNPU_MAJOR=rknpu2 \
-DISF_RK_COMPILER_TYPE=aarch64 \
-DISF_ENABLE_RGA=ON \
-DISF_ENABLE_COST_TIME=OFF \
-DISF_BUILD_WITH_SAMPLE=OFF \
-DISF_BUILD_WITH_TEST=OFF \
-DISF_ENABLE_BENCHMARK=OFF \
-DISF_ENABLE_USE_LFW_DATA=OFF \
-DISF_ENABLE_TEST_EVALUATION=OFF \
-DISF_BUILD_SHARED_LIBS=OFF ${SCRIPT_DIR}
make -j4
make install
The toolchain directory variable ARM_CROSS_COMPILE_TOOLCHAIN needs to be specified in advance, for example:
1
export ARM_CROSS_COMPILE_TOOLCHAIN=/host/software/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu
About RGA Adaptation
For Linux systems, we have tested and confirmed that RGA acceleration is available on the following devices:
- RV1103/RV1106
- RK3566/RK3568
- RK3588
For Android systems, we encountered some linking errors during the compilation with RGA adaptation. We are currently looking for more solutions, so for the current version of Android, you need to disable the RGA switch to compile successfully:
1
cmake -DISF_ENABLE_RGA=OFF ..