前言
9/15,MSW官方發布公告,對於異常存取的模擬器進行封禁後,從朋友那半拐半騙拿到祈禱機就開始生灰塵,雖然內心希望官方這次的政策多少能抑制氾濫的腳本跟外掛,但是少了Buff機懶癌馬上就發作了。
但是轉機就是發生的那麼突然,前不久跟朋友聊天談Buff機開不出來讓我沒動力練等,想當然解決方法不外乎買台二手手機、平板是最佳方案,但我沒有也更不想花錢,正當準備放棄時思緒卻突然間飛揚起來,不知道你們有沒有靈機一動後不自覺彈起響指的經歷,突然間的響指在我腦袋中炸裂開來。
Android手機不都是ARM架構嗎!? 樹莓派5不也是嗎!?
經過幾分鐘的思考後在google上打上關鍵字"Raspberry pi 5 android",Bingo!! 第一個映入眼簾的就是Ivon大的LineageOS教學,但這需要把當前的Raspberry OS一同刷掉讓我有些猶豫,接著同樣是Ivon大的Waydroid安裝教學出現在視野,簡單來說Waydroid就是使用LXC與Linux主機共享核心後執行LineageOS,因此也沒有虛擬機的問題。
襪靠!! 有那麼巧的事!? 一時間目標馬上清晰了不少,接下來就進入正題讓我們一同解救生灰的Buff機吧!!
需求
首先來釐清有哪些需求
- 能夠執行MSW、Artale
- 能夠遠端控制
- 樹莓派能夠像Server般運行在角落
要解決第一點先讓我們安裝上述提到的Waydroid進而提供Android App的運行環境,這部分讓我們直接參考Ivon大的文章 "樹莓派同時裝Linux與Android APP ~ Waydroid安裝教學 · Ivon的部落格" Ivon大提供非常完善的教學步驟,只要照著執行就能正常在樹莓派中看見Waydroid運行成功,執行成功後應該會看到以下畫面

這裡補充一下Ivon大文章中的第7,8點指的是回到Linux host後使用終端機輸入
sudo waydroid shell
看到:/# 表示進入介面,接著輸入接下來的指令
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"
此時會看到 " android_id| <your android_id> " 而android_id就是要用來註冊的id,此後就是等待30分鐘後就可以在google play中下載MSW並執行Artale。
接著,第二點遠端控制,雖然在Linux能夠透過SSH、VNC進行遠端的操控,但SSH主要使用終端作為介面不符合遊玩時需要的畫面輸出,而VNC基本也是在X11的桌面環境下運行,這導致了使用Wayland作為桌面環境的Waydroid無法透過VNC進行遠端操控,接著考慮的就是微軟的RDP協定進行遠端控制,幸運的是GNOME本身就提供原生的RDP控制,事實上我在測試期間也確實能夠成功遠端執行,但是馬上遇到了兩個問題
- 樹莓派需要維持顯示器的連接
- 重新登入後GNOME會自動更新RDP連接時所需的密碼
第一個問題與先前提到的第三點需求產生衝突,解決辦法有HDMI假負載與修改cmdline.txt文件,這部分之後會提及,而第二點則偏向無解,雖然在尋找解決方法的時候有看到透過固定密碼來解決,但從安全角度來說不符合邏輯,因此也從方案中刪除,當時的我陷入了一天的停滯,這時候在Reddit閒晃的過程中看到了一個名稱"NoMachine",這也是接下來的主角。
在提到NoMachine之前先來做一些設定,由於遠端控制遊戲需要顯示訊號持續輸出並在Wayland的桌面環境下進行,首先為了確保在Wayland桌面環境下運行,可以先在GNOME中設定自動登入與顯示器設為永不休眠,如下圖


此時如果重新開機就會自動使用GNOME桌面環境,只有在需要進行特定操作時才會需要密碼權限,接著為了維持顯示訊號輸出,可以使用HDMI假負載,蝦皮大約50塊附近但要記得樹莓派使用miniHDMI所以記得需要有轉接頭,但如果手邊沒有也可以使用純軟體的解決辦法。
注意!!
以下方法為Raspberry pi 5專屬,如果是Raspberry pi 4的話可以參考官方文件Legacy config.txt options - Raspberry Pi Documentation在config.txt中進行配置,因為我沒有raspberry pi 4所以不展開這部份。
首先打開終端機並輸入以下指令
sudo nano /boot/firmware/cmdline.txt
並在末端加入 video=HDMI-A-1:1280x720@60D,記得必須與之前的指令有空格隔開之後儲存並退出,表示在啟動時告知系統需要在HDMI-A-1接口輸出1280 * 720解析度 60fps的訊號。

此時樹莓派已經越來越有角落生物的感覺了,差最後一步了!!!
接著就是救星NoMachine,其實市面上還有很多類似的軟體,如果有興趣也可以使用自己熟悉的工具也許也有一樣的效果,Ivon大的文章也有提到Sunshine的遠端桌面,但是因為我的需求只有在內網中使用,所以就沒有特別去測試其他工具了,首先到以下網站安裝樹莓派端的NoMachine " Getting Started with NoMachine for Raspberry Pi - NoMachine "照著步驟安裝後看到以下畫面就是成功了,由於樹莓派是server端,因此並不會對他有任何操作,只要確保每次開機都能夠自動執行就好。

接著在主要遊玩主機上同樣安裝NoMachine,並選擇對應的OS版本,安裝完成後就可以看到raspberrypi出現在Machines中,點選後使用樹莓派的使用者帳號密碼登入



Bang!!! 完成了!!! 如果沒有意外現在你的樹莓派只需要連接電源,就算重新開機也可以馬上使用NoMachine進行遠端控制,完美達成需求"像Server般運行在角落"!!!

成果展示
免責聲明
雖然解決辦法是透過Waydroid使用LXC直接與Linux共享核心,但是否會被官方認為是非法遊玩就不得而知,如果對於方法有疑問建議使用實體手機或是平板正常遊玩,不如說會有Raspberry pi5的人反而比較少吧,不過還是希望大家玩遊戲開開心心就好,如果真的沒辦法開Buff機就認命吧 🤣
最後我只是純粹興趣玩家,如果有錯誤歡迎指正,如果有問題也歡迎發問但是答不答得出來就不知道了🤣🤣