
xrandrを調べるのに多くの時間を費やした後、私に「効果のある」解決策を見つけました。
私はこのフォーラムを他の人に私の問題に対する解決策を提供し、私が理解していない特定の事項について質問する方法として使用します。
設定:
- 2x Nvidia GT 630(それぞれ2x DVI、1x HDMI搭載)
- モニター3個(Acer 1680x1050(DVI)2個およびLG 1680x1050(DVI)1個)
- Debian 8.6の基本インストール(GnomeDesktop Manager 3)
- Nouveauドライバ(デフォルトでインストール)
カード1にAcer 1個とLG 1個が接続されています。基本インストールにより、シームレスなデスクトップとして完全に実行できます。カード 2 の最後の Acer は GDM で検出されないため、正しく動作しません。自分が何をしているのか知っている人から学んだBASH魔法を使って、システムより深いところで感知されました。
ls /sys/class/drm/*/status | xargs -I {} -i bash -c "echo -n {}: ; cat {}"
/sys/class/drm/card0-DVI-I-1/status:connected
/sys/class/drm/card0-DVI-I-2/status:connected
/sys/class/drm/card0-HDMI-A-1/status:disconnected
/sys/class/drm/card1-DVI-I-3/status:connected
/sys/class/drm/card1-DVI-I-4/status:disconnected
/sys/class/drm/card1-HDMI-A-2/status:disconnected
私は最初に打者を打つ
xrandr --listproviders
そして得る
Providers: number : 2
Provider 0: id: 0x64 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 1 name:nouveau
Provider 1: id: 0x36a cap: 0x2, Sink Output crtcs: 2 outputs: 3 associated providers: 1 name:modesetting
プロバイダ0の「名前」項目が「nouveau」に設定され、プロバイダ1の「名前」項目が「modesetting」に設定されていることをすぐに確認できます。
各プロバイダには独自の個別のグラフィックカードがあると確信しています。 1つの設定がnouveauを「使用」し、別のモード設定(おそらくKernelModesetting)を使用するのはなぜですか? NouveauはKMSの上で実行する必要があります...
dmesgは、両方のカードがnouveauで実行されていることを示しています...
タイプ
xrandr --setprovideroutputsource nouveau nouveau
両方のプロバイダの「名前」エントリを「nouveau」に強制するようです。 Xはすぐに再起動(またはクラッシュ)し、ログイン画面に戻ります。
ログイン後、X端末に次のように入力します。
xrandr --listproviders
確認された:
Providers: number : 2
Provider 0: id: 0xbf cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 0 name:nouveau
Provider 1: id: 0x64 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 0 name:nouveau
両方のキャップ項目は同じです。なぜこれですか?帽子とはどういう意味ですか?
ここで実際にxrandrを有効にして、2番目のカード(プロバイダ1)と通信できます。
xrandr --setprovideroutputsource 1 0
次のように入力すると、追加のDVIおよびHDMIポートが表示されます。
xrandr
ここで3番目のモニターを有効にします。
xrandr --output DVI-I-1-3 –auto
(私の3番目のモニターはDVI-I-1-3にあるので)
設定の下にGDM GUIアプリケーションを介してモニターを有効にするオプションがあります。
ここでより多くのxrandr出力位置指定コマンドまたはGUI操作が他のモニターに基づいて私のモニターの位置を指定し、すべてがうまく機能します。 xrandrは再起動時に設定を保存しないため、これらすべてのコマンドをスクリプトにラップする必要があります。後でスクリプトが機能するようになると、スクリプトについて議論します。
現在の問題のいくつかは、ウィンドウを移動するとグラフィックパフォーマンスが低下し、時にはマウスが一度に数秒間停止することです。独自のNvidiaドライバがこの問題を解決することができますが、他のソリューションも非常に歓迎されています。
私はこの間違いを犯し、xrandrを使い続けるだけで私がしたことを達成するための「より良い」方法があるとは思わないかもしれません。 (私はまたZaphodHeadsでxorg.confをカスタマイズしようとしましたが、結果はありませんでした。) なぜ入力するのですか:
xrandr --setprovideroutputsource nouveau nouveau
まず、残りのコマンドを設定する必要がありますか?
Xrandr –help
示す:
--setprovideroutputsource <prov-xid> <source-xid>
source-xidのリストはどこにありますか?
xrandrと/sys/class/drm/の間でDVIポートタグが異なるのはなぜですか?