Debian

使用兩個螢幕時,KDE Plasma 的小元件看起來非常大

  • July 12, 2021

所以,如果我只用一個螢幕啟動或使用肉桂或其他桌面環境,一切看起來都不錯,但如果我用兩個螢幕啟動,它看起來像這樣:

在此處輸入圖像描述

注意瀏覽器中的一切看起來都很正常,但是工作列和小元件看起來非常大。我懷疑它們正在被縮放,就好像兩個螢幕實際上是一個一樣,所以這麼大是有意義的。

Xrandr gives me:



Screen 0: minimum 8 x 8, current 1920 x 2160, maximum 32767 x 32767
   DVI-D-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
      1360x768      60.02 +
      1920x1080     60.00*   59.94    29.97    23.98    60.05    60.00  
      1280x720      60.00    59.94  
      1024x768      75.03    70.07    60.00  
      800x600       75.00    72.19    60.32  
      720x480       59.94  
      640x480       75.00    72.81    59.94  
   HDMI-0 connected primary 1920x1080+0+1080 (normal left inverted right x axis y axis) 480mm x 270mm
      1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04  
      1680x1050     59.95  
      1600x900      60.00  
      1440x900      59.89  
      1400x1050     59.98  
      1280x1024     75.02    60.02  
      1280x800      59.81  
      1280x720      60.00    59.94    50.00  
      1152x864      75.00  
      1024x768      75.03    60.00  
      800x600       75.00    60.32  
      720x576       50.00  
      720x480       59.94  
      640x480       75.00    59.94    59.93  
   DP-0 disconnected (normal left inverted right x axis y axis)
   DP-1 disconnected (normal left inverted right x axis y axis)
   DP-2 disconnected (normal left inverted right x axis y axis)
   DP-3 disconnected (normal left inverted right x axis y axis)
   DP-4 disconnected (normal left inverted right x axis y axis)
   DP-5 disconnected (normal left inverted right x axis y axis)

所以看來這個決議是正確的。

我怎樣才能解決這個問題?

如果我用一個顯示器啟動,然後在 KDE 已經載入後連接第二個顯示器,這就是它的樣子

在此處輸入圖像描述

這花了我很多天的時間來解決這個問題。原來我的 DVI 顯示器的 EDID 壞了,所以它告訴我的電腦它的顯示尺寸比實際尺寸小得多,同時保持解析度,這造成了巨大的 DPI 差異。我不完全確定到底是什麼修復了它,但確實發生了一些事情。這是我所做的:

我想將自己的 EDID 文件傳遞給電腦。

我首先得到了錯誤的 EDID 文件。為此,我使用了 NVIDIA 設置工具。我把它保存到一個臨時文件夾。

然後我按照這些說明更正了 EDID 文件。具體來說:

我使用 HEX 編輯器打開了錯誤的 edid 文件。顯示大小位於二進製文件的偏移量 0x15 和 0x16(分別為寬度和高度)。這些計算以厘米為單位,這意味著 160 毫米 = 16 厘米 = 0x10 和 90 毫米 = 9 厘米 = 0x09。我手動更正它們並將它們保存到不同的地方。但是,它們有不同的校驗和,所以我們需要解決這個問題。

我跑了

edid-checksum.py < correct-edid.bin

,它告訴我在哪裡修復 edid(您需要在偏移量 0x7f 上修復校驗和。ox75 不好,應該是 0x65)。然後我再次使用十六進制編輯器打開文件,將值更新為應該正確的值並保存。執行以下命令

parse-edid < dvi-d.bin

向我展示了校驗和確實是正確的。現在:在這裡我做了兩件不同的事情,我不知道是什麼解決了它:

首先,我執行 nvidia-xconfig –custom-edid=“DVI-D-0:/path/to/correct/edid.bin” 將 edid 添加到 /etc/X11 上的 xorg.conf 文件中。

然後我也在核心端更新了它。為此,我在 /lib/firmware/edid/DVI.bin 上保存了正確的 edid,然後我轉到 /etc/default 並將以下內容添加到 /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet drm.edid_firmware=DVI-D-0:edid/DVI.bin"

然後我使用更新核心引導載入程序

grub-mkconfig -o /boot/grub/grub.cfg

並重新啟動電腦。不知何故,它仍然無法在 GNOME 上執行,但在 Plasma 上,一切看起來都很好,所以這是一個加號。

更新:

我一直在使用 gdm3,在上面給出的解決方案之後效果很好。今天我嘗試切換到 sddm 並再次失敗。我真的沒有時間去追這個bug,所以如果有人遇到同樣的問題,並且上面的解決方案似乎不起作用,那麼試試:sudo dpkg-reconfigure gdm3

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