pantherx2 armbian librga-rockchip librga.so 编译安装方法
pantherx2 armbian librga-rockchip librga.so 编译安装方法
librga
RGA (Raster Graphic Acceleration Unit)是一个独立的2D硬件加速器,可用于加速点/线绘制,执行图像缩放、旋转、bitBlt、alpha混合等常见的2D图形操作。本仓库代码实现了RGA用户空间驱动,并提供了一系列2D图形操作API。
版本说明
RGA API 版本: 1.10.3
适用芯片平台
Rockchip RK3066 | RK3188 | RK2926 | RK2928 | RK3026 | RK3028 | RK3128 | Sofia3gr | RK3288 | RK3288w | RK3190 | RK1108 | RK3368 | RK3326 | RK3228 | RK3228H | RK3326 | RK1808 | RV1126 | RV1109 | RK3399 | RK3399pro | RK3566 | RK3568 | RK3588 | RK3326S | RV1106 | RV1103 | RK3528 | RK3562 | RK3576 | RK3506 | RV1103B
克隆下载源码
源码地址:https://github.com/tsukumijima/librga-rockchip
cd ~
git clone https://github.com/tsukumijima/librga-rockchip.git
cd librga-rockchip
nano toolchains/toolchain_linux.cmake
修改toolchain_linux.cmake如下
#SET(TOOLCHAIN_HOME "/home/yqw/workspace/linux/common/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu")
#SET(TOOLCHAIN_NAME "aarch64-rockchip1031-linux-gnu")SET(TOOLCHAIN_HOME "/usr")
SET(TOOLCHAIN_NAME "aarch64-linux-gnu")# this is required
#SET(CMAKE_SYSTEM_NAME Linux)# specify the cross compiler
SET(CMAKE_C_COMPILER ${TOOLCHAIN_HOME}/bin/${TOOLCHAIN_NAME}-gcc)
SET(CMAKE_CXX_COMPILER ${TOOLCHAIN_HOME}/bin/${TOOLCHAIN_NAME}-g++)# where is the target environment
SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_HOME})# search for programs in the build host directories (not necessary)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
- 说明:这一步是修改交叉编译工具的主目录和文件名,可以用find / -name gnu-gcc 查找到。
生成make文件
$ chmod +x ./cmake-linux.sh
$ ./cmake-linux.sh
生成编译目录build/build_linux,进入该目录编译
cd build/build_linux
make -j4
make install
[ 66%] Built target rga-object
[ 70%] Built target rga-static
[ 75%] Built target rga
[ 87%] Built target utils_obj
[100%] Built target rgaImDemo
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/lib/librga.so
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_version.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_type.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_buffer.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_common.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_single.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_task.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_mpi.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d_expand.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/rga.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/RgaUtils.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/im2d.hpp
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/drmrga.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/RgaApi.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/RockchipRga.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/RgaSingleton.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/RgaMutex.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/include/GrallocOps.h
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/lib/librga.a
-- Up-to-date: /root/librga-rockchip/build/build_linux/install/bin/rgaImDemo
拷贝lib文件到/usr/lib下
cp /root/librga-rockchip/build/build_linux/install/lib/librga.a /usr/lib
cp /root/librga-rockchip/build/build_linux/install/lib/librga.so /usr/lib
rgaImDemo
rgaImDemo是demo应用,用-h查看帮助使用。如查看版本号
bin/rgaImDemo --querystring versionStart selecting mode 0
im2d querystring ..
RGA demo mode = 0x0RGA vendor : Rockchip Electronics Co.,Ltd.
RGA_api version : v1.10.3_[2]
RGA version : RGA_2_Enhance
Max input : 8192x8192
Max output : 4096x4096
Byte stride : 4 byte
Scale limit : 0.0625 ~ 16
Input support format : RGBA/ARGB_8888 RGB_888 RGB_565 ARGB_4444 ARGB_5551 YUV420_sp_8bit YUV420_sp_10bit YUV420_p_8bit YUV420_p_10bit YUV422_sp_8bit YUV422_sp_10bit YUV422_p_8bit YUV422_p_10bit YUYV422 YUV400
output support format : RGBA/ARGB_8888 RGB_888 RGB_565 ARGB_4444 ARGB_5551 RGBA_4444 RGBA_5551 YUV420_sp_8bit YUV420_p_8bit YUV422_sp_8bit YUV422_p_8bit YUYV420 YUYV422 YUV400 Y4
RGA feature : color_fill color_palette ROP quantize src1_r2y_csc dst_full_csc
expected performance : max 2 pixel/cycle