您尚未登录。

楼主 #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做界面都是纯软件绘图,有点浪费。

离线

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

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

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

nano你是怎么做的呢?

离线

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

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

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

超级萌新 说:

nano你是怎么做的呢?

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

离线

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

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

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

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

离线

楼主 #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系统

离线

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

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

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

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

离线

楼主 #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的节点。

离线

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

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: 关于硬件图形加速,如何使用F1C100或者SV3S的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叠加速度也不慢。

离线

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

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

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

zhouyu2019 说:

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

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

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

离线

楼主 #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驱动包装一下,使接口更加友好而已,实际功能实现还是在内核驱动里面,我觉得它是硬件实现的。

离线

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

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

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

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

离线

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

smartcar
会员
注册时间: 2018-02-19
已发帖子: 735
积分: 735

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
已发帖子: 42
积分: 42

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

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

离线

#15 2020-10-20 08:34:31

拉轰的脚踏车
会员
注册时间: 2020-03-20
已发帖子: 288
积分: 222

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

@zhouyu2019 因为早期荔枝派zero linux 4.13 LCD是用 simple-framebuffer 驱动的, 而不是drm

https://github.com/Lichee-Pi/linux/blob/zero-4.13.y/arch/arm/boot/dts/sun8i-v3s.dtsi

	chosen {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		simplefb_lcd: framebuffer@0 {
			compatible = "allwinner,simple-framebuffer",
				     "simple-framebuffer";
			allwinner,pipeline = "de0-lcd0";
			clocks = <&ccu CLK_BUS_TCON0>, <&display_clocks 0>,
				 <&display_clocks 6>, <&ccu CLK_TCON0>;
			status = "disabled";
		};

离线

#16 2021-07-03 19:55:26

angelsan
会员
注册时间: 2020-04-02
已发帖子: 139
积分: 131.5

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

那么请教一下,用DRM的话,Panel该怎么配置呢?谢谢

@拉轰的脚踏车

离线

#17 2021-07-03 19:58:08

angelsan
会员
注册时间: 2020-04-02
已发帖子: 139
积分: 131.5

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

请教一下,v3s主线现在能用DRM了吗?

zhouyu2019 说:

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

离线

#18 2021-11-24 18:00:44

chenzh
会员
注册时间: 2021-09-29
已发帖子: 28
积分: 8

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

@拉轰的脚踏车
请教一下licheepi-zero v5.2现在支持DRM了吗?我这边配上了且有/dev/dri/card0设备,但是modetest只有最后一个plane能显示。

离线

#19 2021-11-29 12:01:38

haistart
会员
注册时间: 2020-01-05
已发帖子: 14
积分: 4

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

硬件视频加速要是搞通的话,那就爽YY了。

离线

#20 2022-12-30 11:26:21

zc090115
会员
所在地: 成都
注册时间: 2020-03-12
已发帖子: 2
积分: 17

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

大家好,我现在是在v3s zero上使用spi接口来驱动ili9341 lcd屏幕,5.2主线内核dts上禁用了RGB接口的LCD display engine, 内核中启用了tinydrm的配置,在系统中也存在/dev/dri/card0和fb0的设备接口,但是使用modetest,一直扫描不到设备,请问有什么排查思路?

# ./modetest
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...failed
trying to open device 'exynos'...failed
trying to open device 'tilcdc'...failed
trying to open device 'msm'...failed
trying to open device 'sti'...failed
trying to open device 'tegra'...failed
trying to open device 'imx-drm'...failed
trying to open device 'rockchip'...failed
trying to open device 'atmel-hlcdc'...failed
trying to open device 'fsl-dcu-drm'...failed
trying to open device 'vc4'...failed
trying to open device 'virtio_gpu'...failed
trying to open device 'mediatek'...failed
trying to open device 'meson'...failed
trying to open device 'pl111'...failed
no device found
#
#
# ls /dev/dri/card0
/dev/dri/card0
# ls /dev/fb0
/dev/fb0
#


dmesg
[    0.750304] SPI speed: 16MHz
[    0.753195] ili9341_probe mipi_dbi_spi_init
[    0.757444] preferred_depth=16, rotation = 270
[    0.761976] ili9341_probe mipi_dbi_spi_init success
[    0.767522] [drm] Initialized ili9341 1.0.0 20180514 for spi0.0 on minor 0
[    0.774492] ili9341_probe drm_dev_register
[    0.780125] enter yx240qv29_enable
[    0.780132] mipi_dbi_poweron_conditional_reset
[    0.938414] start mipi_dbi_command
[    1.178270] end mipi_dbi_command
[    1.182549] random: fast init done
[    1.262670] set addr mode, rotation 270, addr 0xe8
[    1.311729] random: crng init done
[    1.348402] Console: switching to colour frame buffer device 40x30
[    1.469206] ili9341 spi0.0: fb0: ili9341drmfb frame buffer device
[    1.475315] ili9341_probe success

离线

页脚

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

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