且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

树莓派进入Bullseye版本!完全兼容Linux,视频驱动全开源(上)

更新时间:2022-08-22 13:58:36

基本上每隔两年,Debian Linux都会进行一次重大的版本更新。

 

自2019年以来,树莓派的操作系统Raspberry Pi OS一直都是基于Debian10「Buster」开发的。

 

最新的Debian 11.0版本已经于8月14日正式发布,10月9日又发布了第二个版本11.1,本次大版本的命名为「Bullseye」。


Debian的版本命名规则都来源于玩具总动员,臭小子Buster和红心Bullseye都是里面角色。

 

树莓派进入Bullseye版本!完全兼容Linux,视频驱动全开源(上)

树莓派的操作系统随着Debian也一起迎来了更新。

 

虽然说Debian Bullseye对用户可见的改进来说相对较少,大多数都是一些修补上的工作,还有将现有的应用程序和功能进行了升级。


但在Debian本身的更改之上,Raspberry PI OS的Bullseye版本在桌面环境和对Raspberry PI硬件的支持方面有一些重大变化。

 树莓派进入Bullseye版本!完全兼容Linux,视频驱动全开源(上)首先是所有的桌面组件和应用都切换为GTK+3。

 

GTK+是一个软件层,应用程序可以用它来绘制标准的用户界面组件Widget,如按钮、菜单等,以便所有应用程序都有一致的外观和视觉感受。

 

到目前为止,仍然有大多数桌面应用还在使用GTK+工具包的第2版,但越来越多的Debian应用程序已经开始切换到GTK+3,因此为了保持一致,树莓派操作系统已经将所有软件和桌面程序升级到新版本GTK+3。

 

GTK+3实际上已经平稳运行了好几年了,经常有用户对树莓派为什么以前不切换到GTK+3,官方给出的答案是:使用GTK+2比使用GTK+3做很多事情要容易得多,尤其是在定制小部件外观时,GTK+3删除了一些之前依赖的几个特性。但现在已经没必要再找回原来的特性,还是努力再写一份吧。

 

更换以后可以发现树莓派的Widget发生了一些变化,对于可视化用户来说是比较直观的。

树莓派进入Bullseye版本!完全兼容Linux,视频驱动全开源(上)其他一些控件的外观略有不同,但开发人员也在试图确保所有东西看起来都很熟悉,基本没有变化就是***的改变。GTK+3能够为树莓派未来的发展提供了更现代的图形基础,并使树莓派系统与其他linux桌面环境保持一致。

 

技术栈切换到GTK+3带来的另一个变化就是树莓派系统采用了一个名为mutter 的窗口管理器(window manager),而不再使用openbox窗口管理。窗口管理器的主要功能是负责在每个应用程序窗口周围绘制标题栏(title bar)和窗口框架(window framework)。

 

mutter是一个复合(compositing)窗口管理器,也就是它将所有窗口拉到屏幕上的内存缓冲区,可以为整个屏幕创建一个完整的图像,而不是单独将窗口框架直接拉到屏幕上的现有窗口上,然后将数据发送到要显示的硬件。

 

由于它可以控制整个屏幕,因此组合窗口管理器可以创建一些与传统窗口管理器不可能或至少不容易实现的视觉效果:例如,它可以在窗口的拐角处旋转,或在每个窗口后面显示阴影边界。


虽然在openbox中也有圆角,但那是以一种相当低效的实现方式完成的,为每个窗口绘制多个不同大小的框架虽然有用,但代码并不优雅!

 

mutter还提供优秀的窗口打开和关闭动画,并在每个窗口边框后面提供阴影,虽然变化不大,但他们确实让桌面看起来更现代化了。

树莓派进入Bullseye版本!完全兼容Linux,视频驱动全开源(上)但mutter也有缺点,由于它在显示之前需要将整个屏幕绘制到内存里,在RAM内存方面的要求非常苛刻,只能在Raspberry PI 2GB以上的设备上运行。因此,如果树莓派的内存不够2GB的话,那就会仍然使用较旧的OpenBox窗口管理器。

 

另一个更新的部分是通知系统(Notification),开发人员在Taskbar中添加了一个常见的通知管理器,插件和其他应用程序都可以访问通知系统。

 树莓派进入Bullseye版本!完全兼容Linux,视频驱动全开源(上)