"Mark Haney" <[email protected]> posted
[email protected], excerpted below, on  Mon, 09 Mar 2009
07:37:34 -0400:

> Well it /wasn't/ when I sent that message.  But, a look at Xorg.0.log
> showed me that the ati driver (6.11.0) had an ABI mismatch with the
> server version.  A recompile of that driver and I'm up now.
> 
> Except for the ginormous font size I have now I'm back to work.
> 
> Any idea on how to fix my fonts now?  I had this problem with this
> driver once before and couldn't find an answer.

The answer is to tell xorg what the actual screen size is.  It then uses 
that information to calculate an appropriate DPI.  Once it knows that, it 
should continue to use it.  When it doesn't know it from the config, it 
tries first to get the information from the EDID info, then falls back to 
a default which apparently varies from version to version.

I used to have issues with this at virtually every xorg upgrade until I 
set my screen size appropriately.  Since then, I've had issues much less 
frequently, altho of course I have to change my manual settings every 
time I change the monitors I'm using.  But once I do, everything has gone 
back to normal.

The exception to this is that with the switch to RandR based settings, 
the place to set this info (along with a bunch of other stuff) and how it 
was set in xorg.conf changed.  But I read the documentation and changed 
that (and a bunch of other stuff) to work with the new methods, and all 
is now again fine.

The one bug I know that may still cause a problem is that at least on 
some older ATI/Radeon cards (the Radeon 9200SE I use being a case in 
point), the size setting, which is supposed to be per monitor, applies to 
the whole virtual size, which may be one monitor or more.  In my 
configuration here I have two identical LCDs stacked, so I just had to 
figure out which config it was reading the size from and double the 
vertical size on it.  Otherwise the horizontal was correct but the 
vertical was wrong so all the fonts were distorted to tall and thin, 
twice as tall as they should have been for their width.

This can be set in several places.  In xorg.conf as I mentioned, you can 
set size.  I believe tho I've not looked at it recently, that you can 
also set it by command line using xrandr or xset or the like.  And, the 
major desktop environments should provide a place to set it.  I only use 
KDE and haven't yet found 4.2 to be workable for anything but occasional 
use, so KDE 3.5 is the one I know about, but GNOME and KDE 4.x should 
have settings for it too.

In KDE 3.5, at the bottom of the Fonts control center applet there's 
choices for anti-aliasing and DPI.  You can choose to force DPI or not, 
and when forced, 96 DPI or 120 DPI.  By calculation, my DPI is ~93, so I 
set 96 and let it be.  However, what you set can be rather arbitrary, it 
doesn't have to relate to reality except that it'll allow more accurate 
matching to print size and more accurate on-screen rulers, if you use 
applications that have those and calculate based on DPI or resolution and 
screen size.  Also, having xorg and the various desktops using the same 
settings will prevent major font size differences between apps depending 
on which setting they use.

The biggest change in xorg.conf switching to RandR based settings was in 
the Monitor sections.  Previously, most of the resolution dependent 
config was actually done in the Screen sections, but with RandR, 
different monitors could be plugged in dynamically and xorg is supposed 
to just adapt, and because the same screen sections could be used by 
vastly different monitors depending on what was plugged in, much of the 
actually monitor dependent information had to be moved to the Monitor 
sections.  Thus, Monitor sections got DRAMATICALLY more complicated and 
powerful, at the expense of Screen and even sometimes graphics Device 
sections.

The physical size setting is no exception.  As I said, it's supposed to 
be hot-plug detected now, but there's at least one bug that I have here 
and likely more.  It sounds like you may have hit one such bug.  Anyway, 
here's the option line you need:

In the appropriate Section "Monitor"

    DisplaySize   Xmm   Ymm

where Xmm and Ymm are the horizontal and vertical "viewable area" display 
size, in millimeters.  The values are floating point decimal, so here's 
what mine looks like (complete with comment to ensure I remember the 
vertical value is doubled due to the bug referenced above)

   DisplaySize   518.4   648  # both monitors

You can read the documentation on the setting as well as a host of others 
in the xorg.conf (5) manpage.  It's not directly pertinent here, but 
since you are using the xorg radeon driver (xf86-video-ati), there's 
useful information in the radeon (4) manpage as well.  The two of them 
together provide a reasonably detailed description of most settings a 
Radeon driver using xorg user would find useful for his xorg.conf file, 
minus some details on the video and inputdev sections, unfortunately.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to