Constant DPI regardless of resolution

Steven J Newbury steve at snewbury.org.uk
Tue Jul 1 13:41:26 PDT 2008


On Tue, 2008-07-01 at 22:47 +0300, Nikos Chantziaras wrote:
> Keith Packard wrote:
> > On Tue, 2008-07-01 at 06:10 +0300, Nikos Chantziaras wrote:
> > 
> >> I'm on VESA for running natively and xf86-vmware for running in a VM.  I 
> >> was hoping for a "set and forget" option either in xorg's arguments or 
> >> xorg.conf rather than having to open the CLI and call xrandr each time I 
> >> switch resolution.
> > 
> > RandR 1.2 passes the physical screen size from the client to the X
> > server whenever the pixel size is set. If you want to fix the DPI,
> > you'll need to fix whatever tool you use that sets the screen size.
> 
> I'm not really sure who is responsible for fixing it.  A fixed DPI means 
> that the physical screen dimensions are not constant.  Currently the X 
> server assumes those dimensions are constant.  With good reason; there 
> aren't any monitors out there made of gum (yet?)  However, with DFPs 
> that are set not to scale, the wanted behavior is really that of a 
> stretchy monitor made of gum.  It's like disconnecting the bigger 
> display and connecting a smaller one while X runs (without restarting).
> 
> The only thorough way of fixing it IMO is a setting in the X server that 
> basically says "trust the user; don't be smart in calculating DPI; 
> simply trust what the user said and keep DPI constant no matter what."
> 
The latest intel driver has panel fitting support whereby you can set
whether the panel should scale, centre or keep aspect through xrandr
properties.  This exibits the same behaviour as Nikos reported, execpt
that GNOME seems to ignore runtime changes to the DPI (that would be a
GNOME bug).  In this case shouldn't the driver know about changes in the
area and asepct and be able to recalculate the dimensions?  Would it not
be possible to also set the property even if there isn't software
control over the panel mode such that it would do the right thing in
Nikos' case?




More information about the xorg mailing list