Request for Updated RGA, IM2D and MPP Libraries for Linux Kernel 6.1

Hi Vicharak Team,

I’m looking for the latest versions of RGA and its related libraries that are supported with the Linux 6.1 kernel shipped by Vicharak.

I referred to the upstream Rockchip kernel repository:

From the upstream sources, I found RGA version 1.3.11 and the corresponding compatible librga version 1.10.5 . Could you please confirm whether these versions are compatible with your Linux 6.1 kernel, and if not, provide the latest RGA and librga versions recommended for your kernel?

If possible, could you also update/provide the latest compatible versions of IM2D and other related RGA libraries/APIs ? Keeping the complete RGA software stack up to date would be very helpful.

Additionally, if the MPP (Media Process Platform) version shipped with the current Linux 6.1 image can also be updated to a newer compatible version, that would be very helpful for my use case.

My main goal is to use the hardware acceleration available on the RK3588 to downscale a 4K video stream to 640p before running YOLO inference. I would like to offload as much of the video scaling/processing as possible from the CPU to reduce CPU utilization and system heat, especially during continuous video processing.

Could you please help me with:

  • Latest RGA driver version supported by your Linux 6.1 kernel
  • Corresponding compatible librga version
  • Latest compatible IM2D and related RGA libraries/APIs
  • Latest compatible MPP version , if an update is possible
  • Any required kernel configuration or driver changes
  • Any recommended userspace libraries/packages that should be updated together
  • Documentation or examples for using RGA for hardware-accelerated video scaling

If there is a recommended/tested combination of RGA driver + librga + IM2D + MPP for your Linux 6.1 kernel, please share it with me.

The goal is to have a stable and up-to-date hardware-accelerated video processing stack for the RK3588 while minimizing CPU usage and heat during YOLO inference.

I would really appreciate your help with this.

Thanks,
Namit

If possible, will definitely try to do that. I will update you on this thread.

As of now I can give you kernel driver,

Kernel Driver RGA Multicore Device Driver : 1.3.11

cat /sys/kernel/debug/rkrga/driver_version
RGA multicore Device Driver: v1.3.11

User Space : librga Version : 1.10.6
You can get from here.

./rgaImDemo --querystring
Start selecting mode 0
im2d querystring ..
MODE = 0
rga_api version 1.10.6_[3]

RGA vendor            : Rockchip Electronics Co.,Ltd.
RGA_api version       : v1.10.6_[3]
RGA version           : RGA_2_Enhance RGA_3 
Max input             : 8192x8192
Max output            : 8128x8128
Byte stride           : 16 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_sp_10bit YUV420_p_8bit YUV422_sp_8bit YUV422_sp_10bit YUV422_p_8bit YUYV420 YUYV422 YUV400 Y4 
RGA feature           : color_fill color_palette ROP quantize src1_r2y_csc dst_full_csc_v1 FBC_mode blend_in_YUV BT.2020 
expected performance  : max 4 pixel/cycle 

I will upload kernel packages, you have to apt update and upgrade.

Thanks i will try btw do u know a working gstreamer with RGA

I have not explored it yet, but you can do it, if there would be any bottleneck that you can ping in community, so every one can know about it.

Ok thanks for the support

1 Like