在 Linux 图形栈上运行 Android
创始人
2024-03-01 20:59:06
0

Linux graphics

你现在可以在常规的 Linux 图形栈之上运行 Android。以前并不能这样,根据 Collabora 的 Linux 图形栈贡献者和软件工程师 Robert Foss 的说法,这是非常强大的功能。在即将举行的欧洲 Linux 嵌入式会议的讲话中,Foss 将会介绍这一领域的最新进展,并讨论这些变化如何让你可以利用内核中的新功能和改进。

在本文中,Foss 解释了更多内容,并提供了他的演讲的预览。

Linux.com:你能告诉我们一些你谈论的图形栈吗?

Foss: 传统的 Linux 图形系统(如 X11)大都没有使用 平面图形 plane 。但像 Android 和 Wayland 这样的现代图形系统可以充分利用它。

Android 在 HWComposer 中最成功实现了平面支持,其图形栈与通常的 Linux 桌面图形栈有所不同。在桌面上,典型的合成器只是使用 GPU 进行所有的合成,因为这是桌面上唯一有的东西。

大多数嵌入式和移动芯片都有为 Android 设计的专门的 2D 合成硬件。这是通过将显示的内容分成不同的图层,然后智能地将图层送到经过优化处理图层的硬件。这就可以释放 GPU 来处理你真正关心的事情,同时它让硬件更有效率地做最好一件事。

Linux.com:当你说到 Android 时,你的意思是 Android 开源项目 (AOSP) 么?

Foss: Android 开源项目(AOSP)是许多 Android 产品建立的基础,AOSP 和 Android 之间没有什么区别。

具体来说,我的工作已经在 AOSP 上完成,但没有什么可以阻止将此项工作加入到已经发货的 Android 产品中。

区别更多在于授权和满足 Google 对 Android 产品的要求,而不是代码。

Linux.com: 谁想要运行它,为什么?有什么好处?

Foss: AOSP 为你提供了大量免费的东西,例如针对可用性、低功耗和多样化硬件进行优化的软件栈。它比任何一家公司自行开发的更精致、更灵活, 而不需要投入大量资源。

作为制造商,它还为你提供了一个能够立即为你的平台开发的大量开发人员。

Linux.com:有什么实际使用情况?

** Foss:** 新的部分是在常规 Linux 图形栈上运行 Android 的能力。可以在主线/上游内核和驱动来做到这一点,让你可以利用内核中的新功能和改进,而不仅仅依赖于来自于你的供应商的大量分支的 BSP。

对于任何有合理标准的 Linux 支持的 GPU,你现在可以在上面运行 Android。以前并不能这样。而且这样做是非常强大的。

同样重要的是,它鼓励 GPU 设计者与上游的驱动一起工作。现在他们有一个简单的方法来提供适用于 Android 和 Linux 的驱动程序,而无需额外的努力。他们的成本将会降低,维护上游 GPU 驱动变得更有吸引力。

例如,我们希望看到主线内核支持高通 SOC,我们希望成为实现这一目标的一部分。

总而言之,这将有助于硬件生态系统获得更好的软件支持,软件生态系统有更多的硬件配合。

  • 它改善了 SBC/开发板制造商的经济性:它们可以提供一个经过良好测试的栈,既可以在两者之间工作,而不必提供 “Linux 栈” 和 Android 栈。
  • 它简化了驱动程序开发人员的工作,因为只有一个优化和支持目标。
  • 它支持 Android 社区,因为在主线内核上运行的 Android 可以让他们分享上游的改进。
  • 这有助于上游,因为我们获得了一个产品级质量的栈,这些栈已经在硬件设计师的帮助下进行了测试和开发。

以前,Mesa 被视为二等栈,但现在它是最新的(完全符合 Vulkan 1.0、OpenGL 4.6、OpenGL ES 3.2)另外还有性能和产品质量。

这意味着驱动开发人员可以参与 Mesa,相信他们正在分享他人的辛勤工作,并且还有一个很好的基础。


via: https://www.linux.com/blog/event/elce/2017/10/running-android-top-linux-graphics-stack

作者:SWAPNIL BHARTIYA 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

基础Ubuntu网络代理的...
Ubuntu系统的网络代理配置是许多用户日常使用中的必备技能,从基...
2025-08-24 16:46:06
机器人行业的“Androi...
AI大模型时代,不仅推动了现有成熟产业的二次革新,也将新兴产业带到...
2025-07-29 16:12:58
英伟达:从显卡巨头到AI霸...
文 | 商研所 在二十一世纪的技术史诗中,很少有公司能够像英伟达...
2025-07-14 16:14:03
一起Talk Androi...
文章目录 概念介绍使用方法示例代码 各位看官们大家好,上一回中...
2025-06-01 06:03:54
121.Android 简...
             //首页xml布局代码&#x...
2025-06-01 04:29:59
【Android入门到项目...
目录 一、线性布局 1、  android:layout_grav...
2025-05-31 12:52:06

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...