Android图形系统之X11、Weston、Wayland、Mesa3D、ANGLE、SwiftShader介绍(十五)

news/2024/7/8 5:13:48 标签: android, 图形

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:理解X11、Weston、Wayland、Mesa3D、ANGLE、SwiftShader框架和协议。

2.X11、Weston、Wayland、Mesa3D、ANGLE、SwiftShader功能介绍

  • X11

X11是一种计算机图形显示协议,也被称为X Window System。它是最早的用于Linux和类Unix系统上的图形用户界面的协议,负责管理图形显示和用户输入设备,以及提供窗口管理和图形效果等功能。

  • Wayland

Wayland是一个新一代的图形显示协议,旨在替代X Window System(即X11)。它提供了更直接、更高效、更安全的图形处理,能够实现基于内核的窗口管理和更好的触摸屏支持。

  • Weston

Weston是一个开源的以Wayland协议为基础的窗口管理器(compositor),用于管理应用程序窗口、输入设备和图形显示。它是Wayland项目的参考实现之一,旨在提供现代的、灵活的、可扩展的图形显示架构。

  • Mesa3D

Mesa3D是一个开源的图形库软件堆栈,用于在软件和硬件之间提供OpenGL和其他图形API的实现。它提供了一系列的图形驱动程序,包括软件渲染器和硬件加速的驱动程序,可以在不同的操作系统和图形显示系统上使用。

  • ANGLE

ANGLE 是一个开源的跨平台的 OpenGL ES 到 OpenGL 的翻译器,它允许使用 OpenGL ES 的应用程序在 Windows 平台上运行,通过将 OpenGL ES API 调用转换为相应的 OpenGL API 调用。
ANGLE 的目标是提供一个与标准 OpenGL ES 2.0 和 3.0 兼容的实现,并且可在 Windows 上运行,从而使得开发者可以在 Windows 平台上开发和测试 OpenGL ES 应用程序。

  • SwiftShader

SwiftShader是一个跨平台的高性能软件渲染器,用于在不支持硬件加速的设备上进行图形渲染。它模拟了图形硬件的功能,包括OpenGL ES和Direct3D,以提供流畅的图形渲染和高效的图形处理。

2.X11、Weston、Wayland、Mesa3D、SwiftShader区别

  • 1.X11和Wayland

X11和Wayland都是用于图形显示的协议或系统,但它们有不同的设计理念和实现方式。
X11采用了客户端-服务器模型,而Wayland更加直接和高效。

  • 2.Weston是Wayland协议

Weston是Wayland协议的一个实现,用于窗口管理,与X11和Mesa3D配合使用来实现图形显示和渲染。

  • 3.Mesa3D与X11和Wayland

Mesa3D与X11和Wayland都相关联,它提供了OpenGL等图形API的实现,可以与不同的图形显示系统配合使用。

  • 4.SwiftShader

SwiftShader可以被用于在不支持硬件加速的设备上进行图形渲染,它在某种程度上可以替代Mesa3D的部分功能,但更专注于软件渲染和跨平台性能。

3.总结

1.X11是传统的Unix图形系统。

2.Wayland是X11的替代方案。

3.Weston是Wayland协议的实现。

4.Mesa3D提供了OpenGL、Vulkan API的软件实现。

5.SwiftShader是用于不支持硬件加速设备上的软件渲染。

4.查看Linux主机是X11协议?还是Wayland协议?

# echo $XDG_SESSION_TYPE
x11

我的主机是XUbuntu22.04,可知还是用的旧的显示协议X11,而不是Wayland协议。


http://www.niftyadmin.cn/n/5177855.html

相关文章

(论文阅读29/100 人体姿态估计)

29.文献阅读笔记 简介 题目 DeepCut: Joint Subset Partition and Labeling for Multi Person Pose Estimation 作者 Leonid Pishchulin, Eldar Insafutdinov, Siyu Tang, Bjoern Andres, Mykhaylo Andriluka, Peter Gehler, and Bernt Schiele, CVPR, 2016. 原文链接 h…

点大商城V2版 2.5.3全插件开源独立版 百度+支付宝+QQ+头条+小程序端+unipp开源端安装测试教程

点大商城V2是一款采用全新界面设计支持多端覆盖的小程序应用,支持H5、微信公众号、微信小程序、头条小程序、支付宝小程序、百度小程序,本程序是点大商城V2独立版,包含全部插件,代码全开源,并且有VUE全端代码。 适用范…

Maya 2024 for Mac(3D建模软件)

Maya 2024是一款三维计算机图形软件,具有强大的建模、动画、渲染、特效等功能,广泛应用于影视、游戏、广告等行业。以下是Maya 2024软件的主要功能介绍: 建模:Maya 2024具有强大的建模工具,包括多边形建模、曲面建模、…

Python--集合----无序,去重,空集合只能用set()方法

集合(set)是一个无序的不重复元素序列。 特点:天生去重 无序 集合定义:在Python中,我们可以使用一对花括号 {} 或者 set()方法 来定义集合, 但是如果你 定义的集合是一个 空集合&#xf…

GB28181/GB35114国标平台LiveGBS适配国产信创环境,使用国产数据库达梦数据库、高斯数据库、瀚高数据库的配置方法...

1、如何配置切换信创达梦数据库? livecms.ini -> [db]下面添加配置如: ... [db] dialectdm url dm://SYSDBA:Aa12345678localhost:5236/livegbs 2、如何配置切换高斯数据库? livecms.ini -> [db]下面添加配置如: ... [db] d…

OpenCV 矩阵元素的数据类型

引言 在以下两个场景中使用 OpenCV 时,我们必须事先知道矩阵元素的数据类型: 使用 at 方法访问数据元素的时候要指明数据类型做数值运算的时候,比如究竟是整数除法还是浮点数除法。 但面对一大堆代码,我们有时并不清楚当前的矩…

结合大模型进行降本增效之——自动化测试

软件测试中,有哪些步骤能结合大模型的AIGC和数据分析能力? 生成测试用例 利用GPT-3.5 Turbo的自然语言生成能力,让它根据需求自动生成测试用例。例如,你可以向GPT-3.5 Turbo提供关于某个功能或者页面的描述,然后让它生…

k8s集群搭建(ubuntu 20.04 + k8s 1.28.3 + calico + containerd1.7.8)

环境&需求 服务器: 10.235.165.21 k8s-master 10.235.165.22 k8s-slave1 10.235.165.23 k8s-slave2OS版本: rootvms131:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.5 LTS Release: …