"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