昨天我告别了 Windows 7,安装了 Kubuntu 20.04 LTS(使用非免费的 Nvidia 驱动程序)。虽然实时系统 UI 的大小符合预期,但一旦启动安装的系统,UI 就会变得太大,几乎无法使用。
我使用一台 10 年前的三星 SyncMaster P2450 24 英寸 1920x1080 显示器,它显然发送了错误的 EDID 信息。但它的实际get-edid | parse-edid | grep DisplaySize
尺寸DisplaySize 160 90
应该更接近 531 x 299 毫米。
Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" SubSection "Display" Option "UseEdidDpi" "False" Option "DPI" "96x96" EndSubSection EndSection
经过一番研究并向 添加了包含的文件后
/usr/share/X11/xorg.conf.d/
,大多数 UI(如字体和窗口标题栏)都恢复到了合理的大小,但有些元素仍然很大。尤其是等离子菜单、按钮、滑块、文本字段、krunner 和通知占用了更多空间,而且边角异常圆润。这就是它的样子
在修改 X 配置之前,我还尝试按照以下步骤修改 edid.bin 中的两个大小值(以及校验和)。本指南直到步骤 4,然后按照以下步骤在启动过程中使用它本指南。它包括设置drm.edid_firmware=DP-1:edid/my_modified_edid.bin
内核参数并使用钩子脚本将 EDID bin 添加到 initramfs。但如果不更改 X 配置,这似乎本身就什么也不做。
我是否遗漏了任何 Plasma 或 X 配置?或者是否有其他方法可以确保所有内容都使用修改后的 EDID 文件?
因为这是我第一次提问,所以请随时提出改进建议。
编辑:
今天我添加了一个新用户帐户作为测试,所有东西的大小都正确。这让我怀疑问题是由 Plasma 使用一些(特定于用户的)过时的缓存文件引起的。但哪些是罪魁祸首,删除它们安全吗?
由于从那时起我尝试对我的配置进行了很多不同的更改,因此我也将尝试缩小足够的范围。
我还进一步阐明了有关自定义 EDID 的程序。
答案1
解决方案是在更改 X 配置后清除等离子缓存。尤其~/.cache/plasma-svgelements-kubuntu_v20.04.3
是桌面 UI 元素和~/.cache/ksmserver-logout-greeter
锁定屏幕。
例如,添加一个名为的文件,/usr/share/X11/xorg.conf.d/20-my-custom-dpi.conf
其中包含以下几行似乎就足够了。
Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" SubSection "Display" Option "UseEdidDpi" "false" Option "DPI" "96x96" EndSubSection EndSection
尝试创建自定义 EDID 是不必要的,因为它会被忽略或以其他方式再次被原始 EDID 覆盖,至少在我的情况下是这样。