Skip to content

KDE with high DPI

Sunday, 29 June 2008  |  mkruisselbrink

As I mentioned in my previous blog entry, I'm working on making KDE and plasma behave better on systems that are quite different from 'normal' computers, specificaly small devices. As currently the only physical device I have access to for this project is a Neo1973 Openmoko phone, most of my initial work will be for that device.

In these images of plasma running on this device several problems are immediately visible, the most important being the somewhat large text that does not realy fit in the size reserved for it. This happens because default sizes of stuff in KDE is not all stored in the same unit; fonts have a default size specified in points (and thus should have the same physical size no matter the DPI of the screen KDE is running on), but lots of other things (most importantle widgets like scrollbars and the default panel size) have sizes specified in pixels. This doesn't cause any big problems when every user has more or less the same DPI, but one of the interesting things of this device is that it has a screen of approx. 280 DPI, which is a lot higher than many normal screens. At such a DPI the so called 'smallest readable font' of 8 points becomes a (quite large) 31 pixel font, which no longer really fits on a 38 pixel panel. After changing the default font sizes to somehwat smaller fonts (which I admit is not really a solution, but more a quick hack to make things look better on this one specific device) it already looks a lot more reasonable as you can see. A real solution would probably involve defining default sizes in some mix of points an pixels (while a 4 point font might be perfectly readable with good eyes on a 280DPI screen, it is impossible to read on a 72DPI screen, so having all default sizes strictly in points won't work), but I think some people would also not be very happy if for example the default panel size would be purely point-based, as chances are very low the actual resulting size would result in non-scaled icons, which apparently some people really want. I'm not sure what the perfect solution would be, but the current situation is far from perfect.

Some more screenshots of the current state: (with even kwin running on this device):