win10虚拟显示器开发
2017.7.7
最近在做虛擬化,需要在虛機上虛擬出一個顯示器,我使用的虛機是windows10,虛機里面有一張透傳顯卡(可看做是物理顯卡),我嘗試過一些方法,比如編寫一個虛擬的WDDM顯卡驅動,然后在顯卡驅動上接上一個顯示器,該方法是有效的,可以成功虛擬出一個顯示器,但是在虛擬顯示器上渲染數據使用的渲染引擎沒有用到透傳顯卡,在性能上達不到我的要求,所以只好放棄用這種方法。
于是,通過閱讀MSDN上的WDDM開發文檔,找到了Indirect display driver開發框架,比較符合我的要求,它好像是微軟在2016年年底出來的一個框架,比較新,所以除了微軟本身外,根本找不到任何開發資料,開發過程中需要問題只能自己一點點去嘗試,比較痛苦,微軟有提供的資料如下:
開發文檔: https://docs.microsoft.com/zh-cn/windows-hardware/drivers/display/indirect-display-driver-model-overview
在開發過程中遇到一些問題,需要注意的如下:
(1)該驅動為用戶態模式驅動,如果想要將圖片數據發送給底層硬件,需要先轉發給內核態驅動,由內核態驅動同硬件交互。
(2)該驅動不能作為虛擬驅動存在,他需要安裝在一個設備上,否則IddCxAdapterInitAsync函數會返回失敗。
(3)該驅動貌似只能裝在usb設備上,我之前嘗試裝在PCI設備上,雖然系統上會出現一個虛擬顯示器,但是只要你一使用這個顯示器,“桌面窗口管理器”
總結
以上是生活随笔為你收集整理的win10虚拟显示器开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用OpenMP加速你的程序[转]
- 下一篇: CoreData一些基本概念