Settng DPI on gdm and Sessions

Christopher A. Williams chriswfedora at cawllc.com
Wed May 20 01:26:34 UTC 2009


On Tue, 2009-05-19 at 17:06 -0700, Adam Williamson wrote:
> On Tue, 2009-05-19 at 16:40 -0600, Christopher A. Williams wrote:
> > On Tue, 2009-05-19 at 21:38 +0200, Kevin Kofler wrote:
> > > Christopher A. Williams wrote:
> > > > On one system I have, F11 gdm was automatically set to 120DPI, which
> > > > looked absolutely hideous at 1440X900 resolution. On another system, it
> > > > set itself automatically to 94DPI, which looked better, but not ideal.
> > > > I'd really like the default on both to be 96DPI (or perhaps 100DPI).
> > > 
> > > It defaults to the actual correct DPI value for your screen (monitor),
> > > unless your screen is broken and reports a nonsense DPI.
> > 
> > ...Umm, no.
> > 
> > My TP T400 laptop defaulted to 120DPI, and my desktop at home with a
> > GeForce Series nVidia chipset and a 24" Acer LCD panel defaulted to
> > 94DPI.
> > 
> > Neither one of these was "optimal". At 120DPI (1440x900 native
> > resolution), the T400 display looks absolutely crummy. Changing it to
> > 96DPI made it crystal clear and sharp. Doing the same on my LCD panel on
> > my desktop had exactly the same effect, albeit less so since it was
> > pretty close already.
> > 
> > In every case where I have had the opportunity to load F10 and F11 (many
> > different systems / hardware combinations), I have yet to see a
> > "correct", as you put it, DPI set up as a default. It's not possible
> > that all of those systems' displays were, again as you put it, broken.
> > In fact, none of them were.
> 
> It sounds like you're not really following the concept of DPI. I'm not
> sure how you could possibly see different DPI settings as "sharp" or
> "not sharp", that just isn't the effect of changing DPI at all. All it
> does is cause characters to be rendered larger (high DPI) or smaller
> (low DPI).

Actually I do understand this quite well.

> > Regardless of all of that, there should always be a way to tell X what
> > DPI you want anyway. Who said the manufacturer's "correct" setting is
> > the best for you, and that's assuming they use a standard way of
> > specifying that? 
> 
> OK, clearly you don't understand the concept.
> 
> There's no such thing as a DPI that's 'best for you'. DPI means dots per
> inch. The correct DPI is a pure mathematical calculation based on the
> size of the display and the resolution in use. There is no room for
> subjectivity.

I could go on for a while here. I understand the concept of DPI a lot
better than you attribute to me.

> The objective of setting the correct DPI is so that fonts will be
> rendered at the correct size. There is an absolute, standard definition
> of exactly how big - in real, physical units, not pixels - a twelve
> point letter A should be, for instance. When you set your display to the
> correct DPI, a 12 point letter A will be displayed at exactly the right
> size in actual physical terms (inches, centimetres, whatever it says on
> your ruler).

Technically correct, but utterly useless from a practical perspective.

> If everyone set their DPI correctly (and all applications and desktops
> rendered fonts, and physical size-specified graphical items, correctly),
> then - no matter what particular display you happened to be looking at
> things on - they'd always look the same size, and that would be the size
> the creator intended.

But that's the problem, isn't it. This doesn't work unless _everyone_ in
the chain, from the developer through the manufacturer, sets this
properly, and in the case of manufacturers, builds their equipment to
support it. That simply doesn't happen in the real world, does it.

...And you conveniently omitted the issue about projector displays. How
does your algorithm set the "correct" DPI when the screen size changes
based on the distance from the projector to the screen, which is always
random and can't be detected? Oh, and that distance is always different
every time a portable projector is used. And, assuming it was possible
to account for the distance in setting that "correct" DPI, do you really
expect people to read that "correct"-ly calculated and displayed DPI
from 30 feet away or more?

> There's several technical obstacles to this goal, which is why GNOME
> recently decided to forget about trying to respect this concept
> ('resolution independence') and just override everyone's DPI setting to
> 96. This is a regrettable but fairly sensible decision. However, if you
> don't understand the theory here, you're never going to get what's going
> on exactly right.

Except that I _do_ understand the theory here - and very well. And the
above points to the crux of my argument. As a practical matter, going
this "correctly calculated DPI" route was an utterly stupid decision to
begin with. If the above is true (I really hope it is), perhaps the
GNOME developer community has at least partially come to their senses.
Defaulting to 96 DPI, _and_ still letting you set X to something
different if you wanted to, would count as credit for coming completely
to their senses. The only regrettable part of it really is that it's
taken this long for GNOME to figure this out. Trying to do things the
way they did initially is a clear demonstration of the difference
between "smart" and "wise". That's why so many people have basically
been asking the question, "How could people who are so smart do
something so stupid?"

> > Clearly different manufacturers do this differently. 
> 
> Manufacturers do not specify the correct DPI, nor do they 'do it
> differently'. Display panels provide their physical size via their EDID
> information. X uses this information combined with its knowledge of what
> resolution is in use to calculate the correct DPI. Some displays provide
> their size in stupidly boneheaded ways, but most of these special cases
> have been caught by now, and the values that were calculated for your
> displays both sound like they were correct, to me. If you're not
> confident in your monitor manufacturer, it's fairly trivial to figure
> out the correct DPI setting for your monitor with nothing but a ruler.
> Measure the display in inches horizontally, and divide the result into
> the horizontal resolution in pixels. That's the correct DPI setting for
> the display.

Correct DPI? Again maybe from a technical perspective, but NOT from a
practical one, let alone what the manufacturer likely intended for that
display. Even if it worked (and we have demonstrated this is not
consistently the case), what is displayed is "correct" only in that you
can use a ruler to measure the height of the characters, even if it
means you have to interpolate between pixels on an LCD display and make
everything look like smudged crap in the process. It also smacks of that
the developers of GNOME have arrogantly decided they know more about how
to make every manufacturer's display work "correctly" than the
manufacturers do, let alone the person who is using that display.

And manufacturers do "do it" differently because, as you have already
stated yourself, each is capable - and often does - report display sizes
differently, sometimes far differently from what the actual display size
is. They do it for their own purposes, but they do it.

I would also challenge your submission that most exceptions have been
caught. New models of displays, with different ways of reporting EDID
information, are coming out all the time. You can't possibly argue that
you've caught these exceptions too, unless you're arguing that GNOME is
somehow clairvoyant.

Besides, using a ruler to measure the accuracy of the height of the
characters isn't the standard most people use to measure the quality of
their display (which is really what I originally meant by "correct for
the user"), is it...

> > As
> > such there is no standard per se.
> 
> Yes, there is.

There may be a _technical_ standard, but its applicability to, and use
in, the real world is such that it's not really followed. Reference your
"bone-headed" comment about display sizes, among others. Thus, there is,
by de-facto, no standard.

--
====================================================
"In theory there is no difference between theory and practice.
In practice there is."

--Yogi Berra






More information about the fedora-test-list mailing list