Skip to content

LankeOS v0.13

Choose a tag to compare

@Wtada233 Wtada233 released this 08 Jul 06:19

LankeOS v0.13 Release

Codename: Namchabarwa

“What linux distribution do you use? BTW, I use Arch”

“I use LankeOS.”


核心变更 (Major Changes)

软件生态的补齐

本版本让LankeOS完全具备我个人开发需要的所有常规程序

  • 完善实用程序列表:构建mpv播放器,qemu虚拟机等常用工具
  • 完善娱乐程序列表:构建noctalia shell用于bar,通知等核心桌面功能并加入btop

这次构建顺便送了一套我调好的niri dotfiles,感觉还不错:D

在虚拟机和实体机均完美运行niri和这套配置!(另外,目前虚拟机第一次初始化noctalia shell似乎会失败,我也不知道是竟态还是啥问题,总之我弄了个脚本自动在第一次启动的时候kill掉进程并重新启动,所以理论上现在一切正常)


early init重构

  • 重构 之前版本的init一直不能检测跨版本替换rootfs.sfs导致的可能状态不一致,从0.12开始(在0.13开发过程中已经把这个提前完成的功能backport到了0.12的最后一个release)已经有官方的恢复功能可用,如果检测到lanke-release版本不一致,比如lower是0.13,upper是0.12,则能自动进入live环境,挂载DATA分区并提供恢复指引。

  • 修复 之前的emergency shell能使用的命令太少,这次直接使用软链接提供了所有busybox subcommands的快捷形式

mesa 构建参数调整

  • 修复 之前的mesa构建中没有开启virgl驱动,导致在虚拟机中niri等启动失败,这次重新构建mesa开启了支持

niri 上游源码问题修复

  • 修复 我vibe coding了一个patch,解决niri过于挑剔环境的问题,现在LankeOS的niri支持软渲染和自动fallback而不是强制要求3D硬件加速。

镜像体积变化

ISO体积达到了 1.24GiB。

没事不亏。毕竟我往live里塞了一整套开发环境,现在其实LankeOS已经能在比ArchISO还小的iso里(ArchISO目前1.5GiB+)提供完成我日常所有开发工作的工具链了。


稳定性与兼容性

本版本经过在 Dell OptiPlex 5000 Micro(实体机) 上的严格验证:

  • 基础工具链保持正常
  • 开发环境添加Qemu,集成xwayland-satellite,niri可直接跑glxgears,原wayland无功能退化
  • 新增的mpv解码正常
  • 所有因mesa重建而依赖树出现问题导致需要重新构建的程序均通过构建且能正确使用

下一步计划 (Roadmap)

  • 完善蓝牙协议栈(BlueZ + PipeWire 桥接)(别看这个挂了这么久,其实内核一边已经打通了,目前dmesg已经能看到蓝牙正确识别了)

开发者的话

0.13 的主题是 “即插即用的开发体验”

在我意识到之前的固件精简得连nvidia都没有之后,为了便利的开发体验,我只好把firmware改为黑名单精简而不是白名单,保留了现代大多数固件,

虽然导致live膨胀(大约到了1G+)但是也带来了巨大的体验提升。当然,只有驱动还是不够的,所以我又构建了一堆我常用的软件,现在LankeOS的包规模接近300个了。

新增的软件有:btop(top替代),mpv播放器,qemu虚拟机,noctalia桌面shell(我懒得移植通知daemon了,直接用现成的了),fish(懒人必备shell),starship(em.终端美化是必不可少的)甚至还有个jetbrains的nerd font以及一堆lib。

总体下来我觉得我可以连续用三天LankeOS不遇到功能缺失了,正好这几天我在重装arch(被之前的恶意AUR包影响到了,还好重要数据我迁移了)准备把所有数据迁移到LankeOS,包括我的ssh key,浏览器数据等。正好边使用边debug吧:D

—— Wtada233

7月10日更新 添加了vmware的硬件和svga支持

7月14日更新

  • 底层重构,彻底重写 lpkg 的原子事务机制(成功消耗价值10元的token),实现事务日志功能,重写事务回滚机制。
  • 修复 lpkg 的部分bug。
  • lpkg 的测试增加到400+个,同时把lpkg更新到5.2.2的REL3(得益于 lpkg 的全新机制,现在已经有release功能,可以保持软件上游版本号的同时注明release)
  • 添加脚本:LankeOS World Rebuild Helper,支持半自动自举(BTW,这就是0.14 "K2" 的主题:完整轻松自举)