Resolution indpendence

Behdad Esfahbod behdad at
Fri Jun 27 10:32:18 PDT 2008

On Fri, 2008-06-27 at 18:06 +0100, Steven J Newbury wrote:
> > HAL sees that it's a TV, assumes a viewing distance of 4m, computes a
> > dpi-at-arms-distance value of 30 * 4/.7 = 171dpi.  Very decent.
> This may well be sufficient, but it is a hack.  Ideally it would be better
> to have a specific "typical viewing distance" value for the hardware device
> that the toolkits/font renderer/compositor could pick up and utilize in
> relevant contexts.  It's probably too late for the first two however.

There are two points of physical information:

  A) Dots per inch on the display surface (LCD panel, TV screen,
projector screen, The Wall, ...)

  B) Viewing distance

Those two are very real and can be measured.  If we have both, we can
compute a third value:

  C) Normalized dpi / angular resolution / whatever you call it.
Physical dpi times viewing distance does the job.

At the end, C is all the application developers care about.  That's why
I suggest we redefine application DPIs to be that.

Next question is where to get A and B from.  A is already coming from X
and EDID info and many devices have buggy values.  B is nonexistent.
The solution to both is already there: HAL device info files.  These are
small XML files setting A and a default value for B depending on the
manufacturer and model of the display device.  The user can set both.
This is just about defaults.


"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759

More information about the xorg mailing list