AIO虚拟机使用Parsec串流打游戏
想必多数人想用parsec的场景都是主力机用作了AIO服务器,桌面上放了一个静音的瘦客户机,平时不怎么打游戏,但是就是想试试串流打游戏可不可行。我这里记录一下使用过程,只能说可用,但是好多问题需要解决。
我的虚拟机系统使用的是UnRAID,直通2080ti作为游戏显卡。客户机是MacBookAir。首先在AIO服务器的游戏虚拟机(宿主机)和客户机都装上Parsec。

硬件编码
如果直接连接,Parsec会有个警告提示The host is using software encoding...,意思应该是Parsec从宿主机传输视频信号到客户机的过程中,宿主机使用软件进行编码压缩,这样全靠cpu算力,不是最理想的情况,视频信号当然是用GPU编解码才会更轻松。如果此时你打开windows的显示设置,会发现现在只有一个windows基本显示适配器可以用,这个显示器是windows内置的一个虚拟显示器,无法调节分辨率和刷新率。
怎么能用上硬件编码呢?去网上找了一圈,说最简单的办法是将物理显示器(或者显卡诱骗器)插入硬件接口,这个显示器自然就可以使用显卡编解码了。然后我试着将很久之前买的一个显卡诱骗器插入显卡的DP接口,然后在你的宿主机的显示设置那里可以看到新插入的显示器了,此时在parsec连接页面的小按钮那里会多出来一个选择显示器的选项,Windows基本显示适配器是那个通用非即插即用显示器,新插入的是通用即插即用(pnp)显示器,选择即插即用的那个就会发现确实可以用硬件编码了,刷新率有肉眼可见的提升。
自定义分辨率
但是,分辨率最高还是只能选1080p,我的诱骗器买的时候没有看仔细,买来之后发现最高只能用1080p 60帧,才十来块钱,加上我当时对分辨率没有要求,就没有退换。然后我又试了一个老旧的HDMI接口的电视机(1080p), 还是最高只能选1080p;然后我又试了一个2k的便携屏,这下能选2k了。原来在parsec的分辨率选项只是一个尝试值,最合理的设置肯定是适配客户端的分辨率,但是如果服务端的分辨率不支持设置为这个分辨率,这个设置是不会生效的。比如说你的客户端是4k的显示器,你想让parsec传输4k的分辨率给你,就需要插一个4k的显示器在宿主机上。
这不合理,又在网上摸索了一阵子,发现parsec还有个虚拟显示器软件https://github.com/nomi-san/parsec-vdd,这个软件装上可以创建最高4k 240帧的虚拟显示器,而且可以使用硬件编码,至此,分辨率的问题也解决了。
然而,这个软件每次重启都需要重新创建虚拟显示器,而且我不知道nvidia咋回事,会在左上角显示一个physx>cpu的提示,看网上说在Nvidia控制面板的physx设置里选择显卡就能关上,可是我试了,还是有提示,后面不知道是重启了几次还是怎么回事,又没有了...

手柄
Parsec是支持手柄映射的,但是MacBook Air没有usb口,我通过显示器的KVM连接的手柄并不能直接映射到宿主机,这之间的转接有点多,我也懒得排查问题出在哪里;我的办法是直接用usb-hub插到显卡的type-c口上,完美使用。你可能说了,显卡哪有type-c口,不好意思,20系有😊,不知道这么实用的一个口为什么后面又砍掉了。
这里多说两句,通过UnRAID将usb设备(手柄)分配给虚拟机是不行的,我不知道为啥,而且unraid没办法直通一个usb接口给虚拟机,只能直通一个usb控制器给虚拟机,一般主板应该只有一个控制器,你要么再买一个pcie转usb的设备,要么像我这个20系显卡带的usb控制器也可以。
总结
还是挺折腾的,个人感觉,既然做家庭服务器,放在电视旁边是合适的,不如直接通过数据线连接电视玩。
以上内容均是个人在有限时间内得来的经验,难免不足,如果你有更好的方法,请在评论区交流。
发现了个冷知识,我在尝试时,把Windows基本显示适配器在Windows内禁用了,结果Parsec,vnc都不能正常使用了,这时候我用stream的串流访问游戏,竟然发现,stream的串流就是基于Parsec做的,正常你用串流打开一个游戏,会显示那个游戏的图标,但是这次我打开黑悟空,竟然显示的是parsec的图标。
Comments ()