快轉到主要內容

Android轉譯玩Windows exe遊戲的方法一覽

分類   智慧型手機 手機APP分享
標籤   Box86 Box64 Wine ExaGear Termux Steam Windows Android
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

本文列出在Android手機轉譯玩Windows遊戲的解決方案。

是真正在手機上執行Windows遊戲喔,不是遠端桌面也不是串流遊戲,也不用刷機。

要在任意Android手機跑Windows程式,當然不是模擬整個Windows系統啦!那只有少數手機支援。

最流行的解法是使用Linux的Box64+Wine轉譯Windows遊戲。可以說是類似「Windows exe模擬器」的APP吧。

遊戲能玩的話,那麼跑一般的Windows exe也不是問題了。

1. 基本概念
#

在此在此介紹一些技術名詞,這樣後面討論會比較容易理解。如果你想知道更多請點選文中的連結了解。

Termux/Termux X11
#

Termux是一款Linux終端模擬器,能夠在Android系統模擬Linux環境,並以原生速度執行,不需要Root權限。

Termux X11是專為Termux設計的X伺服器,讓Termux可以把Linux的桌面環境輸出到該APP上,從而執行圖形界面。

proot/chroot
#

只要透過Termux建立Linux環境,再於裡面安裝Wine就可以了。至於Linux環境要如何建立呢?Termux本身的Linux環境並不標準,且缺乏許多套件,所以有人會採用容器的方式建立比較完整的Linux環境作法。這之中又分為proot與chroot兩種。

proot是在沒有root的環境用ptrace模擬Linux系統,速度比較慢。

chroot則是利用Android系統的功能,模擬Linux環境,程式是以原生速度執行的,速度最快,但是需要Root權限。

Wine
#

歷史悠久的轉譯程式,能將Windows的程式指令轉譯成Linux的指令。

Steam Deck也有使用Wine的技術,叫做Proton。

請注意不是所有Windows程式都保證可以用Wine跑,尤其在Android的轉譯環境更是需要多方測試。建議到 ProtonDB查詢Windows遊戲的相容性。並自己實際在Linux電腦跑過一次,再到Android環境執行。

Box64/Box86
#

負責轉譯x86指令成ARM指令的程式,Box86轉譯32位元程式,Box64轉譯64位元程式。

因為大部分Windows程式都是x86架構的,Wine亦如此,而Android手機是ARM架構為主,所以要在ARM環境執行x86程式,必須使用Box64轉譯x86版本的Wine。

過去很紅的「Exagear」做的事情跟Box64差不多,有了Exagear程式x86版本的Wine才能在ARM架構的Android裝置執行,但它是閉源軟體,我們不知道背後具體原理為何。

DXVK
#

將DirectX的繪圖指令轉譯成Vulkan,增進遊戲的圖形效能。

Github儲存庫: doitsujin/dxvk

VirGL/Turnip/Zink
#

這些都是達成3D硬體加速所需的驅動程式。

VirGL:模擬GPU進行硬體加速,屬於通用型方案,適用大部分Android手機。

Turnip:專為Qualcomm Adreno設計的圖形驅動,相較於VirGL圖形效能更好。

Zink:將OpenGL轉成Vulkan的實驗性驅動,可以搭配VirGL或Turnip使用。Zink也是專為Qualcomm設計的。

2. 推薦手機硬體
#

如果你打算用轉譯方式玩Windows遊戲,那麼建議:

  • RAM:8GB以上
  • 儲存空間:10GB以上
  • 處理器:高通Snapdragon 865以上

是的你沒有看錯,非旗艦處理器的Android手機轉譯Windows遊戲只是自討苦吃,尤其是3D大作。如果你的手機處理器是中低階的,那頂多玩玩2D為主的Galgame而已。

手機處理器以高通處理器為佳,比較容易透過Turnip達成3D硬體加速。

其他聯發科、獵戶座、Tensor、麒麟之類的處理器只能透過VirGL達成3D硬體加速,效能差勁。

3. Android轉譯Windows exe的解決方案
#

本文介紹的方案使用的技術都很像,差別在實作的方式不同。

目前有4個懶人解決方案,能夠幫你自動裝好Box64、Wine、DXVK。

Winlator
#

獨立APP,不依賴Termux。

使用Proot建立Linux環境。

界面設計類似Exagear,大部分選項都圖形化了,完全不用打指令。

內建模擬手把的觸控輸入。

Mobox
#

本身是一個指令稿,依賴Termux執行。只需要稍微打一下指令就能輕鬆啟動。

架構比較特殊,Mobox利用的是Termux本身的套件來跑Box64和Wine,而非建立proot環境。少了proot這一層模擬,效能便接近原生chroot的速度了。

開啟後會幫你安裝一些常用Windows套件。已知可以啟動Windows版Steam,並能下載遊戲(需看Steam Proton支援度)。

內建Input Bridge,可在螢幕上虛擬出遊戲模擬手把。

Box64Droid
#

本身是一個指令稿,依賴Termux執行,提供proot版與chroot版。

內建Input Bridge,可在螢幕上虛擬出遊戲模擬手把。

這個屬於比較早期的專案,Mobox使用上比較直覺,這個就放在這裡供參考。

Github儲存庫: Ilya114/Box64Droid

ExaGear
#

俄羅斯開發的閉源軟體。雖然本家倒了,但是現在網路上仍然有許多中國網友製作的修改版APK。

4. 推薦搭配的APP
#

  • Termux
  • Termux X11
  • Input Bridge:模擬遊戲手把。此為閉源軟體。
  • Hacker’s Keyboard
  • Scrcpy:將Android手機螢幕投影到大螢幕方便操作。

另外準備外接鍵盤、滑鼠、螢幕也是不錯的選擇。

相關文章

Winlator模擬器教學 ~ Android手機裝Windows exe玩遊戲
分類   智慧型手機 手機APP分享
標籤   Box86 Box64 Wine ExaGear
因Android手機沒有開源免費的剪片APP,所以我選擇跑Kdenlive
分類   智慧型手機 手機APP分享
標籤   Kdenlive Android Termux
Android手機跑Visual Studio Code完整主程式教學(Termux)
分類   智慧型手機 手機APP分享
標籤   Visual Studio Code Termux Android Ubuntu

留言板

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

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

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。