家裡客廳是拿舊的準系統接電視,雖然規格只是八年前買的 INTEL 5代 CPU + 內建顯卡,不過觀看「線上看電視」或串流平台影片的順暢度都是綽綽有餘。
最近想在客廳電視玩 PC Steam 遊戲,過過大螢幕的癮,沒想到連「太空戰士七(非重製版) + HD高清中文化MOD」都跑不太動,除了可能內顯不夠力,連遊戲載入都要跑很久(大概是CPU、記憶體原因),轉念一想乾脆用遠端連線來跑 Steam 遊戲,看看房間的 INTEL 12代 CPU + RTX4060 在遠端之下是否順暢。
一試之下果然快很多,準系統經由 Windows 內建的「遠端連線」接上房間電腦後,遊戲很快就載入,只是人物操作起來明顯會延遲,且隔段時間就會卡頓一下,所以這個作法一樣行不通。雖然心裡早就預想過這個狀況,猜測顯卡處理影像經網路傳輸後一定無法實時傳遞到遠端螢幕,不過總要測試一下了解實際會有多糟。
試著找「遠端連線玩遊戲」有沒有比較好的作法,沒想到還真的有免費開源的工具可以使用,這真是太棒了!本篇要介紹的「Sunshine + Moonlight」,只要執行 Steam 遊戲的主機有夠力的獨立顯卡,那麼即使客廳電腦使用很舊的 CPU(就像我的準系統),一樣可以順暢地遠端連線玩遊戲囉~
(圖片出處: ChatGPT)
一、Sunshine Moonlight 運作原理
1. Windows 遠端連線的問題 「Windows 遠端連線」並非為玩遊戲而設計,處理遠端主機的畫面時使用 CPU 運算,同時螢幕幀數通常最多每秒 30 (FPS)而已,這對遠端 Debug 用途已相當足夠,但玩 3D 遊戲則不太行。 2. Sunshine 運作原理 這篇「Sunshine + Moonlight串流完整方案和心得」對於原理及硬體限制說明的十分詳盡,想了解運作原理可以詳讀,以下簡單說明 Sunshine 做的事有哪些:- 執行遊戲的電腦須安裝「Sunshine」,同時此電腦需要不錯的獨立顯卡,Sunshine 會利用 GPU 的強大運算能力將畫面轉成串流,實時傳送到電視端的主機
- 由於是為遊戲而設計,Sunshine 傳輸至少 60 FPS,延遲也很低,同時支援多種輸入裝置
- Sunshine 執行時會作為串流伺服器,等待外部主機連上
- 根據這個「reddit 討論串」,Moonlight 把 Nvidia 的強大功能給逆向工程做出來並開源,可以顯示 Nvidia 的遊戲串流畫面。
- 在玩遊戲的主機安裝「Moonlight」後,會搜尋區網的 Sunshine 伺服器,連上後就能遠端控制執行遊戲的電腦。
- Moonlight 因為有各種平台的版本,所以要玩遊戲的主機不一定非得 PC,在「手機/平板/Android 電視」下載對應的 APP 版本即可。
- 畫面延遲的程度取決於網路傳輸狀況,因此裝置之間的傳輸最好使用網路線,若無線傳輸一定會比較延遲,總之使用區域網路是最推薦的。
- 最低畫質 720P/60HZ 的網路頻寬要求為 10MB/s,更高的 1080P、2K、4K 等頻寬可參考前面的原理說明文章。
二、遊戲主機安裝 Sunshine
1. Sunshine 官網- 官網網址:Sunshine
Github 頁面上檔案密密麻麻不容易分辨出要下載哪個檔案,我看以前的教學文章要下載 sunshine-windows-installer.exe,但目前的最新版我看不到這個檔名,比較接近的是「Sunshine-Windows-AMD64-installer.exe
」,檔名多了字串 "AMD64" 但沒關係下載這個檔案就對了。將來若檔案命名規則又有調整,大概就是找到 sunshine windows installer 這幾個字串的檔案。
2. 安裝 Sunshine
執行剛剛下載的檔案,按著指示安裝完畢後,桌面會自動產生「Sunshine」的捷徑,點擊後會自動開啟瀏覽器,前往網址:
https://localhost:47990/
第一次執行瀏覽器會有警告,別理他繼續前往網址,會要求設定「使用者名稱」(username)及「密碼」(password)、確認密碼(Confirm password)。
3. 其他設定
密碼設定完後,頁面上的選單有不少選項可以設定,但基本上使用預設值就行了。
建議可以修改語系,如上圖從「Configuration」→「General」,將語系改為繁體中文,界面看了比較習慣。
三、遠端主機安裝 Moonlight
1. Moonlight 官網- 官網網址:Moonlight
執行 Moonlight 後會自動搜尋區網的 Sunshine 伺服器,找到後會給一組 4 位數的 pin 碼,我們需要到執行遊戲的主機輸入。
在遊戲主機執行 Sunshine 捷徑,進入剛剛的瀏覽器設定頁面,輸入 pin 碼及主機名稱就大功告成,可以開始遠端連線了。
四、補充
以下補充一些可能遇到的疑難排除。 1. 防火牆檢查 兩台主機連線需要透過區域網路,通常在 Sunshine、Moonlight 的安裝過程,程式會自動讓 Windows 防火牆允許通過。
但如果連線有問題的話,可以檢查是不是被 Windows 防火牆擋下了,參考上圖,兩台主機分別檢查 Sunshine、Moonlight 是否「私人」網路有勾選。
2. 聲音不見問題
我第一次執行遠端連線時,發現遊戲沒有聲音,但測了其他音效,例如開瀏覽器的 YouTube 影片,是有聲音的。
上網找了一些可能性,這個 reddit 討論串「Moonlight 沒聲音?」提供了一些可能性,調整喇叭、音效的相關設定,但都跟我的狀況都無關。
最後我如何解決的其實也不是很確定,因為沒有驗證出確切的關聯性,也許我電視的聲音是由 HDMI 線傳輸到電視喇叭,而非經由主機的音效卡,比較特殊一些。
問了 ChatGPT 他給出一種作法,他說有些裝置會搶獨佔權,可以修改我的電視喇叭設定:
- 右下角喇叭圖示按右鍵 → 喇叭設定 → 進階設定
- 如上圖,選擇作用中的喇叭 → 內容
如上圖,進階 → 將「獨占模式」下的兩個選項都取消勾選:
- 允許應用程式獨占這個裝置
- 給予獨占模式應用程式優先權
在設定喇叭的期間,我還做過其他動作,如上圖,Moonlight 連線到遊戲主機時,會出現「DESKTOP」、「STEAM」兩個選項,一般選擇 DESKTOP 桌面遠端連線就好,不過因為沒聲音,所以我改選 STEAM 試試看,連線後會自動執行 Steam 程式,結果後來遊戲就有聲音了。
總之結論就是,我也不知道是哪個原因讓聲音恢復了,以上經驗供讀者參考。
3. 全域熱鍵
熱鍵使用上這幾件事需要注意:
- 遊戲主機結束後,要切回遠端主機時,可按
Ctrl+Alt+Shitf+Q - 在遊戲主機如果想使用全域熱鍵時,例如
Alt+Tab ,可能會發現不是切換遊戲主機的程式視窗,而是切回遠端主機,這代表遊戲主機的全域熱鍵被遠端主機攔截了。 - 要啟用遊戲主機的全域熱鍵,請到 Moonlight 視窗,點擊右上角齒輪圖示進行設定 → 輸入設定 → 勾選「擷取系統鍵盤快速鍵」即可
- 啟用遊戲主機的全域熱鍵後,如果兩邊的主機想同時作業、隨時切換使用,可使用熱鍵
Ctrl+Alt+Shitf+D ,遊戲主機畫面會被最小化,回到遠端主機的桌面 - 也可按熱鍵
Ctrl+Alt+Shitf+X ,遊戲主機畫面會由「全螢幕」變成遠端主機的一個「視窗」,方便遠端主機作業;而再按一次Ctrl+Alt+Shitf+X ,遊戲主機畫面會由「視窗」變回「全螢幕」
更多 Steam 遊戲相關文章:
沒有留言:
張貼留言注意事項:
◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢」
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。