快轉到主要內容

Linux版RetroArch安裝教學,萬能復古遊戲主機模擬器

分類   Linux系統 Linux玩遊戲
標籤   RetroArch Machine Translation
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

這篇文章由Ivon介紹Linux版RetroArch的基本操作觀念。部份觀念在Windows、macOS、Android、iOS平台也是通用的。

後面會附上一些遊戲主機遊戲的實際設定方法。

RetroArch(復古電玩)為一款開源、免費、無廣告的遊戲主機模擬器。

它可以跑在Linux/Windows/macOS/Android/iOS等系統,最老支援到Windows 95。有些遊戲主機經過改裝後也能裝RetroArch。

RetroArch最大的特色是一個打三十個,支援模擬三十款以上復古遊戲主機和電腦系統,例如:MS-DOS、PC-98、Apple Macintosh、Commodore 64、SEGA Staturn、BANDAI WonderSwan、Coleco Vision、Nintendo 64、Sony Playstation等等,可以說是一款幾近萬能的復古遊戲模擬器了。

RetroArch能玩的部份遊戲擷圖:

Nintendo 64上的《薩爾達傳說時之笛》

Sega Satrun上的《同級生2》

DOS系統上的《美少女夢工廠》

除了模擬遊戲主機之外,RetroArch還提供:AI翻譯遊戲文本、著色器改善老遊戲畫質、自訂按鍵映射、金手指、多人連線、雲端存檔等進階功能,讓玩家玩遊戲的時候更方便。

1. 了解RetroArch原理
#

遊戲ROM
#

在用RetroArch玩遊戲之前,你需要準備「遊戲ROM」以及「核心」。

遊戲ROM不難理解,就是裝載遊戲資料的儲存格式。由各路好手從實體遊戲卡帶所抽取出來,轉檔成電腦檔案格式,讓RetroArch讀取之用。網路上有很多盜版的可以下載。

每台遊戲主機都有自身的ROM副檔名格式,例如PC-98的.hdi檔、Nintendo 64的.n64檔,還有DOS的.EXE檔等。

遊戲ROM沒有限定作業系統與處理器架構,任一版本的RetroArch都能讀取。

核心
#

那麼什麼是核心(core)?RetroArch是一個整合性的啟動器,用意在於讓玩家不用為了玩遊戲而安裝多個模擬器,比如過去你玩PSP遊戲得開PPSSPP,要玩GameCube遊戲則得切換到Dolphin Emulator……這些模擬器都是彼此獨立的程式。有了RetroArch之後,你只需要一個程式就能夠模擬所有遊戲主機的遊戲。

RetroArch為基於libretro API實作,只要其他模擬器開發者針對libretro開發插件,就能夠模擬各式各樣的遊戲主機。

不過,具體要模擬哪一款遊戲主機,則得玩家自己決定。一個蘿蔔一個坑,針對不同的遊戲主機,你需要下載對應主機的「核心」檔案,才可以讓RetroArch模擬該主機系統,並載入遊戲ROM。

你可以在Libreto官方文件或者Emulation Wiki找到核心對應的遊戲主機。


有一點需要注意:RetroArch核心不是跨平台的。

雖然RetroArch「主程式」支援Linux/Windows/macOS/Android/iOS系統,但是遊戲主機的「核心」是個別針對平台編譯的,有作業系統和處理器架構之分。像Windows的核心以.dll檔發布,Linux的則是以.so檔案的形式發布,不同系統之間不能通用核心。好在RetroArch的核心大部分都是開源的,因此不會有核心獨厚某種作業系統的問題發生。

此外,Linux的RetroArch核心還有處理器架構的問題。目前大部分的RetroArch核心是針對x86_64平台編譯的,所以RetroArch內建的選單才有那麼多核心可以下載。

換作ARM64平台(例如Raspberry Pi系統),你就會發現內建核心少了很多。這個時候你要嘛自己編譯,手動安裝核心,要嘛想辦法找別人編譯好的核心來用。

折衷的辦法是用Box64轉譯執行x86版的RetroArch,繞過核心缺乏的問題。或者回歸到獨立模擬器玩遊戲的作法。

不想那麼麻煩的,在x86平台遊玩RetroArch比較方便。

2. 安裝RetroArch主程式
#

參照 官網指示,RetroArch提供Ubuntu與Arch Linux的套件。不過,我偏好用 Flatpak以方便取得最新版本。

  1. 用Flatpak安裝最新版本RetroArch。支援x86_64與ARM64架構。
flatpak install org.libretro.RetroArch
  1. 安裝後RetroArch(復古電玩)的圖示就會出現在應用程式列表了。

  2. 如果要看除錯訊息,用以下指令啟動RetroArch:

flatpak --verbose run org.libretro.RetroArch

3. 如何安裝RetroArch核心
#

下載核心
#

  1. 請閱讀 libretro官方文件 Emulation Wiki,了解你想模擬的遊戲主機需要哪個核心才可以啟動。

  2. 開啟RetroArch主選單,點選 線上更新 → 下載安裝核心,即可下載線上儲存庫的核心。一台遊戲主機可能會有多名開發者為其製作核心,你需要多方比較。

  3. 如果你要手動安裝核心也行,網路上有很多熱心開發者製作的核心。Flatpak版的RetroArch核心目錄位於~/.var/app/org.libretro.RetroArch/config/retroarch/cores,請把下載到的.so檔案放到這個目錄。

下載BIOS
#

  1. 有些遊戲主機除了核心之外,還得安裝特定的BIOS才能夠啟動系統。

  2. 因為含有版權物的緣故,BIOS你可能得手動下載。像這個Github儲存庫 archtaurus/RetroPieBIOS 就有人整理了常見的BIOS檔案。

  3. BIOS檔案通常是放到~/.var/app/org.libretro.RetroArch/config/retroarch/system/模擬器名稱目錄。

4. 如何載入遊戲ROM
#

  1. 你可以將遊戲ROM放到任意目錄。

  2. 用RetroArch的匯入遊戲 → 掃描資料夾 功能,選取ROM所在的目錄。它會給每一款遊戲建立縮圖,並在左側選單建立快捷啟動方式。

  3. 若Flatpak無法存取目錄,請記得授予讀取權限:

flatpak override  --filesystem="/路徑/" org.libretro.RetroArch
  1. 在載入模擬器核心之後,透過RetroArch內建的檔案瀏覽器,選取對應主機的遊戲ROM檔案,載入就行了。

  2. 至於RetroArch各個遊戲的「存檔進度」資料,請到~/.var/app/org.libretro.RetroArch/config/retroarch/saves/尋找。

5. 設定RetroArch按鍵映射
#

除了DOS這類個人電腦的系統之外,許多遊戲主機的遊戲控制都是以手把為主的,建議玩遊戲前準備一個手把。

市面常見的遊戲機手把在Linux系統應該都是隨插即用的。

不過以前的遊戲主機跟現在的手把鍵位不太一樣,所以你最好手動確認一下遊戲的鍵位。

請到 設定 → 輸入 → RetroPad Binds設定手把映射。

你也可以將滑鼠鍵盤映射成手把按鈕。

6. 設定AI翻譯服務
#

此為選擇性項目。

很多遊戲只有日文版和英文版,第三方人士製作漢化版困難重重,這時不妨使用AI翻譯功能吧。

RetroArch內建的翻譯服務可以即時掃描螢幕文字,傳送給線上Google翻譯服務,再自動顯示翻譯文本。

其中「ZTranslate」簡化了設定過程,讓使用者不必手動架設線上服務。ZTranslate的翻譯服務是在雲端運算的,不會耗用本機資源,但ZTranslate的服務是由志願者提供的,翻譯有限制額度。

點選 設定 → 協助工具 → 人工智慧服務,啟用翻譯服務,翻譯模式勾選圖像模式。並按照 官方指示註冊ZTranslate帳號。

7. RetroArch實際操作例子
#

遊玩SEGA Saturn遊戲 (Kronos核心)
#

  1. 首先在 線上更新 → 下載安裝核心,下載Kronos的核心

  2. 根據 Kronos文件指示,手動下載SEGA Saturn的BIOS檔案,將其放到~/.var/app/org.libretro.RetroArch/config/retroarch/system/目錄

  3. 掃描遊戲目錄,例如我是.cue檔案的遊戲,之後遊戲應該就會出現在選單左側並能直接啟動。或者點選主選單的載入檔案來啟動遊戲。

參考資料
#

相關文章

《東方Project》系列遊戲在Linux的遊玩方式
分類   Linux系統 Linux玩遊戲
標籤   Touhou Project RetroArch
Lutris使用教學,安裝與管理Linux的遊戲收藏
分類   Linux系統 Linux玩遊戲
標籤   Lutris Wine Steam Steam Deck RetroArch
Sunshine:Linux版Moonlight教學,自架免費雲端串流遊戲服務+遠端桌面
分類   Linux系統 Self-hosting自架 Linux玩遊戲
標籤   Cloud Gaming Remote Desktop Steam Linux

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請貼Imgur或Postimages。