快轉到主要內容

Sunshine裝在QEMU/KVM虛擬機裡,從Linux宿主機串流玩遊戲

分類   Linux系統 Linux玩遊戲
標籤   Moonlight Game Streaming QEMU-KVM Cloud Gaming GPU Passthrough
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

我想要在直通GPU的Linux虛擬機玩遊戲,又不想要接二個實體螢幕。希望能在虛擬機開機後,在Linux宿主機開一個視窗存取虛擬機的桌面。

有試過 Looking Glass Host for Linux的方案,但是不好安裝,或者說作者根本就不在乎Windows以外的系統,故我改用較為成熟的Sunshine遊戲串流。

只要直通GPU給虛擬機,再安裝Sunshine,就可以把Linux電腦桌面串流到Linux宿主機的Moonlight客戶端了。又因為是區域網路,1080p60串流幾乎沒延遲!

從Ubuntu宿主機桌面,存取Fedora虛擬機桌面的Steam客戶端

至於螢幕部份,Linux沒有 Virtual Display Driver的方案能快速做一個假螢幕出來,用xrandr來虛擬螢幕又好麻煩,所以最後我是用HDMI欺騙器來替代實體的螢幕了。

由於Sunshine是跨平台軟體,本文的作法應該也可以套用到Windows虛擬機,但既然已經有 Looking Glass Host for Windows方案那就不是很必要這麼做了,除非你想要遠端串流玩虛擬機內的遊戲!Sunshine跟Looking Glass的系統服務可以同時運作,沒問題的。

1. 環境
#

  • 宿主機:Ubuntu Desktop 24.04 LTS
  • 虛擬機:Fedora Workstation 40
  • 實體螢幕x1
  • 實體副螢幕x1
  • HDMI欺騙器x1

為了確保驅動有正常運作,還是有準備一個實體螢幕供測試,確認沒問題後才換成HDMI欺騙器。

2. 設定過程
#

  1. 開啟Virt Manager,安裝Fedora虛擬機,於GNOME系統設定勾選自動登入帳號。順便設定SSH服務以防萬一。

  2. 用virsh指令 固定虛擬機的IP位址

  3. 設定Nvidia GPU直通,將Nvidia GPU分配給Fedora虛擬機

  4. 接上實體副螢幕,開機,在Fedora虛擬機內用DNF安裝Nvidia驅動

  5. 如果虛擬機同時有QXL和實體螢幕的話可能會沒畫面,故得將顯示卡和SPICE元件移除(請檢查xml)。

  6. 移除SPICE後滑鼠鍵盤就沒辦法自動切到虛擬機內了,得使用「新增USB硬體」將滑鼠直通進去。這時需要準備二支滑鼠。

  7. 於Fedora虛擬機 安裝Sunshine服務,設定開機登入後自動啟動。

  8. 嘗試啟動Sunshine服務,並用Linux宿主機的Moonlight客戶端配對連線。

  9. 確認一切OK後,虛擬機關機。實體副螢幕換成HDMI欺騙器。

這樣日後只要虛擬機按開機,等待Sunshine服務啟動就可以連線啦~

相關文章

Sunshine:Linux版Moonlight教學,自架免費雲端串流遊戲服務+遠端桌面
分類   Linux系統 Self-hosting自架 Linux玩遊戲
標籤   Moonlight Game Streaming Cloud Gaming Remote Desktop Steam Linux
如何在Windows虛擬機玩遊戲 ~ Linux QEMU/KVM雙GPU直通 + Looking Glass安裝過程
分類   Linux系統 Linux玩遊戲
標籤   GPU Passthrough QEMU-KVM Linux Windows
Steam Link + Linux版Steam遠端玩遊戲 ~ 效能測試
分類   Linux系統 Linux玩遊戲
標籤   Cloud Gaming Steam Linux Remote Desktop

留言板

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

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

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