[新聞] MAME 更新需求

看板Emulator (模擬器)作者 (???)時間17小時前 (2026/04/07 21:03), 15小時前編輯推噓3(304)
留言7則, 5人參與, 30分鐘前最新討論串1/1
MAME 更新需求 2026年4月7日 以下是機翻 希望您喜歡我們愚人節的玩笑公告。玩笑過後,現在是時候討論一下 MAME 即將進行的真 正改變了。我們將把開發語言標準從 C++17 升級到 C++20,並逐步停止對過時配置的支 援。此外,我們也會降低發布頻率,不再幾乎每月都發布新版本。四月不會發布新版本; 我們的下一個版本將在五月底發布。 更新後的要求摘要: - 一個編譯器和 C++ 標準函式庫,並對 C++20 有較好的支援。我們將支援的最低 GCC 版本是 GCC 11。 您也可以使用版本較新的 clang 編譯器。 - Windows 版本需要安裝 Windows 10 或更高版本。微軟已經停止對 Windows 10 以及所 有早期版本的 Windows 家用版和專業版的主流支援,而 Windows 11 也已經發布四年了 - MAME 基於 Qt 的調試器需要 Qt 6。 以下是我們即將移除的部分功能概述: - 32 位元 x86 (i686) 重編譯器後端。 x86-64 架構推出至今已超過二十年。 所有主流 x86 作業系統多年來都支援 x86-64,而對 32 位元 x86 的支援正在逐步停 止。 - 支援在 OpenSolaris 和其他 System V UNIX 系統上編譯。目前已無活躍開發的 OpenSolaris 發行版,其他 System V UNIX 變體在桌面系統上也鮮有應用。 - 針對 PowerPC 主機系統的特定最佳化。 PowerPC 和 OpenPOWER 目前在桌面市場尚無 實際應用,而旨在開發完全免費、高效能 OpenPOWER 實現的 Libre-SOC 專案 也已停滯不前。 - 適用於 macOS 的過時 aueffectutil 工具。該工具已不再適用於 MAME 的新音訊輸出 系統,並且未更新以相容於最新版本的 macOS。 - 預先建置的 MSYS2 環境包含開發工具。但我們的 MSYS2 環境存在多個無法實際解決的 問題。 請繼續閱讀,以了解更多背景資訊和細節。 我們決定升級到下一版 C++ 標準,並開始利用其新功能。支援 C++20 的函式庫和工具應 該已經普及了足夠長的時間。目前,我們將繼續支援使用 GCC 11 和 GNU libstdc++ 11 或更高版本進行建置。如果您使用 clang 編譯 MAME,請注意 clang 11 和 12 在 C++20 的實作中存在一些無法接受的嚴重 bug,而 clang 13 在編譯某些結構時可能會當機。 這意味著您可能需要一個相對較新的 clang 版本才能繼續使用它來建立 MAME。 同樣,Qt 6 已包含在 MSYS2 中,而所有主流 Linux 發行版也已提供 Qt 6 一段時間了 。我們認為現在是停止支援 Qt 5 的合適時機。 由於新版 GCC 的記憶體佔用增加,以及 MSYS2 MINGW32 軟體包倉庫中移除了 clang 和 其他 LLVM 相關軟體包,為 Windows 建立 32 位元 x86 版本的 MAME 已不再可行。 因此,我們將停止維護支援 Windows 32 位元 x86 架構的功能。鑑於其他作業系統對 32 位 元 x86 架構的支援也在縮減,我們認為繼續維護專門針對 32 位元 x86 架構的功能已不 再值得。同時,由於維護 PowerPC 架構的功能同樣變得不切實際,我們也正在移除這些 功能。 我們將改用 clang、libc++ 標準函式庫和 Microsoft 通用 CRT (UCRT) C 執行階段函式 庫來建置 x86-64 Windows 版本。這意味著我們的 64 位元 x86 和 ARM 版本將使用相同 的工具和函式庫進行建置。 很明顯,對使用過時的 MSVCRT C 運行時庫的 MSYS2 環境的支援正在逐步停止。許多軟 體包已從軟體倉庫中移除,而不是進行更新。因此,使用者必須遷移到使用 UCRT C 執行 時期庫的環境,例如 64 位元 x86 架構的 UCRT64 或 CLANG64,以及 64 位元 ARM 架構 的 CLANGARM64。我們目前的建置腳本已支援使用這些環境建置 MAME,無需額外操作。 我們提供的預先打包 MSYS2 環境存在多個問題,其中包括: - 它們的版本與用於構建 MAME 版本的軟體包版本早已不完全匹配, 因此它們對於重現官方 MAME 版本沒有用處。 - 它們更新頻率很低。這使得嘗試更新核心 MSYS2 運行時或任何包含的軟體包都充滿問 題,因為 MSYS2 軟體包的更新支援通常很差,經常跳過多個版本。 - 如果包含支援在各種受支援配置下建置 MAME 的軟體包以及一些常用的開發工具, 下載包的大小將非常龐大,難以實際應用。 另一方面,如果省略某些軟體包,使用者在嘗試新增軟體包以支援其使用場景時,就會 遇到與更新 MSYS2 軟體包相同的問題。 - 打包開發工具並不是我們的核心任務,而且會佔用我們開發 MAME 的時間。 因此,我們建議安裝標準的 MSYS2 環境,並使用 pacman 套件管理器命令安裝建置 MAME 所需的軟體套件。我們的文件中列出了所需的軟體包,GitHub Actions 上的 Windows 工作流程也以結構化的形式展示了這些軟體包。 像這樣的重大變革總是會遇到一些波折,但我們相信,這是我們保持 MAME 開發長期可行 性使命中必不可少的一步。 https://www.mamedev.org/?p=563#readmore -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.120.140 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Emulator/M.1775566983.A.CA1.html

04/07 22:10, 16小時前 , 1F
感謝翻譯,感謝這些開發人員
04/07 22:10, 1F
※ 編輯: playlive (111.255.120.140 臺灣), 04/07/2026 22:35:07

04/07 22:36, 15小時前 , 2F
這是機翻,補上文字
04/07 22:36, 2F

04/07 22:59, 15小時前 , 3F
基本上純 x86 的時代過去了,x86-64 下能玩就能玩
04/07 22:59, 3F

04/07 23:00, 15小時前 , 4F
降低更新頻率還不錯吧,可能一個月 BUG 修不夠多(?
04/07 23:00, 4F

04/08 03:55, 10小時前 , 5F
謝謝,但為何不推呢?XD
04/08 03:55, 5F

04/08 12:35, 1小時前 , 6F
看到C++還在就放心了
04/08 12:35, 6F

04/08 13:48, 30分鐘前 , 7F
可是我沒有原始碼...也不差吧 XD
04/08 13:48, 7F
文章代碼(AID): #1frG27oX (Emulator)
文章代碼(AID): #1frG27oX (Emulator)