Xen:輔助 GPU 直通後 domU 上的圖形輸出
我已經完成了到 Linux domU 的輔助 GPU 直通,但我不知道如何從輔助 GPU 輸出 Xorg。
dom0 使用的是 Intel 集成顯卡。我正在通過 AMD 6450 到 domU,因為這裡有兩次提到它:
https ://wiki.xenproject.org/wiki/Xen_VGA_Passthrough_Tested_Adapters
我所做的簡短列表:
- 在主機板 BIOS 中啟用 VT-d
- 添加
intel_iommu=on
到 dom0 GRUB- GPU的黑名單模組及其音頻子系統
modprobe xen-pciback
xl pci-assignable-add _______
適用於 GPU 及其音頻子系統- 在 Xen 配置文件中添加了兩個 PCI ID:
pci = [ '_____', '_____' ]
- 在 domU 中引導並安裝 Linux
當我啟動時,經過上述步驟,我收到一條錯誤消息:
libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
儘管出現上述錯誤,但當我
lspci -nnk
在 domU 上執行時,它顯示了 GPU 和音頻子設備,包括以下幾行:
Kernel driver in use: radeon
Kernel driver in use: snd_hda_intel
當然,還有一行主 domU 虛擬 GPU:
Kernel driver in use: cirrus
然後,如果我將 VGA 或 DVI 電纜從通過的 GPU 連接到顯示器,顯示器將保持開啟狀態(綠色電源按鈕)並顯示深灰色螢幕。而通常,當顯示器沒有檢測到輸入時,它會直接進入待機狀態(橙色電源按鈕)。所以有某種GPU輸出。
如果我通過VNC
startx
執行xrandr
,似乎沒有任何物理監視器的跡象,似乎只有虛擬化的VNC / cirrus監視器。如果我添加
gfx_passthru=1
到配置文件,它總是在啟動時失敗。添加時出現的第一條錯誤消息gfx_passthru=1
是:
libxl: error: libxl_dm.c:1302:libxl__build_device_model_args_new: unable to detect required gfx_passthru_kind
在我使用虛擬化之前,將輸出從主/次顯卡切換到另一個,我通常只需更改 BIOS 中的設置,Linux 就會隨之而來。所以 Xorg + domU 對我來說是非常不同的領域。
在此之後,有誰知道我如何通過 domU 中的輔助 GPU 輸出 Xorg?各種線上 GPU 直通指南僅涵蓋 Windows。
更新
在 StrongBad 的回應之後,我已經從 Debian wiki domU 從 Arch domU 遷移到 Debian 8.8,因為
fglrx
官方的 Arch 儲存庫中不再存在。然而,與 Arch domU 不同的是,當通過 GPU 連接到顯示器時,Debian domU 沒有神秘的深灰色顯示器輸出和常亮的綠色電源按鈕。
儘管如此,我還是做了以下事情:
- 已安裝
fglrx
- 冉
sudo aticonfig --initial
- 從 Debian wiki添加了四行
/etc/xorg.conf
但是,當我
startx
從 VNC TTY 執行時,它會崩潰。狀態中的第一條錯誤消息Xorg.0.log
:
(EE) fglrx(0): Failed to open CMMQS connection
看起來你已經很遠了。我或多或少地成功獲得了與 Xen 4.4.0(和一些更高版本)一起使用的輔助 VGA 直通。我在使用 4.7 版時遇到了問題,但從未真正嘗試過調試它。如果我沒記錯的話,在我的工作系統中,我還會收到如下錯誤:
libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
在嘗試使二級直通工作時,我在 Xen 列表上提出了一個問題。我有兩個問題我永遠無法解決。首先是TTY 在主設備上,所以我看不到任何引導消息,只能使用 X 會話。第二個問題是我只能使用專有的催化劑驅動程序。看起來您正在嘗試使用 Radeon 驅動程序,所以這可能是您的問題。
我很確定
gfx_passthru=1
僅用於主要直通,因此您可能不想要它。我在 Xen 郵件列表上詢問了主要和次要傳遞之間的區別,除了很多痛苦之外,是什麼。回應是:將介面作為主要介面傳遞的唯一優點(我從未真正見過這項工作的 FWIW)是在這種情況下,您可以在載入 GPU 之前看到 SeaBIOS POST 螢幕和 domU OS 啟動進度