Xorg、Nvidia、Waylandのマルチモニタの問題

Xorg、Nvidia、Waylandのマルチモニタの問題

編集する:FreeNodeのLinux IRCチャネルに問い合わせたところ、X11がモニター固有のスケーリングをサポートしていないことがわかりました。 4k内蔵モニターの倍率は200%、外部1080pモニターの倍率は200%です。 WaylandのGNOMEはモニター固有のサイズ変更をサポートしているので、誰かがGNOMEに切り替えることを提案しました。残念ながら、ログイン時にGNOMEを選択すると、私のシステムはまだX11にデフォルト設定されているようです。明らかに、2つのGNOMEオプションが必要です。 1つは「デフォルト」GNOME、もう1つは「XorgのGNOME」です。この内容は表示されません。 「デフォルト」オプションのみがあります。

私が見る検索結果のほとんどは、Waylandを無効にしてXorgにアクセスしたい人のためのものです。 GNOMEグループをインストールするときにインストールされたWaylandパッケージ:dnf group install "GNOME Desktop Environment"

質問:

  1. WaylandをデフォルトのWindowsシステムにする方法は?

元の投稿は次のとおりです。

私はNvidia GTX 1050 Mobile dGPUを搭載したノートパソコンでFedora 30を実行しています。 iGPUを搭載したIntel i7-7700HQ CPUがあります。私はシナモンDEを使用しています。

最近、Nvidiaドライバをインストールして実行し、2台目のモニタがHDMIポートを介して動作するようにすることができました。残念ながら、モニターの表示解像度は約980×540、モニターの解像度は1920×1080です。

xrandr -q出力は、外部モニターが 1920x1080 で表示されることを示しています。

Screen 0: minimum 8 x 8, current 5760 x 2160, maximum 32767 x 32767
HDMI-0 connected 1920x1080+3840+0 (normal left inverted right x axis y axis) 476mm x 268mm
  1920x1080     60.00*+
  <other resolutions and refresh rates>
eDP-1-1 connected primary 3840x2160+0+0(normal left inverted right x axis y axis) 345mm x 194mm
   3840x2160     60.02*+  60.00    60.01   59.98    40.05    59.97
  <other resolutions and refresh rates>

xorg.confGUIと内蔵ディスプレイ管理GUIを使用して独自のファイルを作成しました。私はここでUbuntu Guide、Arch Guide、Debian Guideなどのいくつかの記事を読んでいます。せいぜいラップトップカバーを閉じるか、または - Produced を使用すると外部モニターが正しく表示されるようにすることができますが、その場合、内蔵モニターは出力にまったく表示されません。ファイルを生成しますが、文句を言います。Xorg -configurenvidia-xconfignvidia-settingsnvidia-xconfigxorg.confxrandr -qXorg -configurexorg.confNumber of created screens does not match number of detected devices. Configuration failed.

xorg.conf生成された試行ファイルと、生成されたファイルと試行で作成または構成されたファイルがあります。巨大なテキストの壁を作成せずにここにすべてを表示する方法がわかりません...

質問:

  1. 正しい解像度とリフレッシュレートで外部モニタディスプレイを作成する方法 - 1920x1080 60Hz
  2. 私は友人と話をして、Xorgは基本的に実装ではゴミですが、概念的には美しいと聞きました。ある友人は、Xサーバーの他のクライアントが別のクライアントのディスプレイを「見る」ことができ、本質的にデータが漏洩する可能性があると具体的に言いました。これは本当ですか?データ漏洩であり、X標準のゴミ実装ですか?
  3. Xより使いやすく、「より良い」他のウィンドウマネージャはありますか? Xを初めて扱うので、どのように定義するのかを知りません。それとも私が使用できるX標準の「より良い」実装はありますか?

答え1

X11はモニター固有のスケーリングをサポートしていません。これは、設定されたスケーリングがGPUから各モニタへの出力に適用されることを意味します。 freenodeのIRCの人々によると、##linuxWayland + EGLStreams + Nvidiaはめちゃくちゃです。これが本当かどうかはわかりません。

HiDPIではなく外部モニターに出力サイズを適切に調整するための修正は次のとおりです。

xrandr --output eDP-1-1 --auto --output HDMI-0 --auto --scale 2x2 --right-of eDP-1-1

重要なのは--scaleHDMI出力です。これは、GPU出力がHDMI出力に到達する前に縮小されるようです。マンページには次のように明確に記載されています。

--scale XxY は
出力イメージのサイズを変更します。 1より大きい値は画面が圧縮され(出力モードのサイズよりも画面サイズが大きくなる)、1より小さい値は拡大出力になります。

だから、モニター固有のスケーリングという概念があるようです。 HiDPI出力に合わせて倍率を200%に設定すると、すべてが正しく倍率調整されているように見えます。よくわかりませんが、これは外部モニターで色が悪くなる可能性がありますが、私のモニターはWindows上で正常に動作するため、Linux用のわずかなキャリブレーションが必要になる場合があります。

他の方法も試していますが、この方法が最も高速です。アーチフォーラムの投稿やWikiで見つけたと確信していますが、もはやリンクはありません。

関連情報