以往如果說想用 Mac 玩 Windows 遊戲的話,可能會引來旁人同情關懷智障的眼光,但是在開源社區的努力下,現在體驗真的追上 Steam Deck 了。NotProton 把 Linux Steam 的 Steam Play 直接種進 macOS 版 Steam 用戶端:安裝完只要點一下,Windows 遊戲就從遊戲庫裡一鍵開跑,沒有 CrossOver 視窗、不用再開第二個 Windows 版 Steam,就像 Steam Deck 上那種「按下去就玩」的體驗。
MacOS 玩遊戲又更進一步!NotProton 讓 Mac 變身 Steam Deck
其實 macOS 版 Steam 內建了 Steam Play 的程式碼,只是處於休眠狀態,Valve 從來沒把它打開;NotProton 一方面強制喚醒這段沉睡的功能,另一方面把 Valve Proton 的部分元件移植到 macOS:核心邏輯放 dylib,lsteamclient 是 Valve 同名元件的 macOS 移植版,steam-shim 源自 Proton 的 steam-helper,最後用 ntdll-patch 把複製到本機的 CrossOver 改到願意載入 lsteamclien。執行引擎仍然是 CrossOver,NotProton 把它掛成 Steam 的相容層工具,等於把 Proton 在 Linux 的角色搬到 Mac 上演一遍。這段休眠程式碼的來源不難理解,Steam 用戶端本來就跨平台共用一套程式碼,Linux 版有的 Steam Play 邏輯在 Mac 版裡原封不動地留著,只是沒有開關打開它。
版本條件鎖得挺死,想嘗鮮得照表操課:Steam 用戶端要穩定版 1788652215 或 beta 版 1791686101,CrossOver 要 26.3 或 Preview 的 20261006/2026082,FEX 與 Rosetta 兩種建置都支援,作者推薦 Preview 20261006 的 FEX 版當預設、個別遊戲再切 FEX。安裝走 GitHub 下載(73MB)或 Homebrew 指令一鍵裝,打開 App 按 Install、挑一個 CrossOver 版本按下 Set up,中途給它 App 管理權限就完成了。
遊戲管理比想像中細膩。每個遊戲住在自己的 prefix 裡,有獨立的 Windows C 槽,Windows DLL、設定檔一應俱全,跟 Linux 玩家熟悉的 Proton 架構同一套思維,跟 CrossOver 的 bottle 各管各的,遊戲之間互不干擾。想重置某款遊戲的畫面設定,直接進它的 C 槽把組態檔砍掉就好,跟清 AppData 一樣直覺。逐遊戲的相容性選項都在 Steam 內建的內容選單裡:圖形層可以在 D3D Metal、DXMT、DXVK、WineD3D 之間挑,還能幫個別遊戲指定不同 CrossOver 版本,實測玩家就拿《控制》當例子,D3D Metal 4.0 有 bug 就退回 CrossOver 26.3 用 D3D Metal 3 跑。遊戲同時有 Mac 原生版時,Steam 預設抓原生版,要到相容性勾「強制使用指定 Steam Play 工具」才會下載 Windows 版。
想了解 NotProton 表現的朋友可以參考這部影片的測試心得:
當然它也不是萬能的,限制也得講清楚:第一條就是反作弊:VAC 遊戲(CS2 這類)不支援,開起來只會進 Insecure Mode、排不到對戰,Proton 在 Linux 也一樣不支援 VAC,Valve 的做法是給自家遊戲出 Linux 原生版。第二,目前沒有官方遊戲相容清單,哪些遊戲跑得順得自己試,雙人合作遊戲接兩支手把的問題也還掛在 Issues 上等修(編號 147),早期工具的日常就是如此。第三,這是徹底的非官方路線:它動的是 Steam 用戶端內部,加上 patch 過的 CrossOver 複製本體,Steam 或 CrossOver 一改版就可能全掛;授權面也只保護 NotProton 自己的程式碼(GPL-3.0),被它改過的 CrossOver 副本遊走在灰色地帶。
GitHub – NotProton
那問題來了,Wine 本來就免費開源,拿 Wine、Whisky 這類免費貨來代替付費的 CrossOver 不就得了?開發者在 GitHub Issues 第 37 號親自給了答案:目前不行,而且是刻意的。他引用 Whisky 作者 Isaac Marovitz 停更時的公開信,說自己「不想拿得多、給得少」,更不想傷害 CodeWeavers,「Wine 在 macOS 能存在,CodeWeavers 是唯一的原因」,別忘了 CrossOver 就是 Wine 的商業版,CodeWeavers 同時是 Wine 開源專案最主要的維護者,這家公司成立的目的就是養 Wine 開發,跟一般抽資源的公司不一樣。(簡單說就是支持 CrossOver 付費版)
回頭看整個脈絡,這是一場遲到多年的補課。Valve 在 Proton beta 之後就放棄維護 macOS 的 Steam Play,時間點甚至在 Apple Silicon 出現之前;Mac Steam 裡的 Steam Play 程式碼根本是現成的,Valve 要官方支援只差臨門一腳。NotProton 的作者在 README 裡向先行者致謝:做 Kaon 的 Nat Brown、做 Neutron 的 mont127,以及比他更早實驗 Steam Play 的 Gio。同一個作者還順手修好了《Minecraft Dungeons 2》在 Apple Silicon 上的連線多人,實測影片裡連配對對戰都能玩。
過去在 Mac 玩 Windows 遊戲的日常是開著 CrossOver 裡的 Windows Steam 雙開跑 Game,好友、成就、雲端存檔各在一國;NotProton 把這些收回單一窗口,Steamworks 透過 lsteamclient 直連 Mac Steam,遊戲體驗越來越好。這一步遲了快十年,現在看來似乎真的快實現了。











