2024年3月17日发(作者:酒盼波)
Xen VGA graphics adapter passthrough
一.显卡虚拟化调研报告
1.1 简介
Xen VGA graphics adapter passthrough是指将显卡绑定到虚拟机,虚拟机可以
直接的独占的使用显卡,获得更好的3D和视频加速性能。
Xen VGA passthrough只能用于全虚拟化虚拟机,不支持半虚拟化虚拟机。
Xen VGA passthrough需要Xen4.0或更新版本,需要dom0内核包含pci后端驱
动。
Xen VGA passthrough需要硬件(CPU,主板,芯片组,BIOS)支持IOMMU(Intel
VT-d或 AMD IOMMU)技术,满足要求的硬件参考
/xenwiki/VTdHowTo。
1.2 原理
VGA passthrough的技术基础是PCI passthrough,PCI passthrough需要硬件支
持IOMMU,主要用于网卡,U盘等PCI设备的直接访问。显卡的一些特殊性使
其不能直接使用PCI passthrough,比如VGA显卡有自己的bios,集成显卡需要
固定内存作为显存等。
VGA passthrough的步骤如下:
1) 映射VGA帧缓存到虚拟机。
2) 拷贝VGA BIOS 到虚拟机。
3) 映射VGA I/O 端口。
4)
关闭Xen的VGA模式,即禁止dom0使用该VGA显卡。
1.3 显卡支持情况
Xen4.0的显卡支持情况
支持intel集成显卡
支持主显卡适配器(primary graphics adapters),即开机启动时默认使用
的显卡。
部分Nvidia和ATI的显卡需要而外的patch来支持FLR(Function Level
Reset)。
部分Nvidia显卡需要而外的使vBAR=pBAR的patch。
部分显卡需要修改VGA BIOS。
1.4 成功案例
1) Wiki上测试过的显卡
网址:/xenwiki/XenVGAPassthroughTestedAdapters。
Intel Corporation 82Q35 Express Integrated Graphics Controller,下图显示
相关的配置信息。
Nvidia显卡,官方数据仅有FX 3800, 4800 and 5800支持graphics
passthrough,下图显示相关的配置信息。
ATI显卡,经过测试的显卡有Radeon 4850,Radeon 4870,FirePro V5700和
FirePro M5800。用户报告测试成功的有ATI HD4550,ATI HD5750,Radeon
4770。 ATI HD5750成功案例网
址:
/VGA-passthrough-GA-890FXA-with-ASUS-
。
2) 视频演示
软件环境:
Domain0操作系统:Fedora 11 Linux x86-64
Xen版本:Xen 3.5-unstable
Domain0内核:2.6.31.4 (pvops)
DomainU:Windows XP Home Edition SP3 32-bit,全虚拟化VM。
Intel GFX Passthrough Patches Applied: Version 1 (Provided by Han Weidong
Intel),不知道这个patch具体是什么。
硬件环境:
显卡:NVIDIA GeForce 8400 GS PCI Express x16
CPU:Pentium(R) Dual-Core CPU E6300 2.8GHz
主板:Intel DQ45CB
内存:8GB DDR2-800
下图是虚拟机中显卡型号的显示(视频截图)。
2024年3月17日发(作者:酒盼波)
Xen VGA graphics adapter passthrough
一.显卡虚拟化调研报告
1.1 简介
Xen VGA graphics adapter passthrough是指将显卡绑定到虚拟机,虚拟机可以
直接的独占的使用显卡,获得更好的3D和视频加速性能。
Xen VGA passthrough只能用于全虚拟化虚拟机,不支持半虚拟化虚拟机。
Xen VGA passthrough需要Xen4.0或更新版本,需要dom0内核包含pci后端驱
动。
Xen VGA passthrough需要硬件(CPU,主板,芯片组,BIOS)支持IOMMU(Intel
VT-d或 AMD IOMMU)技术,满足要求的硬件参考
/xenwiki/VTdHowTo。
1.2 原理
VGA passthrough的技术基础是PCI passthrough,PCI passthrough需要硬件支
持IOMMU,主要用于网卡,U盘等PCI设备的直接访问。显卡的一些特殊性使
其不能直接使用PCI passthrough,比如VGA显卡有自己的bios,集成显卡需要
固定内存作为显存等。
VGA passthrough的步骤如下:
1) 映射VGA帧缓存到虚拟机。
2) 拷贝VGA BIOS 到虚拟机。
3) 映射VGA I/O 端口。
4)
关闭Xen的VGA模式,即禁止dom0使用该VGA显卡。
1.3 显卡支持情况
Xen4.0的显卡支持情况
支持intel集成显卡
支持主显卡适配器(primary graphics adapters),即开机启动时默认使用
的显卡。
部分Nvidia和ATI的显卡需要而外的patch来支持FLR(Function Level
Reset)。
部分Nvidia显卡需要而外的使vBAR=pBAR的patch。
部分显卡需要修改VGA BIOS。
1.4 成功案例
1) Wiki上测试过的显卡
网址:/xenwiki/XenVGAPassthroughTestedAdapters。
Intel Corporation 82Q35 Express Integrated Graphics Controller,下图显示
相关的配置信息。
Nvidia显卡,官方数据仅有FX 3800, 4800 and 5800支持graphics
passthrough,下图显示相关的配置信息。
ATI显卡,经过测试的显卡有Radeon 4850,Radeon 4870,FirePro V5700和
FirePro M5800。用户报告测试成功的有ATI HD4550,ATI HD5750,Radeon
4770。 ATI HD5750成功案例网
址:
/VGA-passthrough-GA-890FXA-with-ASUS-
。
2) 视频演示
软件环境:
Domain0操作系统:Fedora 11 Linux x86-64
Xen版本:Xen 3.5-unstable
Domain0内核:2.6.31.4 (pvops)
DomainU:Windows XP Home Edition SP3 32-bit,全虚拟化VM。
Intel GFX Passthrough Patches Applied: Version 1 (Provided by Han Weidong
Intel),不知道这个patch具体是什么。
硬件环境:
显卡:NVIDIA GeForce 8400 GS PCI Express x16
CPU:Pentium(R) Dual-Core CPU E6300 2.8GHz
主板:Intel DQ45CB
内存:8GB DDR2-800
下图是虚拟机中显卡型号的显示(视频截图)。