mirkobrombin/raven
运维与部署在 Linux x86_64 上直接运行 Windows 程序及其安装包,不需要虚拟机和 Wine。
解决什么问题
Linux 用户需要某个 Windows 程序时,通常要么装一台完整的 Windows 虚拟机,要么用 Wine 生态,而后者经常卡在缺 DLL、注册表问题和 .NET 版本不匹配上。Raven 走第三条路:用程序自带的 Windows 安装包装进独立的 prefix,程序代码直接在 Linux CPU 上运行,被关在沙箱里,所有系统调用由 Raven 代为应答。
有什么不同
Wine 在进程内把 Windows API 翻译成 POSIX 调用,缺口靠 winetricks 和 DLL override 让用户自己补。Raven 的模型是自己扮演 Windows 内核和服务,即使安装程序覆盖了 kernel32、user32,仍然由 Raven 自己的系统库接管。它重点解决的是安装器和运行时:NSIS、Inno Setup、带自定义动作和回滚的 MSI,Visual C++ 2005–2022,.NET Framework 3.5 与 4.8,DirectX 可再发行包以及 side-by-side 程序集。图形走 Wayland 和 Vulkan,经 DXVK 与 vkd3d-proton,支持到 D3D12 光线追踪。README 还给出了与 Wine 11.0、Soda 的对比基准,ClassiCube 中位数 71.5 FPS 对两者的 63.0,但这是项目自己的测量,不能当作独立结论。
适合谁
适合需要在 x86_64 Linux 上跑某个特定 Windows 办公或工具软件(Notepad++、7-Zip、Audacity、KeePass)并愿意自己折腾的用户。不适合 ARM Linux、macOS 或 Windows 宿主机;也不适合想要一个稳定 Wine 替代品的人:测试矩阵里只有 Notepad++ 拿到 100%,VLC 启动失败,KeePass 还需要新 prefix 里没有的 .NET 运行时。玩游戏请继续用 Proton,那边验证过的游戏多得多。
上手成本
目前没有二进制发布,只能从源码构建:CMake 3.20+、C++20 编译器、Python 3.11+、MinGW-w64,以及 Wayland、xkbcommon、pixman、FreeType、Vulkan 等桌面依赖。provision 脚本会下载固定版本的 Skia、DXVK 和 vkd3d-proton。每个应用要单独设置 RAVEN_PREFIX。Raven 自身代码是 MIT,但 native/upstream 里的组件保留 GPL、LGPL、BSD、libpng、Unicode 和 Skia 许可,带这些组件的构建也要遵守对应条款。部分测试需要你自备专有安装包,否则会被跳过。
点评
项目基本是全新的:创建当天就被 HotRepo 记录,201 颗星来自单日约 198 的榜单冲量,而不是长期积累。这说明它的架构值得关注、以安装器为切入点的路线确实是对 Wine 模式的一次真实下注,但兼容范围还很小,证据也只有作者自己的测试和跑分。如果你手上正好有个装不上的安装包,可以盯着它;但已经有能用的 Wine 环境,现在还不值得迁过去。
本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。