【技术实现步骤摘要】
vhost
‑
user
‑
gpu虚拟机的远程桌面实现方法及系统
[0001]本专利技术涉及虚拟机
,具体涉及一种vhost
‑
user
‑
gpu虚拟机的远程桌面实现方法及系统。
技术介绍
[0002]目前,大多数厂商使用QEMU/KVM的架构来实现桌面虚拟化,并搭配使用VGA、QXL、Cirrus等虚拟显卡进行图像输出。这类虚拟显卡成本低廉、易部署,且兼容性较好,但因为虚拟显卡通常是借由宿主机的CPU来模拟执行图像命令的缘故,也存在性能不足、无法胜任大型3D应用的问题,其应用范围有限。
[0003]作为渲染API转发方案的具体实现,virtio
‑
gpu半虚拟化显卡方案采用virtio半虚拟化技术,可以将虚拟机中的图像渲染命令封装转发给宿主机的virglrenderer组件(给QEMU等虚拟机管理器提供渲染API接口,并可以调用宿主机物理显卡来实现虚拟机图像渲染的硬件加速),再由virglrenderer组件将图像渲染命令解析后提交给宿主机物理显卡进行渲染,从而实现虚拟机图像渲染的硬件加速,其性能相比VGA、QXL、Cirrus等纯虚拟显卡有了明显提升。然而,因为virtio技术本身的限制,virtio
‑
gpu与虚拟机进行数据通信时仍需要多次VM Exit(退出虚拟机)和VM Entry(返回虚拟机)操作,每次VM Exit和VM Entry都需要保存和还原虚拟机的运行时快照,产生了大量额外开销 ...
【技术保护点】
【技术特征摘要】
1.一种vhost
‑
user
‑
gpu虚拟机的远程桌面实现方法,其特征在于,包括在使用vhost
‑
user
‑
gpu虚拟显卡的虚拟机进行渲染输出时,利用egl
‑
headless协议将虚拟机渲染上下文中的帧缓存图像数据读取到内存指定区域,并将内存指定区域中的帧缓存图像数据通过指定的远程桌面协议发送到远端以实现对虚拟机的远程桌面访问。2.根据权利要求1所述的vhost
‑
user
‑
gpu虚拟机的远程桌面实现方法,其特征在于,所述vhost
‑
user
‑
gpu虚拟显卡包括独立运行于用户态的vhost
‑
user
‑
gpu数据面后端以及位于qemu中的vhost
‑
user
‑
gpu显示设备,虚拟机通过virtio
‑
gpu驱动来加载位于qemu中的vhost
‑
user
‑
gpu显示设备,利用宿主机物理显卡来进行虚拟机中的图像渲染处理。3.根据权利要求2所述的vhost
‑
user
‑
gpu虚拟机的远程桌面实现方法,其特征在于,所述vhost
‑
user
‑
gpu数据面后端通过宿主机中的共享内存来直接访问虚拟机的渲染命令处理队列,若从渲染命令处理队列中截获到图像渲染命令,则调用virglrenderer组件来利用宿主机物理显卡完成图像渲染硬件加速,渲染后的图像存放在宿主机物理显卡的帧缓存中,并在渲染命令处理完毕后将处理结果通过渲染命令处理队列反馈给虚拟机。4.根据权利要求3所述的vhost
‑
user
‑
gpu虚拟机的远程桌面实现方法,其特征在于,所述利用egl
‑
headless协议将虚拟机渲染上下文中的帧缓存图像数据读取到内存指定区域的触发条件包括定时执行和基于虚拟机发送的屏幕刷新命令flush触发执行。5.根据权利要求4所述的vhost
‑
user
‑
gpu虚拟机的远程桌面实现方法,其特征在于,所述基于虚拟机发送的屏幕刷新命令flush触发执行包括:当vhost
‑
user
‑
gpu数据面后端从渲染命令处理队列中截获到屏幕刷新命令flush时,所述vhost
‑
user
‑
gpu数据面后端将屏幕刷新命令flush转发给vhost
‑
user
‑
gpu显示设备,vhost
‑
user
‑
gpu显示设备在收到屏幕刷新命令flush后,立即通过egl
‑
headless协议将虚拟机渲染上下文中的帧缓存图像数据读取到内存指定区域。6.根据权利...
【专利技术属性】
技术研发人员:李唯实,孙立明,张铎,谢明,
申请(专利权)人:麒麟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。