大家好!
我是Arch Linux for Loong64社区的维护者。在此,我向大家汇报过去两周(从 2025年10月26日 至 2025年11月8日)Arch Linux for Loong64发行版的开发进展。这段时间,社区成员们积极贡献,我们不仅迎来了大量软件包的日常更新,更在关键组件的龙架构兼容性方面取得了显著突破,并成功将多项补丁贡献或合并至上游。
I. 对其他龙架构开发者和上游开发者的重要更新
以下是我们认为对其他龙架构发行版和上游开发者具有参考价值的重点开发信息:
A. 核心组件与新平台支持
Haskell GHC 生态系统全面支持 (Comprehensive Haskell GHC Ecosystem Support)
- 成功自举了 Haskell 生态系统,并提供了方法可以供参考。
- GHC (Glasgow Haskell Compiler): 我们为 GHC 9.6.6 增加了重要的龙架构支持补丁,包括:
- 强制使用 LLVM18 后端并适配 GHC 对 LLVM 18 新的 pass manager。这对龙架构至关重要,因为上游 GHC 9.6 仅支持到 LLVM15,而 LLVM15 并不包含龙架构后端。
- 在所有平台启用 GHCi (Haskell 交互式环境)。
- 修复了动态架构检测,将
$CARCH 替换为 $(uname -m),增强兼容性。
- 对其他开发者意义:这些是使 Haskell 语言在龙架构上可用和高效运行的基础性工作,对所有希望在龙架构上支持 Haskell 的发行版和上游 GHC 开发者提供了宝贵的经验和补丁集。特别是 LLVM 后端的适配和 GHCi 的启用,解决了上游 GHC 在 LoongArch 支持上的关键限制。
- 贡献者:(by wszqkzqk)
- 相关提交: PR #757
- 参考上游 Debian 补丁:
- 相关 Haskell 包: 为了构建 GHC,我们还对多个核心 Haskell 库和工具链进行了适配:
- haskell-hadrian: 添加
hadrian-enable-interpreter.patch 以在龙架构平台普遍启用 GHCi。
- haskell-tasty: 针对
loongarch64 平台移除了对 unbounded-delays 的依赖。
- haskell-primitive-unaligned: 在
primitive-unaligned.cabal 中增加了 loong64 支持。
- haskell-cryptonite: 在
loong64 上禁用了 SSE 指令集。
- clash-ghc: 移除了对不存在的
Opt_LlvmTBAA 标志的引用。
Linux 内核 LoongArch64 架构优化
- 常规版 (
linux) 和 Zen 版 (linux-zen) 内核更新: 引入了由 Xi Ruoyao 贡献的关键补丁,用于修复 objtool 在处理 -fno-isolate-erroneous-paths-dereference 编译选项时导致的问题。此选项在 LoongArch 中用于解决 objtool 兼容性,但意外传递给 bindgen (Rust 工具) 导致 Clang 报错。该补丁通过将此 cflag 添加到 bindgen_skip_c_flags 来解决。
- 对其他开发者意义:这是一个针对 LoongArch 上使用 Rust 开发内核模块(或任何需要
bindgen 与 Clang 交互的场景)的特定编译问题,对所有龙架构内核开发者具有重要参考价值。
- 贡献者:(by Pluto Yang, original patch by Xi Ruoyao)
- 相关提交:
- 上游补丁链接: [PATCH] rust: Add -fno-isolate-erroneous-paths-dereference to bindgen_skip_c_flags (Message-ID:
<20251015022037.14535-2-xry111@xry111.site>)
Mesa 图形驱动 LLVM 后端支持更新
- mesa, ver=1:25.2.6-1: 回传了一个关键补丁,以支持 Mesa 使用 LLVM21 后端。
- 对其他开发者意义:Mesa 是 Linux 图形栈的核心组件,其对新 LLVM 版本的适配对于龙架构的图形性能和兼容性至关重要。这表明我们的图形驱动栈正在与上游工具链保持同步,对其他发行版和上游开发者在 LoongArch 上的图形开发提供了重要参考。
- 贡献者:(by Pluto Yang)
- 相关提交: commit 8a2acfe
OpenUCX 龙架构支持更新与测试
- openucx: 将原始的龙架构支持补丁重新基准到上游 1.19+ 代码库。维护者在 3A5000 开发板上进行了本地和网络延迟性能测试,并附带了测试结果截图,验证了其功能和性能。
- 对其他开发者意义:OpenUCX 对 HPC 至关重要,此更新提供了在龙架构上实现高性能计算和优化的重要参考,包括详细的测试方法和初步结果。
- 贡献者:(by wheatfox)
- 相关提交: PR #779
memtest86+ 龙架构支持
- memtest86+: 添加补丁,支持
memtest86+ 在龙架构上运行。值得注意的是,memtest86+ 自 7.20 版本开始已原生支持 loongarch64。
- 对其他开发者意义:
memtest86+ 是一个重要的系统诊断工具,其在龙架构上的可用性对于硬件验证和故障排除非常有价值。
- 贡献者:(by Pluto Yang)
- 相关提交: commit ebbf6bb
Node.js 持续优化
- nodejs, ver=25.0.0-1:
- 上游已包含
v8-use-a-zone-to-track-unresolved-branches.patch,我们的本地补丁得以移除。
- 修复了
builtins-loong64.cc 中未同步使用 CODE_TYPE 而非 CODETYPE 的问题。
- 禁用了少量低风险的失败测试。
- 对其他开发者意义:V8 引擎和 Node.js 是现代 Web 技术栈的核心,这些持续的兼容性修复和上游合并,表明龙架构在 Web 开发领域的基础设施正在逐步完善。
- 贡献者:(by wszqkzqk)
- 相关提交: PR #767
B. 上游整合与龙架构特定补丁移除
令人振奋的是,过去两周我们成功移除了多达 20 个软件包的龙架构特定补丁。这通常意味着这些软件包的上游项目已经原生支持了龙架构,或者其依赖的工具链(例如构建文档所依赖的 pandoc 等)已在龙架构上完善,不再需要我们的本地修改或者禁用功能。这标志着龙架构生态系统成熟度的进一步提升。
移除的补丁列表:
- gocryptfs, ver=2.6.1-1.1: 删除了
gocryptfs/loong.patch,因为 pandoc 已准备就绪。
- mkinitcpio, ver=40-1: 移除了已合并的上游补丁。同时,解决了在构建 initramfs 时因
drm_privacy_screen_register 引入的警告。
- ripgrep-all, ver=0.10.9-1.1: 删除了
ripgrep-all/loong.patch,因为 pandoc 已准备就绪。
- notcurses, ver=3.0.16-2.1: 删除了
notcurses/loong.patch。
- cppcheck, ver=2.18.3-1.1: 删除了
cppcheck/loong.patch。
- rdma-core, ver=60.0-2.1: 删除了
rdma-core/loong.patch。
- nuspell, ver=5.1.6-2.1: 删除了
nuspell/loong.patch。
- xmms2, ver=0.9.6-1: 上游项目修复了
libdir 相关问题,删除了 xmms2/loong.patch。
- netplan, ver=1.1.2-1.1: 删除了
netplan/loong.patch。
- kwin, ver=6.5.0-2: 上游项目修复了
kdoctools 相关问题,删除了 kwin/loong.patch。
- rofi, ver=2.0.0-1: 删除了
rofi/loong.patch。
- libavif, ver=1.3.0-3.1: 删除了
libavif/loong.patch。
- conky, ver=1.22.2-1.1: 删除了
conky/loong.patch。
- gssdp, ver=1.6.4-1.1: 删除了
gssdp/loong.patch。
- mkosi, ver=25.3-4.1: 删除了
mkosi/loong.patch。
- flac, ver=1.5.0-1.1: 删除了
flac/loong.patch。
- bup, ver=0.33.9-1.1: 删除了
bup/loong.patch。
- python-pypandoc, ver=1.15-1.1: 删除了
python-pypandoc/loong.patch。
- nodejs-lts-jod, ver=22.21.0-1: 所有测试通过,删除了
nodejs-lts-jod/loong.patch。
- fwupd, ver=2.0.16-2.1: 移除了
fwupd/loong.patch,因为 pandoc 已准备就绪。
C. 其他重要补丁维护
- python-pytorch, ver=2.9.0-4: 修复了陈旧的补丁,确保 PyTorch 在龙架构上的稳定运行。
- arrow, ver=22.0.0-2: 修复了陈旧的补丁。
- rust, ver=1:1.91.0-1: 修复了陈旧的补丁,确保 Rust 工具链的兼容性。
- chromium, ver=142.0.7444.59-1: 将现有补丁重新基准到 Chromium 142 版本,以保持龙架构支持。
- java11-openjdk, ver=11.0.29.u7-1; java21-openjdk, ver=21.0.9.u10-1; java8-openjdk, ver=8.472.u08-1: 为新版本刷新了 Java OpenJDK 的补丁,并启用了
pandoc 文档生成。
- openmpi, ver=5.0.8-5: 重新启用了
openucx 支持。
- postgresql, ver=18.0-1: 修复了陈旧补丁中的错误。
- db, ver=6.2.32-3: 修复了陈旧补丁。
- ocaml, ver=5.4.0-1: 使用了来自龙芯仓库的补丁,改进 OCaml 在龙架构上的支持。
- ocaml-num, ver=1.6-1: 增加了
ocaml-compiler-libs 到 makedepends 中,确保构建依赖的完整性。
II. 对 Arch Linux for Loong64 用户的值得关注的重要升级
以下是过去两周内,我们仓库中更新的、对用户体验和系统功能有显著影响的重要软件包升级:
A. 核心系统与桌面环境
- Linux 内核:
linux 升级到 6.17.7.arch1-1
linux-zen 升级到 6.17.7.zen1-1
linux-lts 升级到 6.12.57-1
linux-4k 升级到 6.12.57-1
- 这些更新带来了最新的硬件支持、安全修复和性能改进。
- KDE Plasma:
plasma-meta 升级到 6.5-1,大量 KDE Plasma 相关的软件包(如 kwin, plasma-workspace, systemsettings, discover, bluedevil, breeze 等)均已升级至 6.5.1-1 或更高版本。这意味着桌面环境将获得大量新功能、视觉改进和稳定性提升。
- Xorg 显示服务器:
xorg-server 升级到 21.1.20-1。
xorg-xwayland 升级到 24.1.9-1。
- 提供了对显示系统最新的兼容性和性能支持。
- 图形驱动:
mesa 升级到 1:25.2.6-1,带来了最新的图形性能优化和硬件兼容性,并特别加入了对 LLVM21 后端的支持。这是龙架构图形栈向前迈出的重要一步,将为未来的图形应用和游戏提供更好的底层支持。
B. 浏览器与运行时
- Chromium: 升级到 142.0.7444.59-1。作为主流浏览器,新版本通常包含重要的安全更新、性能改进和新功能。
- Firefox: 升级到 144.0.2-1。同样是关键的安全和功能更新。
- Node.js:
nodejs 升级到 25.1.0-3。
nodejs-lts-jod 升级到 22.21.1-1。
nodejs-lts-iron 升级到 20.19.5-2。
- 对使用 JavaScript 和 Node.js 进行开发的用户至关重要。
- OpenJDK:
jdk8-openjdk 升级到 8.472.u08-1。
jdk11-openjdk 升级到 11.0.29.u7-1。
jdk21-openjdk 升级到 21.0.9.u10-1。
- 对 Java 开发者和依赖 Java 运行环境的用户来说,这些是重要的安全和功能更新。
- Rust: 升级到 1:1.91.0-1。对 Rust 开发者来说是重要的工具链更新。
- Go: 升级到 2:1.25.4-1。Golang 语言的最新版本。
- GHC: 新增 9.6.6-1,并激活了整个 Haskell 生态系统,对 Haskell 开发者是重大福音。
C. 开发工具与应用
- Git: 升级到 2.51.2-2。版本控制工具的最新稳定版。
- PostgreSQL: 升级到 18.0-1。重要数据库系统的最新主要版本,可能包含新功能和性能优化。
- QEMU: 多个
qemu-* 软件包升级到 10.1.2-2。对虚拟机用户和开发者来说,这意味着更好的兼容性和性能。
- Docker Compose: 升级到 2.40.3-1。容器化应用部署的重要工具。
- Gitea / Forgejo:
gitea 升级到 1.25.1-1,forgejo 升级到 13.0.2-1。自托管 Git 服务端的最新版本。
- memtest86+: 升级到 7.20-2。重要的内存诊断工具,现已原生支持龙架构。
- rust-analyzer: 升级到 20251103-1。Rust 语言服务器的最新版本,提升开发体验。
感谢所有贡献者的辛勤工作,以及用户们的耐心支持和反馈!我们将一如既往地致力于Arch Linux for Loong64的持续发展,提供一个稳定、最新且高性能的龙架构操作系统体验。
如果您有任何疑问、建议或遇到问题,欢迎随时参与讨论。
Arch Linux for Loong64 社区 敬上
北京大学学生Linux俱乐部
2025年11月8日
(由Gemini 2.5 Flash辅助整理)