Wine
开源的Windows API兼容层,通过将Windows API调用翻译成macOS/Linux原生调用来运行Windows程序,非虚拟机方案,性能损耗相对较低
核心事实
时间轴 (近 90 天)
Bottles是Wine的图形化前端,通过创建隔离的“瓶子”环境来管理不同应用的依赖和配置,简化Windows应用在Linux上的安装流程。
OpenBSD 上缺乏成熟的 Linux 兼容层,这使得 Wine 的移植更多依赖用户态适配而非内核支持,这也是该工作技术难度的来源之一。
移植工作已经提交了补丁,但尚未合并到官方 ports 树。
Wine 的某些功能(如 DirectX 加速)在 OpenBSD 上可能受到限制,但基础 Win32 应用有望运行。
这次移植并非官方支持,而是社区驱动的实验性工作。
将 Wine 移植到 OpenBSD 需要解决 OpenBSD 特有的安全机制(如 W^X 和 pledge/unveil)与 Wine 运行时需求的冲突。
OpenBSD 邮件列表上出现了一条关于 Wine 移植到 OpenBSD 的讨论,并在 Hacker News 上引发了 251 点热度、58 条评论的关注。
Wine、Samba等项目都历经十余年的社区协作才达到可生产使用的成熟度
Wine(Wine Is Not an Emulator)诞生于1993年,是一套将 Windows API 调用重新实现为 POSIX 兼容调用的兼容层,而非虚拟机或模拟器
Valve 基于 Wine 开发的 Proton 集成了 DXVK(DirectX 到 Vulkan 的转译层)等组件,是 Steam Deck 的核心技术基础
还有 17 条时间轴事件
全部知识事实 (20)
Proton 是 Valve 基于 Wine 项目深度定制的兼容工具,用于在 Linux 上运行 Windows 游戏
70%已验证Wine是一个开源兼容层项目,通过将Windows API调用动态翻译为POSIX调用使Windows程序能在Linux、macOS等系统运行
70%已验证Wine 通过在 Linux 内核之上重新实现 Windows API 调用来工作,而非模拟器或虚拟机,应用代码直接在宿主 CPU 上执行
65%已验证Proton是Valve基于Wine项目深度定制的兼容工具,集成了DXVK、VKD3D-Proton以及Steam Linux Runtime容器环境
65%待验证Bottles是Wine的图形化前端,通过创建隔离的“瓶子”环境来管理不同应用的依赖和配置,简化Windows应用在Linux上的安装流程。
50%待验证移植工作已经提交了补丁,但尚未合并到官方 ports 树。
50%待验证将 Wine 移植到 OpenBSD 需要解决 OpenBSD 特有的安全机制(如 W^X 和 pledge/unveil)与 Wine 运行时需求的冲突。
50%待验证这次移植并非官方支持,而是社区驱动的实验性工作。
50%待验证OpenBSD 上缺乏成熟的 Linux 兼容层,这使得 Wine 的移植更多依赖用户态适配而非内核支持,这也是该工作技术难度的来源之一。
50%待验证Wine、Samba等项目都历经十余年的社区协作才达到可生产使用的成熟度
50%待验证Valve 基于 Wine 开发的 Proton 集成了 DXVK(DirectX 到 Vulkan 的转译层)等组件,是 Steam Deck 的核心技术基础
50%待验证Wine(Wine Is Not an Emulator)诞生于1993年,是一套将 Windows API 调用重新实现为 POSIX 兼容调用的兼容层,而非虚拟机或模拟器
50%待验证重实现在开源社区有先例,如 Wine 对 Windows API 的重实现、Mesa 对 OpenGL/Vulkan 驱动的开源实现;法律上重实现本身通常被认为合法,只要未直接复制受版权保护的代码或二进制权重
50%待验证Wine通过将Windows API调用翻译成macOS/Linux等系统的原生调用来运行Windows程序,本质上不是模拟器而是API映射层
50%待验证过去在Mac上运行Windows游戏通常需要依赖CrossOver、Wine或Game Porting Toolkit,配置门槛高、稳定性参差不齐
50%待验证CrossOver是CodeWeavers公司在Wine基础上开发的商业产品,年费约为18-30美元
50%待验证内核级反作弊程序在操作系统最底层以最高权限运行,与Linux的安全模型冲突,Wine和Proton无法为其提供所需的特权访问
50%待验证Wine 是用户态兼容层方案,在用户空间重新实现 Windows API,不涉及对 Linux 内核的修改
50%待验证ReactOS 的用户态组件(如 user32.dll、kernel32.dll、gdi32.dll)大量复用了 Wine 项目的代码
50%待验证ReactOS 的二进制兼容目标比 Wine 项目更为激进,因为它还需实现完整的 NT 内核接口以及兼容 Windows 的驱动模型(WDM/KMDF)
50%