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