在2025年Linux内核维护者峰会上,关于Rust语言在Linux内核中地位的讨论得出了明确结论:实验已成功,Rust将作为内核的永久组成部分。
核心结论:从实验到基础设施
- 背景回顾:Rust最初作为实验性功能被引入内核(约6.1版本),存在“若带来过多麻烦或价值不符预期则可能被移除”的潜在约定。
- 当前决议:维护者们一致认为,Rust的实验已经取得成功。它不会被移除,并正式成为内核基础设施的一部分。这意味着内核开发正式进入了C与Rust共存的混合语言时代。
现状:依赖已成事实,心态需转变
- 不可逆转性:目前已有包括Apple AGX图形驱动在内的多个驱动程序和子系统开始依赖Rust。移除Rust将直接导致这些硬件支持失效,使其在实践层面已非可行选项。
- 未来方向:社区需要从“这是一个可能会消失的实验”的旧有心态,彻底转变为“这是内核基础设施的一部分”的新思维。
挑战与摩擦点
尽管地位确立,但整合过程中遇到的挑战也被坦诚讨论:
- 社会/文化摩擦:部分C语言维护者与Rust开发者之间存在紧张关系,前者可能感到被强加了额外的工作负担或学习压力。
- 工具链冲突:Rust编译器版本的快速迭代与内核开发对稳定性的严苛要求之间存在固有矛盾。
- 技术障碍:诸如
bindgen工具的复杂性,以及如何在Rust的内存安全模型与内核现有C代码模式之间建立有效的抽象层,仍是需要解决的具体技术难题。这些底层挑战与网络/系统开发的深度优化息息相关。
未来展望
未来的重点将不再是争论“是否使用Rust”,而是转向如何优化集成流程,减少不同语言社区间的摩擦,并完善支持混合语言开发的基础设施。
相关链接:
Linebender组织2025年11月进展:GUI与渲染生态持续增强
Linebender是一个致力于推进Rust语言GUI技术发展的开源组织。2025年11月,其在核心库更新、渲染特效及框架实用性方面均取得显著进展。
1. 核心渲染器Vello更新
Vello作为GPU矢量渲染器,本月新增了CPU端的图像滤镜支持,包括高斯模糊、投影和泛洪效果。同时,引入了针对非图层裁剪的新算法,并优化了CPU端的渐变渲染性能。
2. GUI框架Xilem与Masonry进展
旗舰声明式GUI项目Xilem及其底层Widget系统Masonry发展迅速:
- 功能上新增了
ResizeObserver、Passthrough组件,并增强了对文本输入框和复选框的尺寸配置支持。
- 架构上实现了所有Widget的高效子节点替换,并进行了核心模块重构。
- 应用层面,Eli Heuer成功将Runebender字体编辑器从旧的Druid框架向Xilem移植,取得了实质性进展。
3. 文本布局库Parley发布0.7.0
Parley 0.7.0版本优化了行高计算,引入了Unicode数据以为迁移到ICU4X做准备,并改进了字间距控制。该项目已获得来自NLnet的两项资金资助,用于支持2026年的开发工作。
4. 基础库性能大幅提升
- Kurbo (曲线算法库) 0.13.0:其
CubicBez::nearest算法通过切换到poly-cool五次方程求解器,实现了高达3000倍的速度提升。
- Fearless SIMD:增强了x86架构下的AVX2支持,修复了浮点/整数转换的边界情况(如NaN处理)。
- Velato (Lottie动画渲染器):修复了大量渲染问题,如关键帧插值、蒙版层和路径修剪,旨在支持更复杂的Lottie动画。
5. 生态集成:Bevy Vello
更新适配了Bevy 0.17游戏引擎,修复了视口变化时的渲染目标调整问题,进一步丰富了Rust在前端框架/工程化领域的图形开发生态。
相关链接:
Rust形式化验证新进展:Soteria Rust符号执行引擎
在12月的Rust形式化方法兴趣组分享中,介绍了Soteria Rust。它是首个能完全支持对Rust语言复杂的别名模型(树借用)进行推理的符号执行引擎,并且其性能可与Rust当前最先进的有界模型检查器Kani相媲美。
由于底层库Soteria已被证明是可靠的,开发者可以信任该引擎的分析结果,从而将精力集中于Rust语义的细节验证,而无需从头构建符号执行引擎。
通过一系列基准测试与Kani和Miri进行比较,结果显示Soteria Rust性能优异,分析功能比Kani更全面,并且与Miri不同,它还能够进行符号分析。这项技术对于提升运维/DevOps中关键系统软件(如驱动)的可靠性与安全性具有重要意义。未来的工作方向包括支持组合分析和双向溯因推理。
相关链接:
|