WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

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

zhouyu2019
会员
注册时间: 2019-11-07
累计积分: 15

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

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

离线

#2 2019-11-27 14:31:38

超级萌新
会员
注册时间: 2018-05-04
累计积分: 342

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

nano你是怎么做的呢?

离线

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

zhouyu2019
会员
注册时间: 2019-11-07
累计积分: 15

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

超级萌新 说:

nano你是怎么做的呢?

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

离线

#4 2019-11-27 14:38:54

超级萌新
会员
注册时间: 2018-05-04
累计积分: 342

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

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

离线

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

zhouyu2019
会员
注册时间: 2019-11-07
累计积分: 15

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

超级萌新 说:

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

现在nano和zero都是5.2系统

离线

#6 2019-11-27 14:43:32

超级萌新
会员
注册时间: 2018-05-04
累计积分: 342

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

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

离线

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

zhouyu2019
会员
注册时间: 2019-11-07
累计积分: 15

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

超级萌新 说:

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

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

离线

#8 2019-11-27 14:49:28

超级萌新
会员
注册时间: 2018-05-04
累计积分: 342

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

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

离线

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

zhouyu2019
会员
注册时间: 2019-11-07
累计积分: 15

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

超级萌新 说:

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

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

离线

#10 2019-11-27 15:09:23

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 287

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

zhouyu2019 说:

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

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

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

离线

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

zhouyu2019
会员
注册时间: 2019-11-07
累计积分: 15

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

jimmy 说:

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

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

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

离线

#12 2019-11-27 15:28:07

超级萌新
会员
注册时间: 2018-05-04
累计积分: 342

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

多谢指教,有空我也研究一下 libdrm,刚刚翻了一下驱动,真可能是硬件实现的。感觉bsp的实现更全一点,framebuffer都分层了fb0,fb1,fb2,应用程序切换非常方便,主线就没有实现.

离线

#13 2019-11-27 15:33:27

smartcar
会员
注册时间: 2018-02-19
累计积分: 436

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

zhouyu2019 说:

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

我可能有点知道为什么上次f1c100s debian 跑桌面出不来的原因了,报一堆 drm 错误,然后桌面就挂了。

离线

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

zhouyu2019
会员
注册时间: 2019-11-07
累计积分: 15

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

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

离线

页脚