是的,predict_app直接加载那个…
在 Linux 桌面上想要运行 Windows 游戏或软件,往往会听到两个名字:Proton 与 Wine。它们都声称能够把 Windows 的二进制文件搬进 Linux 的世界,却各自走着不同的技术路线和生态路径。
Wine 通过实现 Win32、Win64 的用户空间 DLL(如 kernel32.dll、user32.dll),在运行时拦截并转化为 Linux 的系统调用。Proton 采用同样的 DLL,但在图形层面强制使用 Vulkan 后端,几乎所有 DirectX 9/10/11 调用都会被 DXVK 或 vkd3d 劫持。
Wine 默认在用户目录下创建 ~/.wine,模拟完整的 C: 盘符结构。Proton 则在每个 Steam 游戏的 “pfx” 目录里生成独立的前置环境,避免不同游戏之间的 DLL 冲突。
运行 Wine 程序时,常见的指令是 wine program.exe,可以自行指定前置目录。Proton 则通过 Steam 的 “使用特定 Proton 版本” 选项自动注入,玩家几乎不需要手动操作。
| 项目 | Proton | Wine |
|---|---|---|
| 图形翻译 | 默认使用 DXVK/vkd3d,Vulkan 性能接近原生 DirectX | 需要自行安装 DXVK,默认基于 OpenGL,性能略低 |
| 音频处理 | 内置 FAudio,实现低延迟 | 依赖 Wine 自带的 ALSA/PulseAudio 转换,效果不一 |
| 更新频率 | Valve 每月同步更新,针对 Steam 游戏做专项修复 | Wine 社区每两周发布一次,覆盖面更广但针对性弱 |
| 官方文档 | 以 Steam 社区为主,教程集中在 Steam Play 页面 | 官方 Wiki 完整,覆盖桌面软件与服务器场景 |
从表格可以看出,Proton 在游戏场景下的图形与音频优化更为激进,而 Wine 则在通用 Windows 软件兼容性上更为全面。
winetricks、dxvk,可以更细粒度地控制 DLL 覆盖与注册表。WINEPREFIX。Proton 与 Wine 并不是竞争对手,而是同一条技术链上的不同节点。Proton 将 Wine 的通用兼容层包装进了 Steam 的交付体系,专注于游戏性能与一键体验;Wine 则保持了更开放的接口,适合需要深度定制的桌面软件。了解它们的实现细节后,选择合适的工具就不再是盲目的“装个兼容层”,而是对症下药的技术决策。或许,等到下次更新时,又会有新的惊喜。
参与讨论
用了好几年Wine,Proton倒是没试过,游戏直接双系统了😂
之前搞过Wine配置,折腾半天,Proton真的一键搞定?
这个per‑game环境设计挺聪明,省得互相污染
那要是想跑个老游戏,Proton支持得咋样?
看下来感觉Proton就是给懒人准备的,Wine适合折腾党
我还在用Wine跑办公软件,Proton只针对游戏吧?
又是技术科普,直接说哪个更省心不就完了🤔