【Windows使用】之–Hyper-V显卡虚拟化VMGpu设置
#虚拟机 #Hyper-V #Windows #教程 #系统
现在越来越多的软件在使用时,都会调用GPU获得更好的使用效果。如:浏览器的硬件加速模式。由于Nvidia和AMD都屏蔽了家用显卡虚拟化技术,常用的虚拟机也无法对显卡进行虚拟化。
微软曾经的RemoteFX vGPU虽然支持的显卡比较少也是一套比较好的解决办法,可惜无情被砍。
“出于安全方面的考虑,从2020年7月14日的安全更新开始,所有版本的Windows都默认禁用RemoteFX vGPU,从 2021年4月13日的安全更新开始,默认删除了RemoteFX vGPU”。
随着微软在wsl2中,加入了GPU虚拟化功能,也使得HyperV的GPU虚拟化得以流出,目前已知的:
- GPU Paravirtualization是WDDM2.4的功能,但微软博客声称WDDM2.5才支持该功能。
- WDDM2.4宿主机和客户机必须是相同的内核版本,否则虚拟显卡加载错误。
- WDDM2.5及以上的系统中,宿主机和客户机可以是不同的系统,比如主机使用1809,客户机可以是1809及以上的版本。
- WDDM2.7以前的系统,客户机运行D3D独占模式进入全屏的应用会引起各种宿主机蓝屏。
号称大刀部的微软:这项技术什么时候被砍😂。毕竟微软的WSL2和安卓子系统WSA也会用的GPU的虚拟化,应该能存在一段时间。
下面以Windows 11 22H2安装为例,WDDM版本3.0。
1. 查看WDDM版本
下面是Windows 11 22H2 WDDM信息
2. 安装及创建虚拟机
2.1. 创建虚拟机及安装系统。
Hyper-V及系统安装这里就不再写了。需要注意的是创建虚拟机时,内存不能选择动态方式,而且尽量选择大一点,系统镜像和宿主机系统版本尽量一致。
2.2. 添加虚拟机VMGpu设置
关闭虚拟机,设置里面关闭检查点功能,用管理员权限打开PowerShell,运行下面的命令
$vm = "你的虚拟机名称"
Remove-VMGpuPartitionAdapter -VMName $vm
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionVRAM 80000000 -MaxPartitionVRAM 100000000 -OptimalPartitionVRAM 100000000 -MinPartitionEncode 80000000 -MaxPartitionEncode 100000000 -OptimalPartitionEncode 100000000 -MinPartitionDecode 80000000 -MaxPartitionDecode 100000000 -OptimalPartitionDecode 100000000 -MinPartitionCompute 80000000 -MaxPartitionCompute 100000000 -OptimalPartitionCompute 100000000
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
Start-VM -Name $vm
2.3. 复制显卡驱动文件
运行完成之后等待虚拟机开机,连接上之后进入设备管理器查看显卡是否已经能被识别,由于Nvidia屏蔽了家用显卡的虚拟化功能,所以此时虽然已经可以在设备管理器看到显卡已被正确识别,但仍然无法安装驱动,必须要手动复制宿主机的以下驱动文件到虚拟机上。
先将宿主机的以下文件
C:\Windows\System32\nvapi64.dll
复制到虚拟机对应的System32文件夹中,再创建以下目录
C:\Windows\System32\HostDriverStore\FileRepository
在宿主机里打开设备管理器找到显卡-驱动-驱动程序详细信息,拉到最下面
在宿主机以下文件夹内,找到对应序号的nv驱动程序文件夹
C:\Windows\System32\DriverStore\FileRepository
复制到虚拟机上面刚创建的\FileRepository
文件夹内,重启虚拟机,打开设备管理器可以看到显卡已经可以正确识别并工作了
运行dxdiag,在呈现一栏可以再检查一下设备是否正常运转
3. 其他
- 以上是Nvidia显卡的设置方法。如果是AMD显卡,宿主机驱动管理器,显卡驱动信息里的文件都必须全部拷贝到虚拟机里(路径和宿主机相同),不然会出现各种驱动不成功。
- 宿主机驱动更新之后要同步把文件再拷贝到虚拟机一次,不然会报错。
- 当使用增强会话模式时,会禁用Direct3D 加速。
增强会话模式是通过 RDP(远程桌面协议)将 Hyper-V 与虚拟机连接起来。建议日常开启增强,几周的使用情况而言,剪切板、文件复制等功能都需要开启增强会话。声音输出和画面流畅度都会比基本模式更优秀,经测试显卡调用还是正常的(3D跑分变化不大,没有测试游戏,需要Direct3D加速的游戏可能会无法运行)。
RDP/增强会话模式优点:
- 使虚拟机实现可调整大小和高 DPI 感知。
- 改进虚拟机集成
- 共享的剪贴板
- 通过拖放和复制粘贴进行文件共享
- 允许设备共享
- 麦克风/扬声器
- USB 设备
- 数据磁盘(包括 C:)
- 打印机
开启增强会话模式:
首先需要虚拟机中启用远程桌面。在“设置”应用或“开始”菜单中搜索“远程桌面设置”。开启“启用远程桌面”。
这里需要注意的是,在Windows 10 2004 以后的版本,如果“虚拟机连接”窗口显示的背景没有登录提示。首先,使用基本模式重新登录到虚拟机。 在“设置”应用或“开始”菜单中搜索“登录选项”,关闭“需要 Windows Hello 登录 Microsoft 帐户”。然后,注销或重新启动虚拟机。
评论区