当前位置: 首页 > news >正文

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
http://www.dtcms.com/a/395790.html

相关文章:

  • 【精品资料鉴赏】189页工程车辆集团数字化转型SAP解决方案
  • 算法 --- 多源 BFS
  • 15.Linux 硬盘分区管理
  • 2.UE-准备环境(二)-下载虚幻引擎源码和搞成vs项目并使用vs打开
  • G-Star公益行获评CCF优秀技术公益案例,用开源技术传递善意
  • 文化赋能・创意西宁 西宁传媒行业创业发展沙龙成功举办 探索本土企业升级新路径
  • TDengine 与 MYSQL 的差异总结
  • Mysql杂志(二十一)——Hash索引和二叉搜索树、AVL树
  • 什么是类的实例化
  • 西门子 S7-200 SMART PLC 实操案例:中断程序的灵活应用定时中断实现模拟量滤波(下)
  • STM32FreeRtos入门(二)——创建第一个多任务程序
  • Qt QML and Qt Quick 简述及例程
  • Linux 系统移植
  • 小杰机器学习(six)——概率论——1.均匀分布2.正态分布3.数学期望4.方差5.标准差6.多维随机变量及其分布
  • 【Linux】Ext系列文件系统(上)
  • 【ROS2】Beginner: Client libraries - 发布者、订阅者例子 C++ Python
  • AI设计功能性病毒:从DNA语言模型到精准杀菌实战
  • Qt 共享指针QSharedPointer与std::shared_ptr
  • Java课程 第02周 预习、实验与作业:Java基础语法2:面向对象入门
  • 词性标注技术漫谈:为词语赋予语法灵魂的旅程
  • K230基础-MicroPython
  • 网站访问问题:无法访问此网站、404
  • Redis 与Memcached 的对比
  • PyTorch 神经网络工具箱:核心原理与实践指南
  • 广义矩估计错误指定时的一个推导【续5】
  • 【STM32】ADC数模转换器
  • Tensorboard学习记录
  • Redis中常见数据结构底层实现结构是什么
  • 高频交易技术演进:从毫秒到纳秒的极限延迟优化之路
  • 从零开始搭建并部署一个基于Django和YOLO的智能模型项目