Fedora

Xorg、Nvidia、Wayland 的多顯示器問題

  • September 1, 2019

編輯:在 FreeNode 上的 Linux IRC 頻道上詢問後,我發現 X11 不支持按顯示器縮放。我的 4k 嵌入式顯示器是 200% 的縮放比例,而我的外部 1080p 顯示器也是 200% 的縮放比例。有人建議我切換到 GNOME,因為 Wayland 上的 GNOME 支持每個監視器縮放。不幸的是,當我在登錄時選擇 GNOME 時,我的系統似乎仍然預設為 X11。顯然應該有兩個 GNOME 選項,一個是“預設”GNOME,另一個是“GNOME on Xorg”。我沒有看到,我只有“預設”選項。

我看到的絕大多數搜尋結果都是針對試圖禁用 Wayland 並轉到 Xorg 的人的。我有安裝 GNOME 組時安裝的 Wayland 包:dnf group install "GNOME Desktop Environment"

問題

  1. 如何使 Wayland 成為預設視窗系統?

下面是原帖

我在筆記型電腦上使用 Nvidia GTX 1050 移動 dGPU 執行 Fedora 30。我有一個帶有 iGPU 的 Intel i7-7700HQ CPU。我用肉桂DE。

我最近安裝並執行了 Nvidia 驅動程序,我可以通過我的 HDMI 埠讓第二台顯示器工作,不幸的是,這台顯示器的顯示解析度為 980x540,而顯示器為 1920x1080。

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>

我嘗試使用、使用、GUI 和內置的顯示管理 GUI創建自己的xorg.conf文件。我在這裡閱讀了幾篇文章,Ubuntu 指南、Arch 指南和 Debian 指南。最多我可以在筆記型電腦蓋關閉時或使用-produced時使外接顯示器正確顯示,但是當發生這種情況時,嵌入式顯示器根本不會出現在輸出中。產生一個文件,但抱怨說Xorg -configure``nvidia-xconfig``nvidia-settings``nvidia-xconfig``xorg.conf``xrandr -q``Xorg -configure``xorg.conf``Number 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 標準的“更好”實現。

X11 不支持按顯示器縮放。這意味著無論設置什麼縮放都將應用於從 GPU 到每個監視器的輸出。根據##linuxfreenode 上 IRC 的人們所說,Wayland + EGLStreams + Nvidia 是一團糟。我不確定這是否是現實。

將適當縮放的輸出輸出到我的外部非 HiDPI 監視器的修復如下:

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

重要的是--scaleHDMI輸出。看起來這會在它到達 HDMI 輸出之前縮小來自 GPU 的輸出。手冊頁特別說明:

–scale XxY

更改輸出圖片的尺寸。大於 1 的值會導致螢幕壓縮(螢幕尺寸大於輸出模式的尺寸),小於 1 的值會導致輸出放大。

因此,似乎存在一些按顯示器縮放的概念。當您將縮放設置為 200% 以適應 HiDPI 輸出時,一切看起來都正確縮放。我不確定,但這可能會導致外接顯示器上的顏色看起來很糟糕,或者我的顯示器可能需要針對 Linux 進行一些校準,因為它適用於 Windows。

我正在嘗試其他方法來做到這一點,但這是最快的。我很確定我在 Arch 論壇文章或 wiki 上找到了它,但我沒有連結了。

引用自:https://unix.stackexchange.com/questions/533745