weston是一套wayland窗口显示协议的实现。而目前主流的linux发行版桌面系统都在使用wayland的方式做多窗口的显示合成,例如ubuntu,federa等。
wayland以高性能和直接渲染为核心特点,为图形处理提供了更为高效的方式。wayland的工作原理有些类似于:wayland中会分成客户端和服务端(服务端也叫compositor,合成器)。相较于老的x11,客户端负责完成所有的渲染任务。接到输入信号后,客户端会自行计算需渲染的区域,并在内存中分配空间。绘制好的图像会被存入缓冲区,随后通知wayland的合成器。合成器负责接收所有客户端的请求,对图像缓冲区进行高效合成,然后将结果发送给渲染器进行渲染。这种新方式相较于传统的x11方式,大幅降低了客户端与服务器之间的交互和数据传输,从而提升了渲染效率。
weston是wayland的一个参考实现,可以看成它是一个简单的图形多窗口的桌面系统。但weston本身的实现也并不简单,有基于socket方式通信的多客户端管理(通过epoll来监听),基本都是以fd方式进行管理,进行操作(衍生出来的包括eventfd, timerfd,signalfd等各种fd方式),也有底层的drm (direct rendering manager)对接。所以从系统的对接上,如果是一个非linux系统还得大费一番周折。
rt-thread做为一个国内自主的实时操作系统,一直以自己规划方式向前发展,对设备端嵌入式设备的理解,对硬件芯片未来发展的判断,从2020年发布了rt-thread smart混合微内核操作系统,而在2022年的rt-thread v5.0版本中也把smart分支完整合并到rt-thread的开源主干,真正实现了一套内核代码在多端运行的方式(从小型的mcu微处理器,到面向iot场景的智能硬件,以及高计算复杂领域的mpu微控制器领域)。
现在基于rt-thread smart系统,也提供每天凌晨自动构建更新的prebuilt版本(可以在qemu的arm/aarch64,riscv64仿真平台下直接运行),也加入了对weston多窗口桌面的支持:
如何获得并尝试smart prebuilt版本
鉴于 rt-thread smart 目前更新比较频繁,我们每日定时生成相应的prebuilt 集合包(预构建集合包),整合相关功能,打造一份可在 qemu 模拟环境下运行的集合包。以保证大家可以用到最新的smart内核。prebuilt可以在这里下载:
● aarch64版本
(相关链接:https://download-redirect.rt-thread.org/download/rt-smart/prebuilt/qemu-virt64-aarch64_latest.tar.gz)
请注意,此处下载的prebuilt仅包含 smart 内核与文件镜像,qemu 模拟器本身需另行下载。rt-thread 对 qemu 的移植已涵盖 virtio 半虚拟化驱动,但需较高版本 qemu,推荐 qemu 7.1.0。针对 windows/linux 用户,我们已经准备好了下载链接:
● windows:https://qemu.eu/w64/2023/
● linux: 请使用源代码编译
除 weston 外,prebuilt还支持更多用户态应用程序,如
● busybox, linux 工具的瑞士军刀(默认系统启动后进入 busybox 的 ash 命令行);
● micropython,一套轻量级 python 实现;
● lua ,一种小巧的脚本语言;
● opencv,一个开源的计算机视觉和机器学习库。
更多特性等待您的探索。
为进一步优化用户体验,我们将不断丰富预构建合集的功能。在此,我们诚挚地邀请各位开发者参与,共同推动 rt-thread 操作系统的发展。让我们携手共创美好未来!
———————end———————
点击阅读原文进入官网
发表评论