PVE 下 Windows 虚拟机直通 Tesla P40 显卡,通过远程桌面游玩赛博朋克 2077

仅供娱乐(一种整活 PoC),不推荐日常长期使用

环境

硬件

  • 技嘉 Z370M DS3H
  • i5-8400
  • Tesla P40
  • 32GB 2400 DDR4

系统

  • 宿主机:Proxmox VE 7.3
  • 虚拟机:Windows 10 Pro 22H2

步骤

以下步骤默认 Windows 虚拟机已经直通 P40 显卡、安装好驱动

关于直通可以查看:Proxmox VE 显卡(Tesla P40)直通

配置显卡输出

配置方法和 Tesla P40 Windows 下配置核显输出 一样,都是通过改注册表开启 Grid 驱动功能

不同的是上述链接是输出到核显,这里需要输出到微软远程显示适配器(Microsoft Remote Display Adapter):

编辑 ControlSet001 下的注册表时,进入远程显示适配器的目录(可以通过查看 DriverDesc 的值来确定目录位置),然后在该目录下新建 DWORD 32 位条目,命名为 EnableMsHybrid,值为 2

重启系统使配置生效

测试游戏运行

开启远程桌面,建议分辨率设置为 1080p,更高的分辨率会消耗更多的 CPU 资源,导致帧率不理想

Steam 启动参数添加 --launcher-skip 跳过 RED 启动器

配置无误的话此时已经可以运行游戏了,但是鼠标不会固定在远程桌面内,导致体验非常痛苦

安装 RdpGamepad

鼠标的问题可以通过使用手柄解决,但是 RDP 本身不支持远程连接手柄

RdpGamepad 可以将本地手柄映射到远程机器,但是仅支持 Xbox 手柄

如官方页面(https://github.com/microsoft/RdpGamepad)所示,安装过程很简单

首先下载 RdpGamepad 安装包(https://github.com/microsoft/RdpGamepad/releases)和 ViGEmBus 驱动( https://github.com/ViGEm/ViGEmBus/releases

在远程机器上安装 ViGEmBus 驱动后安装 RdpGamepadReceiver

然后在本地机器上安装 RdpGamepadClient

不需要进行其他设置,直接开启新的远程桌面会话,在本地连接手柄,该手柄就可以连接到远程机器

效果

查看视频

https://www.bilibili.com/video/BV1vT411r748/

 

以下为 Intel 平台下 PVE 7 开启显卡直通的示例

环境

  • PVE 7.3-6
  • CPU i5 8400
    • 支持 VT-x/VT-d
  • 主板 BIOS 开启 VT-d

步骤

禁用开源 Nvidia 驱动

执行

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

开启并配置 IOMMU

以下默认启动引导方式为 grub,systemd-boot 的开启方式可以查看 https://pve.proxmox.com/wiki/PCI_Passthrough

编辑 /etc/default/grub,修改 GRUB_CMDLINE_LINUX_DEFAULT 一行,添加

intel_iommu=on iommu=pt

编辑 /etc/modules,写入以下内容,添加相应虚拟化组件

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

更新 grub

update-grub

重启系统

验证 IOMMU

Continue reading "Proxmox VE 显卡(Tesla P40)直通"