How are DPI settings managed by Xorg?
There are at least two tools to retrieve the DPI value for the screen. One is xrandr and the other is xdpyinfo. While randr only displays the physical screen dimension xdpyinfo displays both DPI and physical screen dimension. The interesting thing is: These utilities do not necessarily print the same values! Why?
How to set the DPI value?
My monitor seems to be too old for providing a usable EDID, so I have to set the physical screen dimension myself. I thought that this was to be done using DisplaySize in xorg.conf, but this is not the case. During startup Xorg later decided to choose a different value overriding my configured value.
Further observationsthat the DPI setting can be changed during runtime using xrandr --dpi. It gets a bit confused if you set the DPI to the current DPI (in belief of xrandr) and does not update the DPI setting (for xdpyinfo). If you however change the DPI setting it updates both settings (xrandr and xdpyinfo).
Also note that applications use the setting xdpyinfo displays. For instance evince adjusts "100%" to this setting.
Also note that this does not depend on the video driver. This behavior can be reproduced with nouveau and intel.