xrandrを使用して複数のモニターでDPIを混合する

xrandrを使用して複数のモニターでDPIを混合する

私はArch Linuxでi3ウィンドウマネージャを実行しており、xrandrを使用してラップトップ画面とデスクトップモニタの両方を使用しようとしています。画面に別々のワークスペースを持ちたいのですが、必要に応じてモニター間でワークスペースを移動できます。ノートパソコンの画面は4K(3840x2160)ですが、モニターは1920x1080に過ぎません。複数のモニターを持つi3と私と同じ状況の人々の研究に基づいて、次のxrandrコマンドをクリーンアップしました。

$ xrandr --output eDP-1 --mode 3840x2160 --pos 0x0 --auto \\
--output HDMI-1-0 --mode 1920x1080 --pos 3840x0 --auto \\
--panning 3840x2610+3840+0 --scale 2.0x2.0 --fb 7680x2160

このコマンドを実行した後、ノートパソコンのモニターは正常に動作します(4kで実行され、完全に隠されています)、デスクトップモニターには背景画像(feh経由)とi3ウィンドウの左上隅(1920x1080ブロックで表示)のみが表示されます。拡大画面)。ディスプレイの残りの4分の3は黒です。ただし、問題なく2つのモニタ間でカーソルを移動できます。カーソルは画面間をスムーズに切り替え、デスクトップモニターの黒い部分にも表示されます(i3 Windowsではありません)。

私のxrandrコマンドが私が望むように動作しないのでしょうか、それともこの問題を引き起こす外部要因(おそらく私のDPI設定の競合)がありますか?

編集する:

関連している場合、ノートブックは最新のNVIDIAグラフィックス(RTX 2070)とIntel統合グラフィックスを実行しています。グラフィックドライバとOpenGLをサポートするために、それぞれnvidiaとnvidia-utilsパッケージをインストールしました。

答え1

最近のインストールでは、X11(各モニターのスケール変更をデフォルトでサポートしています)の代わりにWaylandを使用してこの問題を解決できます。

X11では、xrandrスケーリングマジックを使用してこれを達成できます。

xrandr --output eDP-1 --auto --output DP-1 --auto --scale 2x2 --right-of eDP-1

またはマルチモニターの場合

xrandr --output eDP1 --scale 0.5x0.5 --output DP2 --right-of eDP1 --output HDMI1 --right-of DP2

(引用するhttps://wiki.archlinux.org/title/HiDPI#Multiple_displays)。

答え2

ここに直感的な説明を含む記事を投稿し、便利なbashスクリプトをパラメータ化できることを願っています。

https://ptgamr.notion.site/xrand-4k-mixed-monitors-7a026e5345994267aebfa01a32044a2f

関連情報