PTT推薦

[心得] PVE 跑 Windows VM 玩遊戲卡成狗解法

看板PC_Shopping標題[心得] PVE 跑 Windows VM 玩遊戲卡成狗解法作者
s25g5d4
(function)
時間推噓 推:0 噓:0 →:0

這幾天回鍋戰車世界

但現在手邊只剩 Mac 跟這台跑虛擬機的 PC

想說我都 GPU passthrough 進去了應該可以打吧

結果開最低畫質還只有 30~40 fps,卡到瘋掉

戰車世界不太吃效能,照理來說 7600 + 6650 XT 開著 VM 也不該這麼卡

我的螢幕是 4K60,雖然 4K 會吃效能但調到 1080p 全螢幕也是一樣

於是又開始快樂的 debug 旅程



1. 先研究卡在 CPU 還是 GPU,發現是 CPU 隨時都在滿載狀態

2. 調整 VM CPU Affinity,將 windows guest 與其他 VM 核心錯開
參考 /proc/cpuinfo,實體核心分組為 (0,6) (1,7) (2,8) (3,9) (4,10) (5, 11)
括號內為同一組 SMT 核心
因此將 CPU Affinity 設定為 0-3,6-9 其他 VM 使用 4,5,10,11

=> 沒用

3. 調高 TjMAX 與開啟 PBO (原本為了節能關閉)

=> 沒用

4. 調整 windows 電源設定為最佳效能 (一樣原本為了節能)

=> 沒用

5. 開啟顯卡 Resizable BAR
原先發現開啟 ReBAR 會遇到 windows 無法驅動 passthrough GPU
後來找到文章是說顯卡 BAR 的 resource 2 size 必須小於 8MB
resource 0 沒有限制

先進 BIOS 打開 ReBAR 跟 4G decoding
進 PVE 後 unbind 顯卡驅動、設定 resource 2 size 再 bind 回去
echo 0000:03:00.0 > /sys/bus/pci/drivers/vfio-pci/unbind
echo 3 > /sys/bus/pci/devices/0000\:03\:00.0/resource2_resize
echo 0000:03:00.0 > /sys/bus/pci/drivers/vfio-pci/bind
然後開啟 windows VM

=> 還是沒用

6. 關閉 Windows 記憶體完整性保護
之前曾觀察到開啟這個有機會造成 windows 當機
後來幾乎沒有再當機過就不管它了

=> 沒想到兇手竟然就是這個


現在開戰車可以設定 HD 客戶端高畫質了

fps 在 120 上下,其實還是減損蠻多的,但至少能玩了

注意這是 4K 無邊界視窗化的效能

把過程紀錄下來提供給想用 VM 玩遊戲的人參考

--

之前只有跑一些小黃遊跟節奏醫生,沒有發現效能問題

平常就是開網頁、通訊軟體、看影片、寫程式,雖然偶爾感覺有點卡但沒想太多

沒想到跑個戰車竟然這麼卡

順帶一提,楓之谷的反外掛很 G8,用 VM 就是不給玩

雖說網路上有一些解法,但要動到 kernel 跟 hypervisor 相關的東西

風險比較大,看完覺得破遊不值得搞,反正也退很久了

--

更多關於這台主機:
https://www.ptt.cc/PC_Shopping/E.8UD69CvXmMms
https://www.ptt.cc/PC_Shopping/E.h0SycewRS-7I

--

a000000000: 沒買就不能叫喔 位蛇摸 10/12 03:28
eyecolor: 連買都不想買的人當然不會在意..廢話一堆 10/12 03:28
a000000000: 我就喜歡叫 一一ㄚㄚ鴨鴨 10/12 03:28
eyecolor: 秀出證明來報備阿..對我吠就拿出資格來 10/12 03:29
a000000000: 我改秀識別證可以ㄇQQ 10/12 03:29

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.245.37 (臺灣)
PTT 網址