您尚未登录。

楼主 #1 2019-11-27 14:27:58

zhouyu2019
会员
注册时间: 2019-11-07
已发帖子: 42
积分: 42

关于硬件图形加速,如何使用F1C100或者SV3S的display engine?

我们在做界面显示的时候,如果处理器内置硬件图形加速,那显示效果将会大大提升。STM32有DMA2D,新唐N32926有BLT和VPE,对于全志的片子(f1c100s或者V3S)则是display engine,实现的功能差不多(包括显示数据格式转换、图层叠加、透明混合等,高级点的带旋转缩放)。
    荔枝派nano的系统有drm接口,可以实现硬件plane的混合叠加,但功能很有限,而荔枝派zero的系统则没有生成drm接口,不知道是不是哪里配置不对?另外我们要怎样才能利用display engine的价值?使用LittlevGL和QT做界面都是纯软件绘图,有点浪费。

离线

楼主 #3 2019-11-27 14:35:30

zhouyu2019
会员
注册时间: 2019-11-07
已发帖子: 42
积分: 42

Re: 关于硬件图形加速,如何使用F1C100或者SV3S的display engine?

超级萌新 说:

nano你是怎么做的呢?

我是自己加libdrm,然后就可以基于它的接口进行编程,我也只是试了一下libdrm内置的测试程序。

离线

楼主 #5 2019-11-27 14:40:42

zhouyu2019
会员
注册时间: 2019-11-07
已发帖子: 42
积分: 42

Re: 关于硬件图形加速,如何使用F1C100或者SV3S的display engine?

超级萌新 说:

nano你用的是 linux4.14?4.15?
zero用4.13?

现在nano和zero都是5.2系统

离线

楼主 #7 2019-11-27 14:47:40

zhouyu2019
会员
注册时间: 2019-11-07
已发帖子: 42
积分: 42

Re: 关于硬件图形加速,如何使用F1C100或者SV3S的display engine?

超级萌新 说:

那没有理由没有drm,4.14以前的版本我记得就没有drm

对呀,我也是刚入门,不知道生成drm是依赖于哪些配置,对比了nano和zero的内核,相关配置是一样的,会不会是设备树的原因?但我看了设备树里面有display engine的节点。

离线

楼主 #9 2019-11-27 14:53:26

zhouyu2019
会员
注册时间: 2019-11-07
已发帖子: 42
积分: 42

Re: 关于硬件图形加速,如何使用F1C100或者SV3S的display engine?

超级萌新 说:

全志主线显卡都是软件驱动的,我觉得还是驱动配置和设备树的原因

我觉不是软件驱动的,在linux/driver/gpu/drm/sun4i/目录下有display engine的驱动,而且确实被调用了,实测plane叠加速度也不慢。

离线

楼主 #11 2019-11-27 15:21:21

zhouyu2019
会员
注册时间: 2019-11-07
已发帖子: 42
积分: 42

Re: 关于硬件图形加速,如何使用F1C100或者SV3S的display engine?

jimmy 说:

请假楼主,有没有 libdrm 的测试代码,我试一试,

还有,这个drm 是软件实现的吗?

libdrm是一个开源库,这里可以下载: http://www.linuxfromscratch.org/blfs/view/stable/x/libdrm.html
下载到的库里面就有测试程序,其实也可以在buildroot里面勾选libdrm,会自动帮你下载和编译。另外libdrm只是将linux的drm驱动包装一下,使接口更加友好而已,实际功能实现还是在内核驱动里面,我觉得它是硬件实现的。

离线

楼主 #14 2019-11-27 16:09:02

zhouyu2019
会员
注册时间: 2019-11-07
已发帖子: 42
积分: 42

Re: 关于硬件图形加速,如何使用F1C100或者SV3S的display engine?

嗯嗯,大家一起学习,把芯片用起来。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn