Bullseye——树莓派操作系统的新版本

MicroPython、microbit、makecode等
最新动态
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

Bullseye——树莓派操作系统的新版本

#1

帖子 shaoziyang »

https://www.raspberrypi.com/news/raspbe ... -bullseye/
每两年,Raspberry Pi OS 所基于的 Debian Linux 都会进行一次主要版本升级。 自 2019 年发布以来,Debian 'buster' 一直是 Raspberry Pi OS 的基础,而 Debian 'bullseye' 于 8 月发布。 (你们中的一些人可能知道,Debian 以迪士尼/皮克斯的 角色命名他们的版本 玩具总动员 电影中的 ——靶心是 伍迪的马 玩具总动员 2 中 。)

图片

我们一直在研究 Raspberry Pi OS 的相应“bullseye”版本; 花费的时间比我们希望的要长一些,但现在可以使用了。 那么这次有什么新东西呢? Debian 'bullseye' 对用户可见的重大更改相对较少——文件系统和打印有一些底层更改,但大部分更改是对现有应用程序和功能的补丁和升级。 然而,除了 Debian 本身的变化之外,Raspberry Pi OS 的“bullseye”版本在桌面环境和对 Raspberry Pi 硬件的支持方面有许多重大变化。

GTK+3

所有桌面组件和应用程序现在都使用 GTK+ 用户界面工具包的第 3 版。 GTK+ 是一个软件层,应用程序可以使用它来绘制标准用户界面组件(称为“小部件”),例如按钮、菜单等,从而使所有应用程序具有一致的外观和感觉。 到目前为止,大多数桌面都使用了 GTK+ 工具包的第 2 版,但是越来越多的 Debian 应用程序正在使用 GTK+3,因此为了尝试保持一致,我们已将所有软件和桌面本身升级到较新的版本。

GTK+3 已经存在好几年了,人们偶尔会问为什么我们之前没有转向它。 简单的答案是,使用 GTK+2 比使用 GTK+3 更容易做很多事情,尤其是在定制小部件的外观时——GTK+3 删除了我们依赖的几个有用的功能。 最终有必要为其中的许多问题找到变通办法——希望没有人会注意到它们,并且一切仍会像以前一样工作!

您会注意到小部件的一些变化——最明显的是选项卡式界面的新外观。

图片

其他一些控件的外观略有不同,但我们已努力确保一切看起来仍然很熟悉,并且基本没有变化。 GTK+3 只是为我们未来的开发提供了一个更现代的基础,并使我们与其他 Linux 桌面环境保持一致。

窗口管理器

迁移到 GTK+3 所引起的变化之一是我们使用了一个新的窗口管理器,称为 mutter,而不是以前版本中使用的 openbox 窗口管理器。

窗口管理器负责在每个应用程序窗口周围绘制标题栏和窗口框架。 Mutter 是所谓的合成窗口管理器,这意味着它不是将窗口框架直接单独绘制到屏幕上现有的窗口上,而是将所有窗口绘制到屏幕外的内存缓冲区,在那里为整个窗口创建完整的图像屏幕。 然后将其发送到要显示的硬件。

因为它可以控制整个屏幕,所以合成窗口管理器可以创建一些传统窗口管理器不可能(或至少不容易)的漂亮视觉效果:例如,它可以使窗口的角变圆,或显示阴影每个窗口后面的边框。 (虽然我们在 openbox 中确实有圆角,但这是通过为每个窗口绘制多个不同大小的框架而以一种相当低效的方式完成的 - 它有效,但它确实不优雅!)

GTK+3 依靠合成窗口管理器来圆化工具提示的角; 在 GTK+2 中,这是通过一种类似于我们用来在 openbox 中创建圆形窗口框架的 hack 来完成的,但是这在 GTK+3 中已被删除,而是要求窗口管理器执行此操作。

Mutter 提供了很好的窗口打开和关闭动画,并在每个窗口边框后面提供了阴影; 这些变化是微妙的,但它们确实让桌面感觉更现代。

图片

mutter 的一个缺点是,由于需要将整个屏幕绘制到内存才能显示,因此对 RAM 的要求相当高,并且只能在 2GB 或更大的 Raspberry Pi 上正常运行。 因此,在小于 2GB 的 Raspberry Pi 上,仍使用较旧的 openbox 窗口管理器。 (不幸的是,这确实意味着,在这些系统上,工具提示现在将具有方角。这是对问题的另一个答案,“那么您为什么不在 3 年前迁移到 GTK+ ......?”)

mutter 的另一个优点是它是迈向 Linux 桌面环境未来的必要步骤。 Linux 中的桌面一直基于 X Window System,通常简称为 X。它提供了窗口环境的基本服务——绘制窗口、移动它们、管理鼠标指针等等。 但 X 现在是一项非常古老的技术——它于 1984 年首次发布——虽然它已经服务了近 40 年,但一些桌面环境现在正在使用替代品。 其中最流行的是一个叫做 Wayland 的系统,它最近成为了 Ubuntu 使用的窗口系统。

从将 Raspberry Pi OS 切换到 Wayland,我们还有很长的路要走,但它的一个要求是兼容 Wayland 的合成窗口管理器,而使用 mutter 是这条道路上的第一步。

通知

许多其他操作系统现在所做的一件事是提供一个集成的通知系统,从而以一致和统一的方式向用户显示有关系统或应用程序的消息。 在此版本中,我们向任务栏添加了一个通用通知管理器,它可以由任务栏及其任何插件使用,也可以通过其他应用程序访问。

通知显示在屏幕右上角的窗口中,并按时间顺序显示,最近的通知显示在顶部。 通知将在 15 秒后自动超时并隐藏,或者可以通过单击窗口立即清除。 

图片

 通知超时可以在面板首选项对话框的外观选项卡上配置,通过右键单击任务栏访问。 如果超时设置为零,则通知将一直显示,直到您单击它们。 在此对话框中,您还可以完全关闭通知——尽管我们不建议这样做!

 图片

 目前,当 USB 设备被移除、电源电压过低以及固件检测到各种错误情况(例如内存分配问题和无效配置选项)时,都会生成通知。 其中一些已经在以前的版本中引起了用户的注意,但现在以更加一致和用户友好的方式发生,为系统的未来扩展提供了更多空间。

KMS 视频驱动程序

KMS(内核模式设置)驱动程序是以前版本中的一个实验性选项,现在是此版本中的标准视频驱动程序。

KMS 是 Linux 标准机制,用于控制与显示器的连接。 以前的视频驱动程序是树莓派专用的,内置于​​树莓派计算机独有的自定义固件中; 它也是闭源的。 这使我们能够对我们的硬件进行许多优化,但这也意味着任何想要直接访问显示器的应用程序都需要专门为 Raspberry Pi 编写。 通过迁移到 KMS,任何使用标准 Linux 显示 API 编写的应用程序都应该无需修改即可在 Raspberry Pi 上运行。

这种方法的另一个优点是 Raspberry Pi 的显示驱动程序现在都是 Linux 内核的一部分,因此可以由第三方编写或修改; 以前这些代码都在闭源固件中。 这将使自定义显示器等项目的制造商更容易添加对 Raspberry Pi 的支持。

……
……
 
 
 
 
 
 
 
 

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章