快轉到主要內容

Linux筆電GPU直通給QEMU/KVM虛擬機的二種作法

Linux系統 虛擬機與容器技術 GPU Passthrough Arch Linux
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

GPU Passthrough on Linux laptop.

1. 確認筆電的配置
#

很多筆電都是Intel內顯 + Nvidia獨顯的配置,少部份為AMD + Nvidia獨顯,更罕見的為搭載AMD獨顯的筆電。

像我的MSI Modern 15 A10,就是Intel i5 10210u (內顯UHD620) + Nvidia MX350獨顯的配置。

Nvidia顯示卡在筆電上仰賴「Optimus」技術來切換顯示卡。

根據 Lan Tian Blog的介紹,搭載Nvidia的筆電,內部會有以下三種接法:

  1. Nvidia Optimus MUXless架構,難以GPU直通

  2. Nvidia Optimus MUXed架構,最適合GPU直通

  3. Nvidia顯卡直連螢幕,難以GPU直通

執行lspci -nnk指令查看,確認我的筆電有二個顯示卡,且HDMI輸出端接在Nvidia顯示卡上,可知我的筆電是「Nvidia Optimus MUXed」架構。

以我的情況來說,要GPU直通給,就有二種作法。

2. 雙GPU直通
#

Linux用Intel內顯開機,啟動虛擬機後直通Nvidia顯示卡,Nvidia顯示卡插上「HDMI欺騙器」,Linux端再用Looking Glass存取Windows桌面。

好處是這樣可以同時用兩個系統,跟桌機GPU直通步驟沒兩樣,過程參考這篇: Ubuntu Nvidia GPU直通

3. 單GPU直通
#

透過Envy Control技術,切換主顯卡開機,虛擬機開機後將Nvidia顯示卡直通,切斷Linux與獨顯和內顯的連線,螢幕完全變成Windows的畫面,關機後再切回來Linux。

參考: Ubuntu Nvidia 單GPU直通

在撰寫Libvirt hook指令稿的時候,於取消載入Nvidia核心的指令前面,加入 EnvyControl切換獨顯的指令來調整顯示卡:

# 切換到內顯,關閉獨顯
sudo envycontrol -s integrated

# 切換到內顯,保持獨顯開啟
sudo envycontrol -s hybrid

# 切換到獨顯
sudo envycontrol -s nvidia

相關文章

Arch Linux如何將Nvidia GPU直通給Windows QEMU/KVM虛擬機
Linux系統 虛擬機與容器技術 GPU Passthrough Arch Linux QEMU
Linux系統Intel內顯直通給QEMU/KVM虛擬機的方法,不採用GVT-g
Linux系統 虛擬機與容器技術 GPU Passthrough Arch Linux QEMU
Ubuntu單GPU直通方法,Nvidia顯示卡直通給Windows 11 QEMU/KVM虛擬機
Linux系統 虛擬機與容器技術 GPU Passthrough Ubuntu QEMU Libvirt

留言板

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

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

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。