In Windows forcing DPI is easy, as it always assumes, providing no means to use actual DPI via the dimensions reported by the display. By default it assumes 96, but it makes various other choices easy, such as 120 (125%) and 144 (150%). Laptop vendors commonly set 120 for their higher resolution models, forced by the marketplace, where sales suffer as a consequence of the overall tinyness that results from forcing 96 when actual is substantially higher (more than 10%-20%). Real world examples of what's out there are: 15.4" 1920x1200 is 147DPI/153% of 96; 13.3" 1440x900 is 128DPI/133%of 96; 11.1" 1280x800 is 137DPI/143% of of 96; 16" 1680x1050 is 124DPI/129% of 96.
Those with intimate knowledge of font characteristics know that the linearity of scalable fonts isn't particularly uniform. I've found that scaling is better at particular DPI "steps". These steps are multiples of 4 or 6, good at steps of 12 (96, 108, 120, 132, 144, etc), and better at steps of 24 (96, 120, 144, 168, etc).
Those using NVidia drivers have an xorg.conf option e.g. 'Option "DPI" "120x120"'. Those using generic drivers should have this same (relatively) easy to enable option. Forcing via DisplaySize or xrandr is clumsy to implement and difficult to explain to those who wish to do what Windows and NVidia make easy.
Whether "the right thing to do" is to Force96DPI or use correct dimensions may never be resolved. Many firmly believe in one or the other. Others just want to get on with life, and should have an easy way to force the DPI they prefer, regardless which driver they use.
I think both a DPI override and a DisplaySize override should work for all drivers. If you want really accurate DPI you need to measure your screen, but if you just want an invariant 96 you should be able to override it that way too. One of those will need to have precedence in case both are specified, and that should also be consistent among all drivers.
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/589485 comment 17 has a patch attached that might resolve this as fixed.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/391.