本發(fā)明涉及虛擬機(jī),尤其涉及一種虛擬gpu的使用方法、裝置及存儲介質(zhì)。
背景技術(shù):
1、linux操作系統(tǒng)是一款在服務(wù)器上廣泛應(yīng)用的操作系統(tǒng),隨著近些年的發(fā)展,?在網(wǎng)絡(luò)和計算機(jī)系統(tǒng)當(dāng)中有廣泛的應(yīng)用,可以提供數(shù)據(jù)庫管理和網(wǎng)絡(luò)服務(wù)等內(nèi)容。但仍有部分應(yīng)用程序無法得到linux操作系統(tǒng)的有效支持。目前,采用在linux系統(tǒng)中利用windows虛擬機(jī)來運(yùn)行與國產(chǎn)操作系統(tǒng)暫不兼容的應(yīng)用程序,是一個很好的過渡性解決方案,具有存在兼容性高、用戶體驗好等優(yōu)勢。
2、在圖形處理方面,目前windows虛擬機(jī)大多采用qxl、virtio-gpu等虛擬顯卡,而這些虛擬顯卡只具有純顯示功能,并不支持opengl、direct3d等常見的3d渲染功能。當(dāng)用戶使用三維建模軟件、運(yùn)行3d游戲時,虛擬機(jī)只能通過cpu來完成3d圖形的渲染,無法借助物理機(jī)上的物理顯卡來加速渲染,不僅3d性能無法滿足用戶要求,還會導(dǎo)致虛擬機(jī)內(nèi)的cpu占用率大大上升,增加系統(tǒng)卡頓,嚴(yán)重影響用戶的使用體驗。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例提供了一種虛擬gpu的使用方法、裝置及存儲介質(zhì),以解決現(xiàn)有技術(shù)中windows虛擬機(jī)中采用虛擬顯卡無法得到opengl支持,和無法借助物理機(jī)上的物理顯卡進(jìn)行加速渲染的技術(shù)問題。
2、第一方面,本發(fā)明實施例提供了一種虛擬gpu的使用方法,包括:
3、在windows虛擬機(jī)用戶空間加載virtio-gpu?opengl可安裝客戶端驅(qū)動時,在d3dkmt接口集中新增接口,所述新增接口用于建立客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間的直接通信;
4、通過新增接口利用客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間直接交互協(xié)議獲取內(nèi)核空間virtio-gpu的設(shè)備特性;
5、將所述設(shè)備特性作為參數(shù)傳入客戶端驅(qū)動,以使得客戶端對virtio-gpu設(shè)備進(jìn)行配置。
6、第二方面,本發(fā)明實施例還提供了一種虛擬gpu的使用裝置,包括:
7、新增模塊,用于在windows虛擬機(jī)用戶空間加載virtio-gpu?opengl可安裝客戶端驅(qū)動時,在d3dkmt接口集中新增接口,所述新增接口用于建立客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間的直接通信;
8、獲取模塊,用于通過新增接口利用客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間直接交互協(xié)議獲取內(nèi)核空間virtio-gpu的設(shè)備特性;
9、傳入模塊,用于將所述設(shè)備特性作為參數(shù)傳入客戶端驅(qū)動,以使得客戶端對virtio-gpu設(shè)備進(jìn)行配置。
10、第三方面,本發(fā)明實施例還提供了一種包含計算機(jī)可執(zhí)行指令的存儲介質(zhì),所述計算機(jī)可執(zhí)行指令在由計算機(jī)處理器執(zhí)行時用于執(zhí)行如上述實施例提供的虛擬gpu的使用方法。
11、本發(fā)明實施例提供的虛擬gpu的使用方法、裝置及存儲介質(zhì),通過在windows虛擬機(jī)用戶空間加載virtio-gpu?opengl可安裝客戶端驅(qū)動時,在d3dkmt接口集中新增接口,所述新增接口用于建立客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間的直接通信;通過新增接口利用客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間直接交互協(xié)議獲取內(nèi)核空間virtio-gpu的設(shè)備特性;將所述設(shè)備特性作為參數(shù)傳入客戶端驅(qū)動,以使得客戶端對virtio-gpu設(shè)備進(jìn)行配置。可以為windows虛擬機(jī)內(nèi)的virtio-gpu虛擬顯卡增加opengl支持,實現(xiàn)虛擬機(jī)內(nèi)3d圖形渲染的硬件加速功能。使得windows虛擬機(jī)可以借助物理機(jī)側(cè)的物理顯卡完成3d渲染,從而提高虛擬機(jī)的圖形性能,改善用戶體驗。
1.一種虛擬gpu的使用方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過新增接口利用客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間直接交互協(xié)議獲取內(nèi)核空間virtio-gpu的設(shè)備特性,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述通過接口利用客戶端驅(qū)動與virtio-gpu內(nèi)核模式驅(qū)動之間直接交互協(xié)議獲取內(nèi)核空間的資源信息,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述opengl驅(qū)動調(diào)用windows圖形顯示接口子系統(tǒng)的d3dkmt類函數(shù)接口,利用所述函數(shù)接口的內(nèi)核空間中的directx圖形內(nèi)核子系統(tǒng)和virtio-gpu內(nèi)核模式驅(qū)動進(jìn)行交互,包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述opengl驅(qū)動調(diào)用windows圖形顯示接口子系統(tǒng)的d3dkmt類函數(shù)接口,利用所述函數(shù)接口的內(nèi)核空間中的directx圖形內(nèi)核子系統(tǒng)和virtio-gpu內(nèi)核模式驅(qū)動進(jìn)行交互,還包括:
9.一種虛擬gpu的使用裝置,其特征在于,包括:
10.一種包含計算機(jī)可執(zhí)行指令的存儲介質(zhì),其特征在于,所述計算機(jī)可執(zhí)行指令在由計算機(jī)處理器執(zhí)行時用于執(zhí)行如權(quán)利要求1-8任一所述的虛擬gpu的使用方法。