OpenBSD 8.0 推荐,显卡驱动一步跨到 Linux 6.18

BSD 阵营今天有新货,OpenBSD 8.0 于十月二十日正式发布,这是这个项目的第六十一个版本。发布日的官方首页今天刚换上 8.0 的新装。第六十一个版本,半年一更,风雨无阻,从不跳票,这份守时在开源圈是稀缺品。提前几天就在 HN 上刷屏的由头很具体,三大显卡驱动一次同步到 Linux 6.18 级别。BSD 上跑新显卡,这句话从前当笑话讲。我核了官方发布说明、开发者原帖与 HN 讨论,这件事的分量比字面上看着大。

主要功能

8.0 的重头戏在 DRM 图形子系统,官方发布说明写明同步至 Linux 6.18.53。具体拆开,inteldrm 新增 Intel Arc A 系独显支持,代号 Alchemist 的 DG2 显卡第一次被 OpenBSD 官方认领,外接显卡坞与 mini 主机用 A 卡的场景,BSD 从此有了选项,GuC 超时问题在部分 Alder Lake 机器上顺手修掉,amdgpu 与 radeondrm 吃进上游累积的成堆修复。变更明细页里 amdgpu 与 inteldrm 的修复条目排了几十行,掉驱动、点亮失败这类老毛病这回成批处理。对开发者而言,同步到位意味着用户态接口一致,图形栈那一套不用另起炉灶。内核层面另一个硬更新,amd64 架构的虚拟地址空间从 4G 扩到 512G,大显存显卡可以完整映射了,超过 4GB 显存的卡不再憋屈,跑大模型推理的人也在受益名单里。

其他更新一并说

除显卡外这版还有不少硬货。arm64 平台支持休眠了,笔记本用户盼了多年。虚拟化层的 vmm 最多支持 64 个虚拟 CPU。用户态带上了 OpenSSH 10.6 与 LibreSSL 4.4.0,加密组件双自营,这是 OpenBSD 的招牌菜,别的系统抄不走的自信。网络侧新增 rtrd 守护进程,做 RPKI 路由资源验证,小型 ISP 与实验室网络用得上。也有退场消息,loongson 平台正式退役,龙芯老机器的用户这版就到站了。发布节奏方面,OpenBSD 每六个月发一版,版本号加零点一,零点九之后进位,8.0 只是顺序使然,没有大版本的仪式感,这个科普来自 HN 评论区。想尝鲜的下载官方镜像即可,升级走官方指南,老用户闭着眼都能走完。

驱动怎么来的

这一步并非临时起意。开发者 Bryan Steele 十月八日在 Mastodon 发帖介绍,同事 Jonathan Gray 自 7.9 以来持续把 DRM 图形栈往前搬,七月那版就已经停在 Linux 6.18 的长期支持线,这轮再把版本推进到 6.18.53,工作由 OpenBSD 基金会赞助。这类移植是体力活更是眼力活,上游每个版本几千处改动,挑出适用的一点点缝合,干这件事的人全世界屈指可数。移植最难的一环从来是测试,硬件千百种,人手就那几个,用户帮着报 bug 也算贡献。Bryan Steele 本人二零一二年成为提交者,长期打理显卡驱动相关事务,这帖属于他的系列宣传。有人问 GPL 代码怎么进的 BSD,他在 HN 里答得干脆,DRM 核心与内核 GPU 驱动历史上本就是 MIT 许可,Mesa 那一套同理,不存在法律谜题。HN 帖约八十分,评论区有老玩家补充,BSD 移植 Linux 显卡驱动是延续多年的传统操作,这版的新意在于跟得紧、跨得大。还有人打趣,等大模型学会逆向硬件文档的那天,BSD 的驱动洼地也能填平。

解决了什么需求

想在 BSD 上用新显卡的人是第一受益方,Intel Arc 独显用户从无到有,A 卡用户拿到成堆修复,BSD 桌面的可用性实打实上了一个台阶。第二层受益的是整个 BSD 生态,图形栈不掉队意味着桌面发行版、工作站用途都能往下走。另有一类人在看热闹,Linux 用户围观 BSD 的发布节奏,顺便反思自家发行版的碎片化。第三层给 Linux 读者一个参照,开源显卡栈的这套代码两家共用,驱动代码的许可证设计与社区协作方式,二十年后回看仍是教科书案例。顺手补一句硬件支持的现实,Wi-Fi 与声卡驱动 BSD 这边仍弱于 Linux,装之前对照官方硬件支持清单过一遍,别白折腾。尝鲜有成本,稳定有回报。普通用户装不装另说,这份半年一版的稳定节奏本身就是开源界的一景。

一句收尾,显卡驱动是操作系统的硬通货,OpenBSD 用六个月一次的搬运证明了坚持的复利。

来源

  • 官方发布说明 https://www.openbsd.org/80.html
  • 官方变更明细 https://www.openbsd.org/plus80.html
  • 开发者原帖 https://bsd.network/@brynet/117407035545900963
  • HN 讨论帖 https://news.ycombinator.com/item?id=50158138
  • drm 手册页 https://man.openbsd.org/drm.4