[心得] AMD 顯卡在 linux host/VM 間熱插拔現況
得益於 Valve 大力推動 Steam Deck 和其中的 Proton,linux 如今已經可以執行不少
Windows only 的遊戲[1],然而線上遊戲的防外掛軟體仍是個大麻煩,因此偶爾仍需要
用 Windows 虛擬機器並 passthrough 顯卡到 VM 中才能愉快的玩多數線上遊戲。
在 linux 5.14 之前 AMD 的顯卡有熱插拔的問題[2],使得 passthrough 到 VM 的顯卡很難回到 host 上繼續使用,在只有一張效能較佳顯卡的主機上需要重開機才能讓 host利用那張顯卡,想在 host 也玩效能需求較高的遊戲時很不方便;然而搭載 Linux 5.15的 Ubuntu 22.04 上的顯卡在從 VM 切回 Host 的過程中 module 會載入失敗[3],
workaround 稍微麻煩,可能要掛 login script 和 libvirt hook 才能順利熱插拔。
最近升級 Ubuntu 22.10 (linux 5.19) 測試版後,發現狀況改善很多,熱插拔幾乎不用額外修改就能用了:
- Ubuntu Host OS 可以掛著 amdgpu 啟動(預設行為),
用 DRI_PRIME=1 環境變數啟動遊戲或其他用到顯卡的程式就可以使用顯卡
- 關掉使用顯卡的程式後,從 libvirt (如 virsh / virt-manager) 啟動 VM,
就會自動解開 amdgpu module 並換上 vfio-pci
- VM 關機後會自動換回 amdgpu,跟啟動 VM 前相同
如果原本已經有設定過 passthrough,拿掉 kernel 或 module 參數的 vfio-pci.ids,並在 /etc/X11/xorg.conf 中加上設定避免 GPU 開機時被 Xorg 撈去當顯示螢幕:
Section "ServerFlags"
Option "AutoAddGPU" "false"
EndSection
此外 VM 的 libvirt XML 需要有 managed="yes":
<hostdev mode="subsystem" type="pci" managed="yes">
這樣就不用購置兩張性能接近的顯卡、或每次重開機切換 vfio module 的設定了,可以給近期想買或已有 AMD 顯卡偶爾休閒用 vfio / PCIe passthrough 玩遊戲的人參考。
實際運作情況可以參考影片:
(VM 執行線上遊戲後關機,Host OS 可接著啟動 steam 、Corectrl 和遊戲在顯卡上運作)(註:可能有一點蘇菲的煉金工房一代雷)
https://youtu.be/Q36zKXpHfJ4
硬體設備:
- AMD Ryzen 5 5600G
- MSI X470 GAMING PLUS MAX
- AMD RX 460 (其實不是這個用途的良好案例)
軟體:
- Ubuntu 22.10, linux 5.19, mesa 22.2.0+git2209211817
- libvirt 8.6.0, QEMU 7.0
- looking-glass B6-rc1, scream
kernel 開機參數:
amdgpu.ppfeaturemask=0xffffffff amd_iommu=on iommu=pt kvm.ignore_msrs=1
(第一個是用於corectrl降頻,與 passthrough 應該無關)
[1] 可以執行的遊戲參考 protondb: https://www.protondb.com/
[2] https://www.phoronix.com/news/Linux-5.14-AMDGPU-Hot-Unplug
[3] https://gitlab.freedesktop.org/drm/amd/-/issues/1836
--
...對不起,所以是Linux下可以將PCIE passthro到哪一種
VM? VMWARE? 還是?
這是小白問題 orz 但想知道想滿久了
linux 在核心有一套自己的虛擬機器監視器 (hypervisor)- KVM (kernel virtual machine),搭配 QEMU 軟體模擬硬碟、網路卡等可以達成完整的虛擬機器功能, 最後透過 libvirt 呈現給使用者方便操作(像影片右上的 virt-manager)。
※ 編輯: v72807647 (122.116.169.156 臺灣), 09/25/2022 04:21:41 ※ 編輯: v72807647 (122.116.169.156 臺灣), 09/25/2022 04:24:53kvm+qemu,大部份人用這。vmware較少,xen更少
如果kernel修好了 理論上是不是pve支援了
通常 PVE 應該不會在 host 開桌面環境或跑應用程式,不太需要用 amdgpu driver 吧? 開機直接綁 vfio-pci 給不同 VM 用在 Ubuntu 21.10/22.04 等版本都沒遇到問題; 除非遇到之前的 AMD reset bug,才有在不同 VM 間會不能切換的狀況。 如果還是有遇到可以試試看 vendor-reset:
https://github.com/gnif/vendor-reset
比較想知道apu的內顯hdmi直通的問題好了沒?
好奇PVE +1
有條件的通常還是選esxi+vspher(+vsan) 介面舒服
推
推
推
不懂還是推一下XD
看PVE的Kernel有沒有打相關patch吧,希望有跟上
了解 感謝
爆
[閒聊] 中國兆芯顯卡效能比十年前的N牌A牌顯卡慢這幾天越來越多中國廠商開始生產自己的顯示卡,雖然早就知道想追上 NVIDIA 與 AMD 應該還要好幾年,但相信對於很多玩家來說,一定還是很好奇現在這些顯卡的效能表現到 底如何?差距有多大?為此,最近就有一張由中國兆芯推出的 GLENFLY Arise-GT10C0 獨 立顯卡被測試,結果顯示只比 11 年前的 NVIDIA 與 AMD 老顯卡快一點。43
[情報] AMD承認無法復刻NV顯卡的成功:走自己的路N卡軟體好 AMD承認無法複刻NVIDIA顯卡成功:走自己的路 在顯卡市場,AMD與NVIDIA是目前主要的兩家高性能GPU供應商 其中NVIDIA極為強勢,不論遊戲卡還是加速卡市場上都壟斷性優勢 AMD的顯卡性價比高,但正面競爭難度很大。 NVIDIA顯卡到底強在哪裡?還是讓競爭對手AMD來評點吧30
[問卦] Linux真的比Windows 好用嗎?電腦高手的話是不是都用linux系統? 理論上來說,linux是指令叫電腦執行工作, 可以編寫bash之類的安排例行公事,較有效率 可是解壓縮點兩下,接著開始進行安裝, windows應該很方便吧?27
[情報] Steam Deck掌機效能不強?可土炮外接顯卡Valve 的 Steam Deck 掌機使用了 AMD RDNA2 GPU,其實遊戲效能以掌機來看已經還不錯 但有些玩家就是不能滿足,應該只是手癢想搞東搞西 最近就有 Youtuber 想到了為 Steam Deck 外接一張獨立顯卡。 Steam Deck 使用的是 Windows 11 系統,所以一些軟體、驅動應該都不是甚麼太大問題 不過 Steam Deck 沒有 Thunderbolt,外接顯卡只能透過內部唯一的 M.2 插槽16
Re: [問卦] Linux Based系統為啥賣不贏Windows?yoyo 我高雄成5啦 簡單一句結束啦, 就是使用者習慣的問題啦. 小學國中也只會教你 win, 又不會教你 linux. 但是阿, 成5我今年30歲了,18
[心得] 手機上跑Linux KDE桌面環境Termux X11是一款充當XWayland伺服器的APP。 透過它,我們就能免Root在Android上跑KDE Plasma (Linux桌面環境),支援觸控手勢, 加上螢幕小鍵盤,若是平板的話就不太需要接鍵盤滑鼠了。 要注意的是,這只是一款APP,隨時都可以返回Android桌面。16
[情報] Linus Torvalds公布Linux 5.19,讚Arm-baLinus Torvalds公布Linux 5.19,讚Arm-based Mac電腦好用 文/林妍溱 | 2022-08-02發表 Linux之父Linus Torvalds上周公布Linux 5.19版核心,而且稱Arm-based Mac電腦終於變得對開發工作很有用了。 Torvalds是利用執行Asahi Linux on Arm64 Mac筆電釋出最新版核心。他說,很早以前就有Arm 64硬體執行Linux,但是作為開發平臺而言,從來都不是很好用,但這次拜Asahi團隊之賜,他等待許久的願望終於成真。 這是Torvalds第3次使用蘋果硬體做Linux 開發。很多年前第1次是使用PPC970機器,10多年前當輕薄型筆電MacBook Air推出時是第2次。16
[問卦] Ubuntu 為什麼不買下 Linux Mint?Ubuntu 的桌面真的很難用 而且不能改 classic 模式,難用死了 = = 相較起來,Linux Mint 的桌面好用多了 比較像一個桌面系統該有的樣子 反正 Linux Mint 是基於 Ubuntu3
Re: [問卦] Linux可以當作daily driver嗎?你如果平時用電腦可以完全戒除MS Office系列產品的話我覺得可以 或者也可以在Linux中架VM灌一個Windows 偶爾要用Office系列軟體時開VM用一下也可 Open Office 或 Liboffice還是跟MS Office差太多了.... 至於很多Windows上的軟體其實Linux也可以藉由Wine來執行
84
[情報] 極客灣:英特爾酷睿Ultra 200S評測:無20
[情報] 美國政府為挽救Intel採開放態度,也不排6
[心得] IRocks T27開箱 & 與T07 NEO微比較心得3
[開箱] 挑戰萬元的240水冷 有超大螢幕的HYTE Q6010
[請益] 6K 文書影音迷你小遊戲 NUC10
[菜單] 60K 98X3D遊戲機(不含顯卡)1
[請益] 升級請益 預算40K1
[情報] 英特爾創下史上最大單季虧損8
[請益] 顯卡跟電源升級請益3
[菜單] 已有螢幕 45k遊戲機X
[菜單] 75k預算 實況/mmo/模擬器遊戲機