現代硬件輔助桌面虛擬化產品(例如VMware Workstation或VirtualBox的)通常提供來賓OS與具有有限的功能的虛擬圖形適配器。允許訪客OS訪問圖形適配器直接
是否有可能轉換適配器,即提供客戶操作系統直接訪問真正的圖形適配器,並分配一個虛擬的圖形適配器到主機操作系統?有沒有任何軟件具有此功能?如果沒有,是否有可能開發這樣的系統?假設我們只有一個客戶操作系統。
現代硬件輔助桌面虛擬化產品(例如VMware Workstation或VirtualBox的)通常提供來賓OS與具有有限的功能的虛擬圖形適配器。允許訪客OS訪問圖形適配器直接
是否有可能轉換適配器,即提供客戶操作系統直接訪問真正的圖形適配器,並分配一個虛擬的圖形適配器到主機操作系統?有沒有任何軟件具有此功能?如果沒有,是否有可能開發這樣的系統?假設我們只有一個客戶操作系統。
應該可以很快使用VGA直通由Xen的4(目前不穩定分支)來實現:
引述Xen FAQ:
「的Xen 4.0.0是第一個版本支持VGA圖形適配器直通到Xen的HVM(完全虛擬化)的客人。這意味着你可以給HVM來賓的圖形適配器的全面和直接的控制,使其能夠在虛擬機「
高性能全3D和視頻加速「Xen VGA直通需要主板芯片組,主板BIOS和Xen支持IOMMU(英特爾VT-d)。」
注意,現在只有少數主板支持IOMMU。請參閱常見問題了解更多信息。
什麼處理器?
這是背後的I/O虛擬化(英特爾的實現被稱爲VT-d)的想法。您需要CPU支持來允許來賓直接訪問視頻硬件,同時阻止來賓踩踏其他資源(如磁盤系統)。
I/O硬件虛擬化尤其是圖形卡的虛擬化使用的技術稱爲IOMMU. AMD已經發布了HyperTransport架構中的IOMMU技術規範。英特爾已經發布了IOMMU技術的規範,作爲Directed I/O的虛擬化技術,縮寫爲VT-d。
通過虛擬化,客戶操作系統可以使用不是專門爲虛擬化硬件製造。 IOMMU的一個示例是AGP和PCI Express圖形卡使用的圖形地址重新映射表(GART)。更高性能的硬件,如圖形卡使用DMA直接訪問存儲器;在虛擬環境中,所有內存地址都會被虛擬機軟件重新映射,從而導致DMA設備發生故障。 IOMMU處理重新映射,允許本地設備驅動程序用於客戶操作系統。
大多數虛擬化軟件的支持硬件加速的OpenGL和一些人提供experimental Direct3D acceleration such as VMWare。 VMware,Citrix和VirtualBox等產品提供硬件加速功能
刪除了C++ C Assembly標籤 - 這甚至是編程問題嗎? – MSalters