searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享

Virtio-GPU介绍

2023-07-18 06:22:26
198
0

背景:


显卡的提升在虚拟化场景下一直是一个难以解决的问题。

显卡本身需要强大的计算能力,这里qemu纯用cpu来模拟gpu的功能明显有些力不从心。

下面就简要的介绍一下virtio-gpu这个功能。

virtio-gpu介绍


同所有的virtio设备一样,virtio-gpu也是有这前端显卡和后端显卡组成。
virtio-gpu的前端显卡在kernel 4.2 进入主干,只具有2D功能。在4.4合入了3D功能。
所以要想体验这一功能需要使用kernel 4.4以后版本。

virtio-gpu相关代码主要在kernel的drivers/gpu/drm/virtio目录下。
这里简单就介绍下drm。详细的可以参看DRM介绍
DRM可以直接访问DRM clients的硬件。DRM驱动用来处理DMA,内存管理,资源锁以及安全硬件访问。

这样可以看到通过DRM来管理相关的内存信息,这样就可以通过virtio-gpu来将内存信息传递给后端。

接下来就是要看qemu中的后端实现。

virtio-gpu的支持在qemu 2.5中开始支持。
并准备在qemu2.6中对spice显卡进行支持。
作为一个典型的virtio设备,同样需要实现virtio的接口。在qemu的hw/display中包含了virtio-gpu后端的代码。

在这里qemu使用了Virgil 3D 这个工程来进行显卡模拟 参考Virgil 3D

Virgil 3D 目的是使用Host的3D加速技术来实现一个虚拟的3D GPU来供给虚拟机使用。

virtio-gpu架构

0条评论
0 / 1000
刘****成
3文章数
0粉丝数
刘****成
3 文章 | 0 粉丝
刘****成
3文章数
0粉丝数
刘****成
3 文章 | 0 粉丝

Virtio-GPU介绍

2023-07-18 06:22:26
198
0

背景:


显卡的提升在虚拟化场景下一直是一个难以解决的问题。

显卡本身需要强大的计算能力,这里qemu纯用cpu来模拟gpu的功能明显有些力不从心。

下面就简要的介绍一下virtio-gpu这个功能。

virtio-gpu介绍


同所有的virtio设备一样,virtio-gpu也是有这前端显卡和后端显卡组成。
virtio-gpu的前端显卡在kernel 4.2 进入主干,只具有2D功能。在4.4合入了3D功能。
所以要想体验这一功能需要使用kernel 4.4以后版本。

virtio-gpu相关代码主要在kernel的drivers/gpu/drm/virtio目录下。
这里简单就介绍下drm。详细的可以参看DRM介绍
DRM可以直接访问DRM clients的硬件。DRM驱动用来处理DMA,内存管理,资源锁以及安全硬件访问。

这样可以看到通过DRM来管理相关的内存信息,这样就可以通过virtio-gpu来将内存信息传递给后端。

接下来就是要看qemu中的后端实现。

virtio-gpu的支持在qemu 2.5中开始支持。
并准备在qemu2.6中对spice显卡进行支持。
作为一个典型的virtio设备,同样需要实现virtio的接口。在qemu的hw/display中包含了virtio-gpu后端的代码。

在这里qemu使用了Virgil 3D 这个工程来进行显卡模拟 参考Virgil 3D

Virgil 3D 目的是使用Host的3D加速技术来实现一个虚拟的3D GPU来供给虚拟机使用。

virtio-gpu架构

文章来自个人专栏
GPU
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0