侧边栏壁纸
博主头像
v林羽博主等级

行动起来,活在当下

  • 累计撰写 171 篇文章
  • 累计创建 34 个标签
  • 累计收到 14 条评论

目 录CONTENT

文章目录

【Windows使用】之--Hyper-V显卡虚拟化VMGpu设置

v林羽
2022-07-06 / 1 评论 / 6 点赞 / 11835 阅读 / 4279 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-11-01,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

【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虚拟化得以流出,目前已知的:

  1. GPU Paravirtualization是WDDM2.4的功能,但微软博客声称WDDM2.5才支持该功能。
  2. WDDM2.4宿主机和客户机必须是相同的内核版本,否则虚拟显卡加载错误。
  3. WDDM2.5及以上的系统中,宿主机和客户机可以是不同的系统,比如主机使用1809,客户机可以是1809及以上的版本。
  4. 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. 其他

  1. 以上是Nvidia显卡的设置方法。如果是AMD显卡,宿主机驱动管理器,显卡驱动信息里的文件都必须全部拷贝到虚拟机里(路径和宿主机相同),不然会出现各种驱动不成功。
  2. 宿主机驱动更新之后要同步把文件再拷贝到虚拟机一次,不然会报错。
  3. 当使用增强会话模式时,会禁用Direct3D 加速。

增强会话模式是通过 RDP(远程桌面协议)将 Hyper-V 与虚拟机连接起来。建议日常开启增强,几周的使用情况而言,剪切板、文件复制等功能都需要开启增强会话。声音输出和画面流畅度都会比基本模式更优秀,经测试显卡调用还是正常的(3D跑分变化不大,没有测试游戏,需要Direct3D加速的游戏可能会无法运行)。

RDP/增强会话模式优点:

  • 使虚拟机实现可调整大小和高 DPI 感知。
  • 改进虚拟机集成
    • 共享的剪贴板
    • 通过拖放和复制粘贴进行文件共享
  • 允许设备共享
    • 麦克风/扬声器
    • USB 设备
    • 数据磁盘(包括 C:)
    • 打印机

开启增强会话模式:

首先需要虚拟机中启用远程桌面。在“设置”应用或“开始”菜单中搜索“远程桌面设置”。开启“启用远程桌面”。

这里需要注意的是,在Windows 10 2004 以后的版本,如果“虚拟机连接”窗口显示的背景没有登录提示。首先,使用基本模式重新登录到虚拟机。 在“设置”应用或“开始”菜单中搜索“登录选项”,关闭“需要 Windows Hello 登录 Microsoft 帐户”。然后,注销或重新启动虚拟机。

6

评论区