PTT推薦

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

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

這幾天回鍋戰車世界

但現在手邊只剩 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 網址

cheat 12/21 15:45剛剛看一下我預設就是關閉的

jack860719 12/21 15:46pve GPU直通玩家幫推 Linux debug搞定

jack860719 12/21 15:46後很有成感

jack860719 12/21 15:46不過我是直通1030加減玩小遊戲

stephen2232 12/21 15:57gpu直通推推,上次igd嘗試直通一直

stephen2232 12/21 15:57失敗,不是花屏就是有畫面但記憶體

stephen2232 12/21 15:57直接吃掉4g,stolen memory那邊一直

stephen2232 12/21 15:57搞不定就放棄了

labbat 12/21 16:05你應該在開始打msinfo32查一下還有什麼疑

labbat 12/21 16:05難雜項的虛擬化功能是可能衝到的

agong 12/21 16:20Win11 24H2 Nov預設開/Win11 23H2預設關

w180112 12/21 16:25現在amd GPU還會遇到passthrough vm關機

w180112 12/21 16:26後需要用別的kernel module 去reload嗎

ABA0525 12/21 16:33所以打電動,選項6是推薦 關閉?

kaltu 12/21 16:45這跟shopping板業務,消費行為或售後服務有

kaltu 12/21 16:45關嗎?

mrme945 12/21 16:46DIY都在範圍內吧,而且是分享心得,又不

mrme945 12/21 16:46是來問除錯的

a58524andy 12/21 16:46push

kaltu 12/21 16:48除了有附答案之外,這文體不就是除錯

labbat 12/21 16:57附答案的除錯非除錯文唄

labbat 12/21 16:58追加問問題的附答案的除錯文倒是除錯文

HMKRL 12/21 17:01感謝分享 自己也是PVE直通玩家沒遇到先筆記

scarbywind 12/21 18:06附答案的除錯XD

kuninaka 12/21 18:12推個

Tco03 12/21 18:20戰車世界不吃效能?

d030b 12/21 18:55感謝分享 vm去虛擬化可以是門很深的學問

johnjohnlin 12/21 18:58

Replication 12/21 19:06推一個 我也是用pve vm 也成功去虛擬

Replication 12/21 19:06化 很開心 雖然我不玩遊戲 只是喜歡

Replication 12/21 19:06這種成就感XD

Replication 12/21 19:07感謝提供除錯過程

adios881 12/21 19:10我用wine玩WOT覺得很順 算是不吃效能吧

adios881 12/21 19:10proton的wine

adios881 12/21 19:11顯卡1050ti i7 4790

adios881 12/21 19:11畢竟都十年了qb都漲鬍鬚了

adios881 12/21 19:15不過也是也是因為 proton 調教太強 用

adios881 12/21 19:15無印的wine就cpu很累

justice2008 12/21 19:29虛擬機最麻煩的就是搞設定 謝謝分享

Arbin 12/21 19:34記憶體完整性保護 我記得會開一個Hyper-V

Arbin 12/21 19:34對一般電腦來說就是 你的Windows實際上是

Arbin 12/21 19:34裡面的VM 一般來說這不會有太大的問題

Arbin 12/21 19:34但是你是PVE VM

Arbin 12/21 19:34那就是巢狀虛擬化狀態 有些設備利用率會變

Arbin 12/21 19:34得很差

Arbin 12/21 19:35如果你的PVE VM沒開巢狀虛擬化 那效能應該

Arbin 12/21 19:35會很慘 我猜主要是這個 一般來說沒人沒事

Arbin 12/21 19:35會在PVE VM裡面開巢狀虛擬化

Arbin 12/21 19:37現在微軟對於什麼 核心隔離、記憶體完整性

Arbin 12/21 19:37保護什麼的

Arbin 12/21 19:37那些實際上都會開Hyper-V Win11還會變預設

Arbin 12/21 19:37開啟 只能說要小心==

worldark 12/21 19:55完整性保護是用hyper-v喔 難怪這麼垃圾

s25g5d4 12/21 20:20巢狀虛擬化預設都是開的,正在測 hv_pass

s25g5d4 12/21 20:20through 會不會改善

sdbb 12/21 21:35軟體DIY

phoque 12/21 21:42折磨(X)學習(O) 我沒技術只能掏錢再買一

phoque 12/21 21:42台 乖乖用實體機