AnyPS5 於 2026 年 8 月 3 日開源,三個月內累積約 5 萬星,是目前規模最大的 PS5 原生移植專案。它以重新連結器把 PS5 執行檔轉換為 Linux ELF、Windows PE 或 macOS Mach-O,並自行實作對應的系統函式庫,整個流程不啟動模擬器。專案採 GPL-2.0 授權,十月三十日發布 v0.1.4。

AnyPS5 是什麼?
AnyPS5 是開源的 PS5 執行檔轉換工具,把主機程式重新連結成 Linux、Windows 或 macOS 原生執行檔,系統函式庫自行實作,不模擬硬體。
專案的技術核心是一支名為 relinker 的重新連結器,位於 core/relinker。它讀取 PS5 執行檔的匯入表,依照 NID 逐一比對自行實作的函式庫,最後輸出目標系統的動態連結區段,寫成 Linux ELF、Windows PE 或 macOS Mach-O。
另一個組成部分是系統函式庫本身,位於 core/libs/prx。專案把 PS5 的每個系統模組各自編譯成共享函式庫,例如 libkernel、libSceAgc、libSceAudioOut,再由 nid_patcher 把匯出符號改名為對應的 NID,讓載入器可以直接配對。
README 對定位寫得相當清楚:專案用於互通性、研究、保存與相容性目的,不包含、不分發也不需要任何受版權保護的軟體、韌體、金鑰或專有函式庫。這條界線同時是法律自保,也是技術路線的宣告。
為什麼它不採用模擬器路線?
模擬器需要重建整顆處理器與繪圖管線,效能損耗與相容性問題同時存在。AnyPS5 改為靜態轉換執行檔,讓遊戲程式直接跑在主機處理器上,只把系統呼叫接到原生實作。
PS5 的處理器是八核心 Zen 2,繪圖架構源自 RDNA 2,與 PC 的 x86-64 環境同源。這個前提讓靜態轉換成為可行選項:既然指令集相近,剩下的差異主要落在系統呼叫介面與繪圖 API,而非處理器語意。
專案的架構文件把流程拆成三段。第一段讀取匯入並檢查系統呼叫,第二段過濾未使用的 NID 並建立 SysV 動態區段,第三段交由 LinuxElfPatcher 或 WindowsPePatcher 寫出目標格式。捆綁的模組另由 GuestModuleBuilder 處理,輸出到 app0/ 目錄。
代價是專案必須逐一補齊系統函式。模擬器可以用一套硬體模型涵蓋所有遊戲,靜態轉換則要為每個函式寫出對應實作,而遊戲呼叫的函式組合因標題而異。這也解釋了為何專案把進度表放在網站首頁最顯眼的位置。
它的轉換流程如何運作?
把乾淨的 ELF 執行檔與 sce_module/ 模組放在同一目錄,執行 relinker 並指定輸出格式,產出執行檔、libs/ 與 app0/。
命令列用法相當直接。Linux 輸出執行 relinker source/input.elf app.elf,Windows 輸出加上 --windows 參數並指定 .exe,macOS 輸出加上 --macos,產出 x86-64 的 Mach-O,可在 Apple 晶片上透過 Rosetta 執行;若要處理 AMD 專有指令,另加 --to-intel 或 --to-rosetta。
工具提供 --dry-run 模式,在記憶體中完成整段轉換,列出所有計畫輸出,包括註冊檔、相依函式庫清單、補丁清單與桌面捷徑,但不建立目錄、不寫入檔案、不改動權限。對於想先確認結果的開發者,這個模式降低了嘗試成本。
專案另有瀏覽器版轉換器,網址為 boykopovar.github.io/AnyPS5,檔案留在使用者裝置上,不上傳伺服器。它支援批次轉換多個 ZIP 壓縮檔,輸出單一 ZIP 捆綁包,每個應用各自放入編號資料夾,同名檔案不會互相覆蓋。超過 256 MiB 的批次需要改用「儲存 ZIP 到磁碟」模式。
補丁機制則處理個別標題的相容問題。GamePatch.cpp 解析一份 TOML 子集,在讀取執行檔位元組後立即套用,之後所有階段看到的都是已修補內容。專案同時提供 --verify-patches 驗證補丁與輸出是否仍匹配,避免版本更新後靜默失效。
目前支援哪些平台與遊戲?
輸出涵蓋 Linux ELF、Windows PE 與 macOS Mach-O 三種格式。相容性沒有集中清單,改由 GitHub Discussions 逐款開串回報。
專案對平台的態度相當務實。README 明言重新連結器本身可在 macOS 上建置,包括 Apple 晶片,但這不代表所有標題都能在每個平台執行。繪圖後端以 SPIR-V 為中介,著色器重新編譯器已能產出通過 Spirv-Tools 驗證的輸出。
硬體門檻寫得明確:主機處理器必須具備 PS5 Zen 2 使用到的指令集擴充,包括 AVX2、FMA、F16C、BMI1、BMI2、LZCNT 與 MOVBE。Linux 與 Windows 版本會在啟動時記錄主機的指令集支援,一旦缺少任何一項,會在執行任何遊戲程式碼之前停下,並指名缺少的項目。
輸入支援走 SDL 對應的遊戲控制器,包括類比搖桿與扳機;鍵盤與滑鼠可透過 anyps5-input.ini 設定。這意味著移植後的標題在 PC 上仍保有多數操作習慣,而非只剩鍵盤映射。
專案進度到哪裡?
官方進度頁顯示已宣告 34,808 個系統函式,實作 9,138 個,約佔 26%;著色器形式解出 1,456 種,對照總數 1,460 種。
進度頁由 tools/progress.py 在每次推送時自動重算,數據取自 progress.json。專案特別註明,百分比的分母是專案目前已知的函式數量,而非 PS5 系統的完整函式集,因此分母會隨宣告增加而成長。
從歷史紀錄可以看出成長曲線。九月十五日實作 569 個函式,對照當時宣告的 1,694 個;九月底快速拉升到兩千餘個;十月初突破兩千三百個;到十一月初已達 9,138 個。這段期間分母同步從 1,694 擴張到 34,808。
模組層面的落差同樣明顯。libc 實作 1,489 個,對照 1,505 個,達 99%;libkernel 702 個,對照 751 個,達 93%;libSceAgc 233 個,對照 240 個,達 97%。另一方面,libSceAppInstUtil、libSceBgft、libSceAudioOut 等大量模組仍為零,這些多半涉及安裝、背景傳輸與音訊輸出。
專案建立於 2026 年 8 月 3 日,十月三十日發布 v0.1.4,十一月一日仍有提交。以三個月達成五萬星的速度,在同類系統工具中並不常見;但同時存在的兩千一百餘個未結議題,也說明社群規模已超過維護者的處理速度。
使用者需要注意什麼風險?
轉換後的程式以使用者帳號權限執行,沒有主機的沙箱隔離,執行檔預設不啟用位址空間隨機化,官方建議在容器或虛擬機執行。
README 對風險的描述相當直接,沒有淡化。轉換後的標題可以讀寫使用者帳號能觸及的一切檔案,缺少主機原有的權限邊界;執行檔被寫成固定載入位址 0x400000,不套用 ASLR,除非使用者主動加上已標記為棄用的 --lazy-binding。
專案給出的緩解方式是隔離執行:改用獨立使用者帳號、容器或虛擬機。這個建議同時對應兩個風險面向,一是惡意或遭篡改的標題,二是尚未穩定的移植程式在錯誤處理上的不可預期行為。
法律層面同樣有明確界線。專案聲明不附帶、不分發、也不需要受版權保護的軟體、韌體、金鑰或專有函式庫,使用者需自行確保所用執行檔的取得與使用符合當地法律與授權條款。專案與索尼互動娛樂沒有任何關聯,也未獲授權或背書。
如何開始使用 AnyPS5?
先以瀏覽器版轉換器試跑單一標題,確認輸出結構;再於本機建置 relinker,以 --dry-run 檢視計畫輸出;最後在隔離環境執行,並保留原始檔案以便回退。
最省事的路徑是瀏覽器版轉換器。使用者把單一應用壓縮檔拖入頁面,工具在本地完成轉換,檔案不離開裝置。這種方式適合先確認輸出目錄結構,包括 libs/、app0/ 與桌面捷徑檔案。
若需要在自動化流程中使用,本機建置較合適。專案提供 docs/dev/BUILD.md 說明建置步驟,並在 docs/dev/ARCHITECTURE.md 描述各階段的責任分工。建置完成後先跑 relinker --dry-run,確認計畫輸出與預期一致,再進行實際轉換。
執行階段建議一次只處理一個標題,並在獨立帳號或容器中啟動。專案在 docs/dev/TechnicalDebt.md 誠實列出未完成部分,遇到非預期狀態時會拋出 C++ 例外,未被捕捉的例外會把訊息寫到 stderr 並結束行程;這種失敗模式雖然直接,但也意味著錯誤不會被靜默吞掉。
AnyPS5 值得關注嗎?
對遊戲保存與系統層研究有興趣者值得追蹤。專案在三個月內補齊近萬個系統函式,並解出絕大多數著色器形式,方法論具參考價值。一般玩家則宜等待相容性清單成熟。
這個專案的價值不只在於「能不能玩」。它把主機系統介面拆解成可逐一實作的函式清單,並把進度量化公開,形成一份少見的系統層研究成果。著色器形式解出 1,456 種、對照總數 1,460 種,這個比例本身就是一份技術紀錄。
真正的變數在維護節奏。三個月五萬星帶來大量貢獻,也帶來兩千餘個未結議題;專案的技術債文件列出多處未完成設計,說明維護者對現況有清醒認識。能否在熱度退去後繼續補齊剩餘模組,決定它會成為長期專案或一次性的技術演示。
總結:AnyPS5 適合什麼人?
適合系統層開發者、遊戲保存研究者,以及願意在隔離環境測試的使用者。不適合期待開箱即玩的玩家,目前相容性仍需逐款確認,硬體與安全前提也有明確門檻。
AnyPS5 選擇了一條比模擬器更費工、但上限更高的路線:不做硬體模擬,直接把主機程式轉成原生執行檔,用社群的力量逐一補齊系統介面。五萬星與八百餘位貢獻者說明這條路線有足夠的人才支撐。
讀者若打算嘗試,建議把期待放在「研究與實驗」而非「取代主機」。先在隔離環境跑單一標題,確認輸出與行為符合預期,再逐步擴大測試範圍,並保留完整備份。
出處連結有哪些?
主要來源為 GitHub 倉庫、官方進度頁與 v0.1.4 發布說明,數據截至 2026 年 11 月 1 日。倉庫內的架構文件與技術債清單提供流程細節與已知限制。
- 專案倉庫:boykopovar/AnyPS5
- 官方進度頁:AnyPS5 progress
- 瀏覽器版轉換器:AnyPS5 Web converter
- 版本說明:AnyPS5 v0.1.4

