加载失败
这篇讨论围绕 NTSYNC(Linux 内核里给 Wine/Proton 用的 NT 同步驱动)展开,它试图把 Windows 的同步语义更直接地映射到 Linux 上,从而改善 Windows 游戏在 Linux 上的运行表现。评论里还提到更早的相关改动,比如 futex_waitv(Linux 的多等待接口)和 case-insensitive filesystem support,说明 Linux 正在不断补齐 Wine 需要的 Windows 行为。Valve 的 Proton(Steam 的 Windows 游戏兼容层)和 Steam Deck(Valve 的 Linux 掌机)把这种兼容性推向了主流用户,而 Bazzite、SteamOS 等发行版进一步降低了上手门槛。讨论同时暴露出两个长期痛点:一是性能是否真的比 Windows 更好,二是很多竞技网游依赖 kernel-level anti-cheat,仍然把 Linux 用户挡在门外。
有人拿早年 CTOS(一个早期 x86 操作系统)举例,讲它如何通过加 traps 直接跑 DOS 程序,说明“为兼容旧软件把系统能力往内核里塞”并不是新鲜事。评论里顺带解释了 traps、INT、exceptions、syscalls 之间的关系,强调不同架构只是入口名字不同,本质都是让用户态请求进入特权态。还有人补充了 CTOS 的内核语言、开发口令和政府市场背景,把这场讨论拉回到操作系统史的老问题:兼容性到底该在哪一层解决。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9]
不少评论认为文章标题有点夸张,NTSYNC 更像是在把 Windows 的同步语义做得更“正确”,而不一定是单纯更快。讨论重点集中在 /dev/ntsync、Win32 events、semaphores、mutex、WaitForMultipleObjects 以及 futex_waitv 这些机制上,说明 Linux 正在为 Wine/Proton 补上长期缺失的同步原语。也有人指出,Linux 之前为了 Wine 其实已经做过类似的事,比如多事件等待和 case-insensitive filesystem,只是这次更系统化了。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]
大量评论都在讲“现在真的能玩了”:Steam Deck、SteamOS、Bazzite、Lutris、Proton 让很多人能直接点 Play,而不用再像以前那样折腾。单机游戏、老游戏、乃至部分联机游戏的体验被反复称赞,连 mod 工具和 Windows 版小工具在 Proton 下跑起来也让人觉得很荒诞但很实用。与此同时,大家也承认仍有几个钉子户问题,比如 EA FC、PUBG、Halo Infinite、Battle.net 之类的账号或启动器,以及一些必须依赖 Windows 的 mod 管理器。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14]
争论最激烈的其实不是“能不能跑”,而是“到底快多少、快在什么地方”。有人要求同硬件的 Windows 11 vs Linux 对比,最好连 frametime、input latency、1% low 都给出来,因为单看 FPS 可能会掩盖抖动和延迟问题。另一派则认为 5% 到 10% 的差距根本不是决定性因素,真正关键的是是否能稳定玩,以及是否落在 60fps、格斗游戏或高刷竞技的敏感阈值上。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15]
硬件选择上,AMD 基本被当成 Linux gaming 的默认推荐,因为 amdgpu 和 RADV 更像系统的一部分,省掉了很多驱动版本和闭源黑盒的麻烦。Nvidia 也被承认“能用”,但评论里不断提到 Wayland、X11、HDR、睡眠唤醒、旧卡支持和偶发崩溃等细节问题,说明体验更依赖具体驱动和卡代。发行版方面,Bazzite、SteamOS、CachyOS、Garuda、Fedora、Ubuntu、Pop!_OS 都有人报喜报忧,整体结论是:越偏游戏向、越接近预配置,越容易获得“开箱即玩”。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15] [来源16] [来源17] [来源18]
很多人都把 anti-cheat 视为 Linux gaming 最大的现实障碍,尤其是 kernel-level anti-cheat、BattleEye、EAC、EA Anticheat、PunkBuster 这些会直接把平台挡在门外的方案。反对者认为这类东西本质上像 rootkit,问题不只是隐私和权限,而是它们把 Linux/SteamOS 直接排除掉了。支持者则强调作弊军备竞赛已经升级到 hypervisor、DMA card、AI 输入模拟这些层面,单靠服务端 heuristics 很难彻底解决,于是有人主张把“有反作弊”和“无反作弊”直接分成不同 lobby。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15] [来源16] [来源17] [来源18] [来源19] [来源20]
不少评论把这波变化看成 Windows 作为游戏平台垄断地位的松动,而不是 Linux 单方面“赢了”。微软被认为越来越重视 Azure、Office、订阅和 Game Pass,而不是传统桌面 OS 本身;如果游戏已经能通过 Proton 运行,Windows 的锁定价值就会下降。Steam Deck、SteamOS 和 Linux 玩家群体被视为慢慢削弱这个护城河的力量,但也有人提醒,Windows 依然有巨大装机量和开发者惯性,不会一下子退场。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15] [来源16] [来源17] [来源18] [来源19] [来源20] [来源21] [来源22]
NTSYNC: Linux 内核中的 NT 同步对象驱动,为 Wine/Proton 提供更接近 Windows 的同步行为。
Proton: Valve 为 Steam 游戏维护的 Windows 兼容层,基于 Wine 并加入大量游戏补丁。
Wine: 在 Unix-like 系统上运行 Windows 程序的兼容层,不是模拟器。
WaitForMultipleObjects: Windows 的同步 API,可同时等待多个事件、mutex 或 semaphore。
futex_waitv: Linux 的扩展接口,允许一次等待多个 futex,是多事件等待能力的一部分。
kernel-level anti-cheat: 运行在内核态的反作弊方案,权限很高,但侵入性和争议也很大。