我有一台 Windows 10 桌面,可以无头运行。当我插入显示器时,它会正确使用该显示器的原始分辨率。当我断开显示器并通过 VNC 连接到计算机时,分辨率锁定为 1024x768。有几个地方可以调整分辨率(经典控制面板、新设置面板、Nvidia 控制面板),但都失败了,并出现各种错误,例如“无法保存设置”。
无头运行时,是否可以将显示分辨率更改为 1024x768 以下?
答案1
我在尝试从仅连接了网络和电源的计算机进行流式传输时也遇到了类似的情况;以下是对我有用的方法(来源):
- 打开
regedit
,导航至HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
- 选择以 开头的键
SIMULATED
,然后选择子键00
- 将 的十进制值更改
PrimSurfSize.cx
为所需的水平分辨率(即1920
) - 将值更改
PrimSurfSize.cy
为所需的垂直分辨率(即1080
) - 更改值(对于 1920x1080 ,
Stride
值为7680
:)((1920 * 32 + 7) / 8)
- 选择 的子键
00
,也称为00
,并将其更改ActiveSize.cx
为上面相同的水平分辨率值 - 将 的值更改
ActiveSize.cy
为与上述相同的垂直分辨率 - 保存注册表后重新启动电脑
- 虽然您可以更改此项中设置为 1024 和 768 的其他值,但我没有注意到影响。
答案2
似乎在最近的 Windows 版本中,注册表路径已发生更改。以 SIMULATED 开头的键不再显示,但可以使用 NOEDID(截至 2020 年 10 月)。
我仅通过在几个地方更改 PrimSurfSize.cx 和 PrimSurfSize.cy 来设置分辨率:
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\Configuration\NOEDID_blah_change_me>\00
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\Configuration\NOEDID_blah_change_me>\00\00
搜索PrimSurfSize.cx和PrimSurfSize.cy并将NOEDID更改为上述内容,然后重新启动机器。
祝你好运,希望这会有帮助。
答案3
经过多次尝试和错误,真正的解决办法是安装虚拟显示器。请参阅链接 https://www.amyuni.com/forum/viewtopic.php?t=3030
答案4
我正在使用 VNC 远程,尝试 HKLM 注册表项对我不起作用。但是我尝试了https://www.amyuni.com/forum/viewtopic.php?t=3030而且效果非常好。
但是,如果你重启电脑,它就会回到原来的状态。所以我想我必须创建一个批处理文件,这样每次重启电脑时,它都会运行命令并创建第二个监视器。