创作理由:利用任何一个工具捕获到视频流,当然要有一个显示接口,如果直接用Qt Creator的桌面套件不用多说,轻轻松松,但是:要是是资源有限的arm开发板呢?有你好受的,还是先来认识认识做开发,一定会碰到的两个东西吧!!用于在类 Unix 操作系统上实现图形用户界面的窗口系统。Wayland 和 X11(X Window System)


X11(X窗口系统)

概述:

  • X11 是一个较老的图形系统,最初于 1984 年发布。它在很多类 Unix 操作系统(如 Linux、BSD 和 Solaris)上被广泛使用。
  • X11 的设计理念是将图形系统和显示设备的控制分开。它通过客户端-服务器架构来实现,客户端应用程序(就是你编写的界面)与 X 服务器通信,X 服务器负责实际的图形显示和输入设备管理。

嵌入式开发板上用GPU(6)___显示插件_应用程序

优点:

  • 广泛的兼容性:X11 在许多不同的操作系统和硬件上得到了广泛的支持。
  • 丰富的功能和扩展:支持各种扩展和功能,能够满足复杂的图形需求。
  • 多用户和远程操作支持:可以通过网络远程运行应用程序。

缺点:

  • 性能:由于其架构,X11 的性能可能会受到影响,尤其是在处理现代图形效果时。
  • 复杂性:其复杂的架构和配置使得调试和优化变得困难。
  • 老旧:虽然有很多扩展和改进,但其核心设计已经有些过时,不一定能很好地支持现代硬件和图形需求。


Wayland(韦兰)

概述:

  • Wayland 是一个相对较新的窗口系统协议,旨在简化图形系统架构,并提高性能。它最初于 2008 年发布,作为 X11 的替代方案。
  • Wayland 的设计目标是提供更简洁的协议,通过减少中间层来直接将应用程序的图形输出传递给显示服务器,从而提高效率和性能。

嵌入式开发板上用GPU(6)___显示插件_服务器_02

优点:

  • 更高效:减少了中间层的复杂性,降低了延迟和开销,提高了图形性能。
  • 简化的架构:更简单的协议和实现,易于维护和优化
  • 更好的支持现代硬件和图形特性:例如原生支持高分辨率显示器和更高效的硬件加速。

缺点:

  • 兼容性问题:由于其较新的特性和不同的设计,一些旧的软件或工具可能需要更新或替代。
  • 生态系统成熟度:虽然在不断发展,但在一些方面(例如支持的功能和应用程序兼容性)可能不如 X11 成熟。


EGLFS(EGL Full-Screen)

概述EGLFS是Qt的一种平台插件,它允许Qt应用程序直接与图形硬件接口进行交互,而不需要依赖显示服务器(如X11或Wayland)。它通常用于资源有限的嵌入式设备上,因为它能够直接利用硬件加速,全屏显示Qt应用程序。

工作方式EGLFS通过EGL(Embedded-System Graphics Library)接口与底层的图形驱动交互。EGL是一个标准接口,负责管理OpenGL ES上下文和表面,并处理与硬件相关的操作。EGLFS将应用程序渲染的内容直接显示在屏幕上,通常是全屏模式。

应用场景EGLFS特别适用于不需要复杂窗口管理的嵌入式系统,或者那些使用直接渲染模式的设备,比如单一用途的终端、信息亭、工业设备等。


我的拙见:

  X11 和 Wayland 各有优缺点。X11 在兼容性和功能扩展方面有一定的优势,但由于其架构复杂性和性能瓶颈,可能不再适合所有场景。Wayland 则通过简化架构和提升性能,尝试解决这些问题,但仍在逐步发展和完善中。【我的内心独白:那想的这么多,最后还得看开发板厂商系统组的技术人员给你移植啥系统,你就得用那个系统来做显示,不然你得自己花时间去移植呀!所以了解了解就行了