新进展!deepin M1 项目更新至 deepin V23 RC2 版本
![新进展!deepin M1 项目更新至 deepin V23 RC2版本](https://static001.geekbang.org/infoq/3b/3bdbac880ce0792a948a650c86bf54c9.jpeg)
在去年 7 月份,我们成功使 deepin 初步适配了 Apple M1 。今年随着 deepin V23 beta 进入 RC2 版本,deepin M1 项目理所当然地也会跟进更新。
除此之外,本次适配工作不仅限于提升系统环境版本,还顺带更新了一些系统底层组件版本,优化了项目各模块的打包流程并部分添加了定时器,每周构建一次内容以便开发者抢先体验尝鲜。下面,就开始详细介绍本次更新的具体内容。
《deepin成功适配Apple M1,我们的适配之旅!(上篇)》
《deepin成功适配Apple M1,我们的适配之旅!(下篇)》
系统环境
最新的系统环境如下:
![](https://static001.geekbang.org/infoq/0a/0a6e89ad042eaadbdb638e791e3ff7f6.png)
更新过后的 rootfs,已确定支持在 Mac mini M1 的最新 14.5 版本上成功安装启动。另外,由于 deepin V23 ARM64 稳定仓库的软件包版本已经更新到了足以与 deepin M1 特有组件相兼容的程度,不再需要激进但不太稳定的 CI 仓库来构建系统环境。所以,在本次更新之后,deepin M1 的系统将切换到稳定库。
![](https://static001.geekbang.org/infoq/fc/fcc64f1ce85b37384278291088a24291.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
得益于安装器的相关 Bug 修复,现在在脚本安装完成后第一次启动时显示安装器后配置成为了可能。因此,deepin M1 现已取消了默认用户账号,改为安装后第一次启动时配置帐户。大家再也不需要纠结默认密码是什么了。
![](https://static001.geekbang.org/infoq/e1/e12652c9ebdcc143236858f75fbf2f47.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
底层组件更新
m1n1 和 uboot 均已更新至上游最新版本,除了带来在最新 MacOS 系统上启动的能力以外,还解决了困扰已久的系统启动菜单界面键盘无法操作的问题。
Linux 内核和 Mesa 在更新至当前最新稳定版本的同时,还使用了与上游保持一致的新版本 Rust 来进行编译打包。除此之外,还改用了反复调试出的最佳构建选项。结果便是,当前仓库中最新的 Linux 内核已经可以支持 GPU 硬件加速了。这也意味着系统界面将会更加丝滑流畅,游戏体验也会更好
![](https://static001.geekbang.org/infoq/08/08cfc383cf9a7aa2c67450bff13d6fd1.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
此外,一直以来的 USB 输入设备自动休眠问题也在新版内核里给一并修复了。
新增构建流程
得益于 deepin-rootfs 和 deepin-docker 项目的出现,现在打包 deepin-m1 的组件有了 deepin 基础环境了。其成果便是目前做出来的,分别用于打包 rootfs,内核与 m1n1,USB 启动盘内容的三个构建流程。
![](https://static001.geekbang.org/infoq/6f/6fdd73f4275804097501ea4bd497cf12.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
三个构建都是 push 操作触发,而 rootfs 和 USB 启动内容构建还另外添加了每周一的定时触发器。有需要的用户,可以直接去项目页面 Actions 中的最新构建历史里下载本周打包的镜像。
![](https://static001.geekbang.org/infoq/ab/ab7829dcec47deaa58ad1791b5256d67.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
另外需要说明的是,因为 github action runner 的限制,打包 rootfs 需要进行一定地精简以节约磁盘空间,所以 deepin-base 的打包被默认关闭了。有需要的开发者可以自行修改 bootstrap.sh 中的相关部分开启。
下一步的工作
当前,仍然存在着许多问题。其中最影响日常体验的一个便是没有声音的 Bug。目前,正在排查当中。需要播放声音的用户,可以通过安装 alsa-ucm-conf-asahi 来用 3.5mm 接口放声音。
不久之前,Asahi 官方宣布了他们支持 Vulkan 的进度。我们也将持续关注跟进,并在稳定版释出之后,尽快更新 Mesa.。
当前的 ARM64 软件生态还是相对薄弱的。未来将会和 deepin-sysdev-sig,deepin-arm-pc 等组织协作,引入更多的软件包来扩充可用软件内容。
box64 自 0.2.6 版本之后,便能够在 Mac M 系列 Soc 上运行了。这意味着它可以通过 box64 和 wine wow64 来支持 Linux 和 Windows 的 x86_64 程序。当前这两个软件都没有打包。未来会尝试添加进 deepin 仓库的。
写在最后:
最后,再次感谢 deepin 相关 SIG 组的开发者,非常感谢你们在 Asahi Linux 以及 m1-debian 项目的协助与支持。正是由于你们的贡献开源、参与开源,deepin 系统才会越来越美好。谢谢你们!
附录:
(1)deepin-m1 SIG 组入口:https://www.deepin.org/index/docs/sig/sig/deepin-m1/README
(2)deepin-m1 项目地址:https://github.com/deepin-community/deepin-m1
(3)deepin 成功适配 Apple M1,我们的适配之旅!(上篇):https://www.deepin.org/zh/deepin-adapted-applem1-1/
(4)deepin 成功适配 Apple M1,我们的适配之旅!(下篇):https://www.deepin.org/zh/deepin-adapted-applem1-2/
(5)deepin 全版本镜像(含 deepin V15):https://distrowatch.com/index.php?distribution=deepin
评论