.comment: A Tale of Two Packages - page 2
It Was the Best of Installs...
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.
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.