在命令行上启用或禁用 nVidia Twinview 中的一台显示器,就像使用 nvidia-settings 一样

在命令行上启用或禁用 nVidia Twinview 中的一台显示器,就像使用 nvidia-settings 一样

由于某些原因,大多数本机游戏以及 Wine 都存在 Twinview 问题。因此,当启动 SC2 时,我必须在 nvidia 设置中手动禁用两个屏幕之一。 (进入 X 服务器显示配置 > 单击第二个显示器 > 显示 > 分辨率:关闭)

我努力搜索但找不到自动执行此操作的方法。 nvidia-settings 本身有非 GUI 选项(请参阅“nvidia-settings -q all”),但它们似乎都没有达到我想要的效果。我想把它放在我的游戏启动脚本中,它已经用 metacity 取代了 Compiz(当它退出时又回来了)。

答案1

如果您使用的是 Twinview,则显示器将被视为一台显示器,其分辨率是所有物理显示器的总和。您可以使用xrandr更改当前输出尺寸,它将打开或关闭适当的显示以使其适合。

例如,如果您有两个 1280x1024 显示器:

xrandr --output default --mode 1280x1024   # Just the first monitor
xrandr --output default --mode 2560x1024   # Two 1280 monitors side by side is 2560 wide; this will enable both

然而,这要求 X 配置为两种模式。当涉及到 X 配置时,我不了解最新的智慧,但我在我的部分中使用了这一metamodes行:Screen

Option "metamodes" "CRT: 1280x1024_60 +1920+0, DFP: 1920x1200 +0+0; NULL, DFP: 1920x1200"

这表示“要么在 0x0 处显示在我的 1920x1200 DFP 上,并在其右侧显示我的 1280x1024 CRT,要么仅在 DFP 上显示并保持 CRT 关闭”,因此我可以告诉 xrandr 仅使用 DFP ( --mode 1920x1200) 或两者 ( --mode 3200x1200)

相关内容