web-dev-qa-db-ja.com

nvidia-settingsのように、コマンドラインでnVidiaTwinviewの1つのモニターを有効または無効にする

いくつかの理由で、ほとんどのネイティブゲームとWineにはTwinviewに問題があります。したがって、SC2を起動するときは、nvidia-settingsで2つの画面のいずれかを手動で無効にする必要があります。 (X Server Display Configurationに移動し、2番目のモニターをクリック>ディスプレイ>解像度:オフ)

私は一生懸命検索しましたが、それを自動的に行う方法を見つけることができませんでした。 nvidia-settings自体には非GUIオプションがあります(「nvidia-settings-q all」を参照)が、それらのどれも私が望むことをしていないようです。それをゲームのスタートアップスクリプトに入れたいと思います。これはすでにCompizをmetacityに置き換えています(そして終了すると元に戻ります)。

5
niXar

Twinviewを使用している場合、ディスプレイは1つのディスプレイとして扱われ、すべての物理ディスプレイの解像度がまとめられます。 xrandr を使用して現在の出力サイズを変更すると、適切な表示がオンまたはオフになり、収まるようになります。

たとえば、1280x1024のモニターが2台ある場合:

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"

つまり、「1920x1200 DFPを0x0で、1280x1024 CRTを右側に表示するか、DFPに表示して、CRTをオフのままにする」ということなので、xrandrにDFPだけを使用するように指示できます(--mode 1920x1200) または両方 (--mode 3200x1200

3
Michael Mrozek