Linux 也要玩 Galgame!我把 Kirikiroid2 引擎移植到了 Linux 桌面
:::info[AIGC 披露]{open} 项目源码由 Claude Opus 5.5、GPT-6 Astra 和 GPT-6.1 Sol 编写。
| 本文部分内容使用 Gemini 3.1 Pro 润色。 |
|---|
项目链接 | 下载链接
前几年,为了能在手机上玩 Galgame,我了解到了 Kirikiroid2 这个项目。要知道,吉里吉里(KiriKiri2 / KiriKiriZ)引擎原本是完全绑定 Windows 平台的。原作者能打破 Windows 的限制、把它搬到 Android 上,我非常佩服 TA 的技术力。
后来我就在想:既然同为 Linux 内核的 Android 平台都已经能顺畅运行了,为什么 Linux 桌面端还要依赖 Wine(适用于 Linux 的 Windows 软件兼容层)呢?
既然没有现成的,不如自己动手。考虑到当今发达的 AI 技术,我(和 AI)把它原生移植到了 Linux 桌面端,这便是 Kirikinux2。
什么是 Kirikinux2?
Kirikinux2 是一个运行在 Linux 桌面上的吉里吉里(krkr)游戏播放器。
它基于 Kirikiroid2 的引擎代码、TJS2 脚本引擎、界面以及音视频架构移植而来。它的核心目标为:脱离 Wine,在 Linux 上直接打开 XP3 封包或游戏目录,实现原生、流畅、开箱即用的 Galgame 体验。
移植
这个项目主要是底层的移植与适配。
- 跨平台组件重构:重写了 Linux 平台层,处理了 Cocos2d-x 3.17.2 和 FFmpeg 的底层依赖与私有构建,确保在主流 Linux 发行版上都能稳定渲染音视频。
- 常用插件移植:Kirikiroid2 并没有开源这一部分插件的源码;因此继承并移植了来自 KrKr2 模拟器 的各种扩展插件(如
psbfile、motionplayer、KAGParserEx、layerExDraw等),确保用了特殊插件的游戏也能顺利加载。 - 桌面原生交互重构:将原本针对触摸屏的交互,改造为适应桌面鼠标/键盘的操作逻辑。支持窗口自由缩放、滚轮滑动,并整合了原生 GTK 对话框和系统字体选择器。
经过这一套移植,可以换来「双击即玩」的桌面原生体验。
核心功能特性
- 原生运行,免 Wine:支持直接读取 XP3 封包或散文件目录,无论是文本脚本还是编译后的 TJS2 字节码均可顺畅运行。
- 开箱即用的 CJK 字体:随包附带了 Noto Sans CJK 字体,彻底告别 Wine 常见的乱码、缺字体或排版错乱问题。支持简体中文、繁体中文、日文和英文界面。
- 多格式打包发布:提供 AppImage 和 .deb 两种包格式,自带运行库(只依赖系统的
glibc和显卡驱动)。 - 补丁库兼容:完全兼容 Kirikiroid2 的上游补丁库(Patch)。如果遇到特殊游戏,把补丁放进游戏目录即可。
快速上手
1. 安装
你可以直接在项目的 Releases 页面下载编译好的安装包:
- AppImage(适合绝大多数发行版):
chmod +x kirikinux2-x86_64.AppImage ./kirikinux2-x86_64.AppImage
(如果系统未安装 FUSE,可带上 --appimage-extract-and-run 参数)
- .deb(适合 Debian / Ubuntu / Mint 等):
sudo apt install ./kirikinux2_<版本>_amd64.deb
2. 启动游戏
- 将游戏解压到一个可写的普通目录下(保留原始资源和补丁)。
- 启动 Kirikinux2,点击首页的 打开游戏。
- 选择游戏的主封包(如
data.xp3)、startup.tjs,或游戏目录即可。 - 运行过的游戏会自动存「最近游戏」列表。
开源协议与致谢
Kirikinux2 是站在许多优秀开源项目肩膀上的产物,代码主要分为三部分并各自保留原有许可:
- Kirikiroid2 继承部分:继承原作者 zeas2 的核心引擎、TJS2 及界面逻辑,遵循吉里吉里许可及原有声明。
- KrKr2 模拟器移植插件:继承 BSD 风格许可。
- Kirikinux2 自研代码:Linux 平台层、桌面 UI、字体选择器及适配构建脚本,采用 AGPL-3.0-only 许可。
感谢 Kirikiroid2、吉里吉里2/Z 等社区前人的卓越贡献!
结语
项目目前已在 GitHub 开源:Comet387/Kirikinux2,欢迎下载体验!
如果使用中遇到崩溃或脚本报错,欢迎在 GitHub Issues 中提交反馈(崩溃日志会自动保存在 ~/.local/share/kirikinux/crash.log)。
欢迎大家试用、点个 Star,或者提出你的宝贵建议!