无法自动正确检测通过 HDMI 连接的显示器尺寸 (xUbuntu)

无法自动正确检测通过 HDMI 连接的显示器尺寸 (xUbuntu)

我的 Dell Vostro 3360 笔记本电脑上有 xUbuntu 18.04.4 LTS(XFCE 4.12 + 4.15.0-111 Linux 内核)。当我通过 VGA 电缆连接外部显示器 (Samsung SyncMaster T240) 时,一切都很好,我得到了这样的 xrandr 输出:

xrandr -q
***
VGA-1 connected 1920x1200+1366+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
***

但是当我通过 HDMI 电缆连接此显示器时,无法正确检测到该显示器的尺寸(在 XFCE 显示窗口中它显示为 Samsung 7"),并且我得到了这样的输出:

***
xrandr -q
HDMI-1 connected 1920x1200+1366+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1200     59.95*+
***

因此,一些应用程序(例如 Viber 或 Calibre)会显示“巨大的控件”。

我该如何解决这个问题(理想的 - 不仅适用于该显示器,而且适用于 HDMI 连接)?

更新。目前看来问题出在外部显示器通过 HDMI 发送的 EDID 信息中(不,xrandr --fbmm不起作用......)

答案1

所以,我用这样的方式解决了我的问题:

  • 下载为现有显示器准备好的 EDID 存储库(https://github.com/linuxhw/EDID/
  • 从那里找到最合适的型号(按供应商+分辨率+屏幕尺寸+频率)
  • 将我之前通过 get-edid 实用程序获得的 edid-binary.file 的内容更改为我找到的 edid 文件中的 EDID 字符串
  • 将该新文件分配为 Linux 内核的参数(并为 dmesg 添加了一些调试信息),因此我进入了 /etc/default/grub 字符串GRUB_CMDLINE_LINUX_DEFAULT="drm.debug=14 log_buf_len=20M debug drm.edid_firmware=HDMI-A-1:edid/edid1.bin quiet splash"(然后执行了 sudo update-grub )
  • 做得好 :)

相关内容