Yesterday I said farewell to Windows 7 and installed Kubuntu 20.04 LTS (with non-free Nvidia drivers). While the live system UI was sized as expected, once the installed system was booted, the UI was way too large and pretty much unusable.
I use a 10 years old Samsung SyncMaster P2450 24 inch 1920x1080 monitor which apparently sends wrong EDID information. get-edid | parse-edid | grep DisplaySize yields DisplaySize 160 90 while it should really be closer to 531 by 299 mm.
After quite some research and adding a file containing
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
SubSection "Display"
Option "UseEdidDpi" "False"
Option "DPI" "96x96"
EndSubSection
EndSection
to /usr/share/X11/xorg.conf.d/, most of the UI like font and window title bars returned to reasonable sizes, but some elements stayed large. Especially plasma menus, buttons, sliders, text fields, krunner, and notifications take up much more space and are unusually rounded at the corners. This is what it looks like
Before I modified the X config, I have also tried modifying the two size values (and the checksum) in the edid.bin by following this guide up to step 4, and then using it during boot by following this guide. It consists of setting the drm.edid_firmware=DP-1:edid/my_modified_edid.bin kernel parameter and adding the EDID bin to the initramfs using a hook script. But that seemed to do nothing on its own without also changing the X config.
Is there any Plasma or X config I am missing? Or is there another way to make sure everything uses the modified EDID file?
Since this is my first time asking a question, please feel free to suggest improvements to the question.
EDIT:
Today I added a new user account as a test, and everything is sized correctly. This makes me suspect the problem is caused by Plasma using some (user-specific) outdated cache files. But which ones are the culprit for this and is it safe to delete them?
Since I have tried quite a number of different changes to my configs since then, I will also try to narrow down what is sufficient.
I have also further clarified my procedure regarding the custom EDID.