首页 > 其他分享 >Rockchip | Rockchip Graphics与Display

Rockchip | Rockchip Graphics与Display

时间:2023-01-17 18:35:55浏览次数:57  
标签:X11 -- Rockchip glmark2 Wayland drm Graphics x11 Display


1 Graphics介绍

1.1 使用X11 Graphics

Xserver 是在常规桌面 Linux 平台上使用的显示系统。

Rockchip 有一个定制的 ​​Xserver​​​ ,可以实现 ​​glamor 2D acceleration​​ 。 Xserver 通常具有良好的兼容性,但性能可能会比其他显示系统少一些,而且它的体积要大一些。

Gstreamer X11 sink 支持 DRM 4k-Video 渲染(虽然很麻烦)。

1.1.1 架构图

Linux OS 中的 X11 结构

Rockchip | Rockchip Graphics与Display_x11

1.1.2 DDX(armsoc)

源代码: git clone [email protected]:markyzq/xf86-video-armsoc.git
主线: git://anongit.freedesktop.org/xorg/driver/xf86-video-armso

DDX 支持:

  1. 支持常见的x11显示和Hwcursor
  2. DRI2(EGL X11 客户端的请求)
  3. umplock(支持 EGL x11 客户端不撕裂)

/etc/X11/xorg.conf: Xserver 将解析此配置以查找 DDX 并配置信息

Section "Device"
Identifier "Mali-Fbdev"
Driver "armsoc"
Option "UMP_LOCK" "true"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Mali-Fbdev"
DefaultDepth 24
EndSection

1.1.3 UMPLOCK

源代码: wget ​​http://malideveloper.arm.com/downloads/drivers/DX910/r6p1-01rel0/DX910-SW-99002-r6p1-01rel0.tgz​

将 umplock 打补丁到内核,就可以找到 umplock 设备节点:

/dev/umplock

不要忘记启用 DDX umplock 选项:

Option           "UMP_LOCK"   "true"

umplock 仅用于 x11 图形堆栈,不需要 Wayland,因为 mali 已经在其驱动程序上进行了 Wayland 同步。

1.1.4 DDX(modesetting)

详细介绍见  ​​ModeSetting ​​ 。

1.1.5 X11性能测试

2D 性能:

x11perf

3D 性能:

glmark2-es2

X11perf 工具可以从 x11-apps 轻松获取。

glmark2-es2可以从​​GitHub - glmark2/glmark2: glmark2 is an OpenGL 2.0 and ES 2.0 benchmark​​。

获取glmark2-es2 源代码也可以为 x11、drm(gbm) 和 wayland 构建。

1.2 使用Wayland Graphics

Weston 是 Wayland 合成器的参考实现, 本身是一个有用的合成器。

1.2.1 架构图

Rockchip | Rockchip Graphics与Display_rockchip_02

1.2.2 Weston

Wayland 合成器的 Weston 参考实现。

     1. 使用 drm 和 gpu 渲染器运行 Wayland

export XDG_RUNTIME_DIR=/tmp
weston --backend=drm-backend.so --idle-time=100

      2. 使用 drm 和 cpu 渲染器运行 Wayland

weston --backend=drm-backend.so --idle-time=100 --use-pixman

--idle-time: weston 需要休眠多少秒,测试 Wayland 暂停和恢复很有用。
--use-pixman: 比较 gpu 或非 gpu 的性能和行为很有用。

1.2.3 Wayland性能测试

3D 性能: glmark2-es2-wayland
glmark2-es2可以从​​​GitHub - glmark2/glmark2: glmark2 is an OpenGL 2.0 and ES 2.0 benchmark​​​获取
OpenVG 测试: vg_api_tests
从 mali DDK 构建,使用 make bin/vg_api_tests 构建

1.3 不使用Graphics

如果您不想使用 X11 或 Wayland,有一些选择供您选择。

接口: libdrm 和 libmali-gbm 可用于在没有显示系统的情况下绘制 UI。

框架: 
​​​QT​​ 可以在没有 x11 或 Wayland 的情况下工作。 Qt5 应用程序可以在 EGL(libmali-gbm) 之上运行。

1.4 MALI GPU 驱动

1.4.1 架构图

Rockchip | Rockchip Graphics与Display_drm_03

1.5 Mali构建选项

为 X11 构建:
VARIANT=mali450-gles20-eb-linux-sse-vg-x11-dma_buf

为 Wayland构建:
VARIANT=mali450-gles20-eb-vg-sse-linux-wayland-drm-dma_buf

X11 堆栈仅使用 gpu x11 后端,Wayland 使用两个 gpu 后端,drm(gbm) 和 wayland

-x11-: x11 后端
-drm-: GBM 后端
-wayland: wayland 后端
-sse-: 与霓虹灯类似,在mali 加速 memcpy,加速一些类似的 glTexSubImage2D api
-vg-: openVG 支持, 在 wayland 后端使用 vg_api_tests 测试
-dma_buf-: 支持 dma_buf

1.6 LibDRM

1.6.1 架构图

Rockchip | Rockchip Graphics与Display_x11_04

1.6.2 源代码

主线源代码: git clone git://anongit.freedesktop.org/mesa/drm

LIBDRM 是跨驱动程序中间件,它允许用户空间应用程序(例如 Mesa 和 2D 驱动程序)通过 DRI 协议与内核通信。

1.6.3 Mailing列表

一般开发者讨论在 [email protected] 邮件列表中进行。

在  ​​dri-devel Info Page​​ 信息页面订阅列表。

档案可在  ​​The dri-devel Archives​​ 找到。

2 其他

有关完整 Linux graphics 堆栈的详细信息,请参阅  ​​Freedesktop​​​, ​​ARM​​​, ​​Arch wiki​​ 中的在线文档......

标签:X11,--,Rockchip,glmark2,Wayland,drm,Graphics,x11,Display
From: https://blog.51cto.com/u_13726704/6017597

相关文章