背景
最近在使用sunshine + moonlight进行远程使用宿舍PC的时候感觉屏幕分辨率和IPad不匹配很难受,因此上网搜索了有关虚拟显示器的教程。
其中选中了使用微软官方的IddSampleDriver的方式来进行模拟。这是微软提供的示例github仓库。在实现的时候参考了这位作者的中英文博客。
结果在安装完虚拟显示驱动并识别到虚拟显示器后发现显示设置多了一个显示器,不用的时候很麻烦,只能选择断开连接,而且一些设置选项比如仅在某块屏幕上显示消失了,因此有了彻底卸载显示器的需求。
失败情况
设备管理器(device manager)中卸载监视器
后来尝试了一些办法,比如最普通的在设备管理器(device manager)中卸载监视器,但是一刷新就会重新恢复
使用Display Driver Uninstaller(DDU)进安全模式卸载
这个貌似只能卸载三大显卡商的,对虚拟显示器不起作用
在另一个github仓库寻找解决办法
在寻找解决方案的时候发现了另一个使用IddSampleDriver的仓库,里面有两条issue提到了无法卸载虚拟显示器的情况,但是并没有好的解决方法。
成功方法
最后在想要放弃的时候偶然再次打开了设备管理器一条一条查看试图寻找希望,结果发现之前没注意到设备管理器列表很长可以向下滚动。然后发现在底部还有一个条目叫做显示适配器,展开后才是显示驱动,尝试卸载里面的IddSampleDriver后发现问题解决了,监视器中的设备自动消失了,显示设置中的显示器也消失了。
远程连接屏幕分辨率解决方案
虽然这一问题解决了,但远程控制还是需要解决方案,后来我又自己尝试了一些方案,发现使用英伟达控制面板可以给显示器添加自定义分辨率,设置成IPad分辨率后再使用moonlight远程连接发现能够铺满IPad屏幕了,问题完美解决。不过这样会导致电脑显示器画面被拉伸,不使用远程连接的时候要自己改回去,不过也不麻烦,而且完全不借助任何第三方工具,只需要英伟达控制面板即可。