screen physical size, DPI, font size - how does it work?

Alex Deucher alexdeucher at gmail.com
Sun Oct 7 08:01:01 PDT 2007


On 10/7/07, Alexej Davidov <alexej.davidov at gmx.net> wrote:
> Hi,
>
> up to now I've set the DPI value explicitely with --dpi 100. This gives
> sensible font sizes. I've now tried to let X do it automatically, but
> with no success. The detected physical screen size is wrong and I
> didn't manage to convince X of the correct one. So I always get 96x96
> dpi. Also I don't really understand How the DPI value given in Xorg.log
> correlates to the actually set value.
>
> I use the ati driver on a R300 (version 6.7.195) with xorg-core 1.4 on
> an IBM Thinkpad.
>
> I'll explain my struggles to get X to use the correct values. What I
> want to know is, what the right way is to do this. Maybe I'm
> completely misguided and it's all different now with xrandr-1.2.
>
> The other thing is: if I set the resolution to the theoretically
> correct value, which is 125x125 dpi in my case (1400x1025 at
> 285x215mm), all the fonts are far to big.
>
> 1) not specifying anything in xorg.conf:
> Xorg.0.log says:
> ...
> (II) RADEON(0): Setting screen physical size to 370 x 277
>
> The physical size is wrong. It is actually 285x215 mm. Also,
> xdpyinfo gives 96x96 dpi. How does this relate to the entry in Xorg.log?
>
> 2) specifying the physical screen size in a monitor section and binding
> the monitor to the LVDS output:
>
> I've done the following in xorg.conf:
>
> Section "Device"
>   ...
>   Option "Monitor-LVDS" "Thinkpad Display"
> EndSection
>
> Section "Monitor"
>     Identifier  "Thinkpad Display"
>     DisplaySize 285 215
> EndSection
>
> Now, in Xorg.log I get:
> (II) RADEON(0): Output LVDS using monitor section Thinkpad Display
> but I still get
> (==) RADEON(0): DPI set to (75, 75)
> Also the pysical size is still wrong:
> (II) RADEON(0): Setting screen physical size to 370 x 277
>
> 3) specifying the monitor in the screen section:
> In addition to what I've done in 2), I've also specified the monitor in
> the screen section. Now this monitor is bound to both, VGA-0 and LVDS:
> (II) RADEON(0): Output VGA-0 using monitor section Thinkpad Display
> (II) RADEON(0): Output LVDS using monitor section Thinkpad Display
>
> Now I get a different DPI entry in Xorg.log:
> (**) RADEON(0): DPI set to (142, 151)
> but still the wrong physical size:
> (II) RADEON(0): Setting screen physical size to 370 x 277
>
>
> No matter what I do, the physical size is always reported as 370 x 277.
> xdpyinfo always gives 96x96 dpi. Also, in all 3 cases, Xorg.log
> always reports the following:
> (II) RADEON(0): Port2:
>  Monitor   -- AUTO
>  Connector -- Proprietary/LVDS
>  DAC Type  -- None
>  TMDS Type -- None
>  DDC Type  -- None

Laptops without a panel edid do not provide a physical size in the
bios tables so we have no way of knowing what size it really is.
Also, the xserver isn't parsing the display size from the monitor
section at the moment:
https://bugs.freedesktop.org/show_bug.cgi?id=12474

Alex



More information about the xorg mailing list