.comment: A Tale of Two Packages
...It Was the Worst of Configurations

Dennis E. Powell
Wednesday, May 9, 2001 09:48:55 AM
Having paid attention to the installation of the packages via FTP, it was clear that
not everything was on the first SuSE CD, but it couldn't find the words to tell me to
umount that CD and put in and mount the second one. So it said it was done. It now went
through a series of questions, the critical one being whether I wished to boot Linux-2.4
or 2.2. I chose, of course, the latter. It ran lilo, which failed. (I understand that
under the graphical install this isn't a problem, but when you install via FTP you are
text-based and this problem arises.) The problem had to do with /boot/initrd_24, which
lilo said didn't exist because it didn't. The solution, provided by the SuSE support
database, was to enter a different virtual terminal, chroot /mnt, and edit the offending
line out of /etc/lilo.conf, save the file, and run /sbin/lilo. It worked.
And in due course it arrived at the point where it wanted to reboot. I let it, but when
everything was shut down I turned the machine off. Then I pulled the floppy drive and put
in the CD drive. I also umounted (note to newbies: it's not a typo; Linux doesn't unmount,
it umounts, though I have no idea why) the CD in the desktop machine. Then I turned the
notebook on again. Oddly, it acted as if it expected all of this, and asked me where my CD
drive was. I told it it was /dev/hdb, put the second CD in the CD reader, and watched the
rest of the packages install.
At which point I was pretty much done, or so I thought.
There was still X to configure.
Distributions vary considerably in the way they do things, and this will continue to be
the case until a meaningful standard base is arrived at. There is talk of work toward
this, and I can understand how it has taken forever, in that a committee is involved. One
competent person could do it in an afternoon; hell, I could do it in a day. But with a
committee, nothing much ever happens. Anyway, SuSE has its way of doing things, and though
I'm hesitant to say they're better or worse than the way Caldera does/did them, they're
certainly different. Poking around the file system with Midnight Commander (in my
estimation Miguel de Icaza's absolutely essential contribution to Linux; no matter what
desktop you use, you need mc), I learned that SuSE did different things with
XFree86. There was a /var/X11R6 directory that was new to me. There were various new X
security files in the /home/[user] directories.
And, of course, there was a proprietary X configurator. And here we begin the story of
the second package mentioned in the title. It is XFree86-4.x.
SaX sux; SaX2 sux2. So went the little ditty that pushed forward as I tried and
failed to get XFree86-4.02 to work on this machine. SuSE's X configurator is called SaX;
its configurator for XFree86-4.x is called Sax2. I hoped to use XFree86-4.02.
There are actual reasons for choosing the latest XFree. For those whose chips support
it (the one in my notebook doesn't), the DRI rendering of 3-D images is one reason. Of
more importance to me is freetype2, which enables the Render extension for chips that
support it (the one in my notebook does), which in turn enables typeface anti-aliasing if
you use KDE and your QT is compiled for it. But wait, you say, you have an LCD display on
your notebook (and your wife has one on her desktop). Right. Normal things that bring
this about don't work with LCDs. I wouldn't even try but for some magical commands that
Linda Walsh at SGI cooked up which show promise. And I promise to make a little howto out
of them as it unfolds -- and if I ever get XFree86-4.x to work on an LCD here. In any
case, I wanted to try t out.
To configure XFree86-4.02 in SuSE 7.1, one invokes Sax2. It informed me that my machine
had been set up for XFree86-3.3.6; did I want to continue, which would move me to
XFree86-4.02. "Damn straight!" not being an option, I typed "yes."
Whereupon my screen went crazy. Not good crazy but dangerous, hit ctrl-alt-backspace
right now crazy.
Well.
Let's try plain old SaX. It did, best I could tell, nothing. And startx produced the
same hash of things that Sax2 had.
Okay, but there's that xf86cfg thing that is the latest and greatest that comes with
XFree86. It caused my screen to go blank, but graphical blank. I don't know how to
describe it, but I knew that it had gone graphical and sure enough, when I hit the three
backout keys I saw that it had decided that none of my font paths was valid, which was
nonsense. What did that leave? There's always xf86config. I dutifully entered the
specs. (Here I first noticed that XFree takes no notice at all of LCD monitors.) This
produced an /etc/X11/XF86Config that from the looks of it might work. Time for startx.
The screen went blank. The hard drive chugged along. After a long time (as is
typical) the KDE startup music played. Problem was, the screen was still blank.
This was getting a little annoying, but I'd learned from the desktop machine that no
known configurator produces an optimized XFree86-4.x configuration file. So I opened
XF86Config in a console editor and started trying different things. No joy. My choices
were the frantic screen corruption or polite blankness that otherwise worked. Diving back
into the docs, I learned that SaX2 could be invoked with -m 0:[something] switches, where
[something] was a driver. I tried it with VGA, and it started politely.
SaX2 is a nice program, and it makes all the quiddities of XFree86 accessible to
anyone. Problem is, it concluded that it was the VGA server I was trying to configure,
rather than my having used the VGA server to get to it in the first place. Afterwards,
startx didn't even try to go graphical. It rendered instead the X equivalent of "what the
hell is the matter with you?" Editing the XF86Config file it had produced gave me a choice
of calm KDE start, music and all, but blank screen, or frenzied screen I dumped out of
before I learned whether there was any music.
I reread the docs, both SuSE and XFree. I tried everything that showed the slightest
promise. No joy. I went to the wonderful linux-laptops.net site, which has a great
repository of XF86Config files, though many are outdated.
Finally, in desperation, I typed "XF86Setup." The familiar screens appeared. I entered
the information. It made an /etc/XF86Config. I typed "startx." Soon I was in KDE. And in
XFree86-3.3.6. Which is where I am as I write this.
And it strikes me, the difference between pcmcia-cs, which is a kind of niche package,
of use to a relatively small portion of the Linux universe, and XFree86, which most
everybody needs. The former just works. Where it doesn't, it allows for fiddling around.
The latter, in its 4.x incarnation, just about never works out of the box. Its automatic
configurations, in my experience, always require editing, usually through the insertion of
modelines calculated by trial and error. In this case, even that didn't work.
As good as pcmcia-cs is, XFree86 isn't. Pcmcia-cs doesn't pretend to identify cards it
can't; XFree does. SaX2, 2. And the XFree people have abandoned a familiar configuration
program, XF86Setup, for some goofy new thing. Nice coat of paint, but rust underneath.
It is a far, far better thing that pcmcia-cs does than ever XFree86 has done before.
« Back: It Was the Best of Installs...
Discuss this article! »