kendryte / k230_sdk

Kendryte K230 SDK
BSD 2-Clause "Simplified" License
165 stars 35 forks source link

屏幕旋转90度设置和lvgl加速 #68

Open xianyo opened 1 month ago

xianyo commented 1 month ago

Help

1,我想使用800x1280的mipi屏幕,竖屏横用,转90度成1280x800。在哪里设置转90度比较合适呢?转了90度后vo要显示正确的横屏ui。如果要把摄像头数据显示在屏上,vi是否也要做相关处理?

2,目前lvgl是否支持g2d加速?是否能达到1280x800@60fps

3, 是否可以做到开机启动后5秒内显示lvgl gui

MrThanlon commented 1 month ago
  1. 可以尝试使用GPU进行旋转,具体参考VGLite相关接口
  2. vglite 适配 lvgl 还没做,lvgl 仓库倒是有 vglite 相关的代码,但那个主要用于裸机,不涉及地址转换等问题,linux下buffer管理不太一样,可以参考
  3. linux可能需要做一些裁剪和优化才能实现5秒开机
xianyo commented 1 month ago

gui旋转和加速应该是VO比较重要的功能,请问后续sdk有没有计划支持

MrThanlon commented 1 month ago

目前在 linux 上已经可以使用 gpu 进行旋转,使用 vg_lite_blit 函数,传入一个旋转矩阵即可

xianyo commented 1 month ago

还是缺乏整体的解决方案。看来在HMI方面支持还是不太完善

MrThanlon commented 1 month ago

不太理解你说的HMI是什么意思?

xianyo commented 1 month ago

HMI 人机交互界面。 其实我想知道后续有没有打算完善LVGL 2d硬件加速这一方面。 感觉在VO方面,2.5d的的gpu没怎么用起来。

MrThanlon commented 1 month ago

k230 的 gpu 是个纯粹的 m2m 设备,用于输出图像到外部硬件的模块我们称为 vo,包括图层合成和控制 MIPI DSI

MrThanlon commented 1 month ago

之后会做 lvgl vglite 加速的适配,不过目前cpu绘制的性能也还是可以的,480x800 分辨率跑满60帧,cpu使用率也不到20%