Redhat 7.3 X11 problems (with S3, at least)
Problem:
The 7.3 install correctly detects the S3 chip based videocard I have (built
into the motherboard of a Compaq presario 4505).
However, the install decides to give me the latest X11, /usr/X11R6/bin/XFree86
v4.2, as well as an old S3-specific one (called /usr/X11R6/bin/XF86_S3)
that is version 3.6.
This wouldn't be so bad, except:
- the XF86Config file is for the old XF86-S3. (XF86Config is
in /etc/X11)
- there isn't an XF86Config-4 for the v4.2 XFree86.
- XFree86 v4.2 cannot use the old XF86Config.
- "startx" follows symbolic links to XFree86. X11 doesn't start,
and you're outta beer.
This seems to happen no matter what you select in the install; choosing
either or both "classic X11" and the "new X11" makes no difference. If
it matters, I always chose Gnome and to do a graphical login.
I wasted a lot of time trying to install different ways (classic X11 vs.
the new one) to avoid this bug.
What to do?
Well, first off, I thought there was some little tweak to XF86Config and
then it would work. Fiddled with it, nope.
Then I realized it was for the old 3.x XFree86. So, I tried to get
RedHat's anaconda to make be 4.2 one. But it doesn't look like anaconda
is installed, at least not by default. Then, using the latest 4.2 XFree86,
I had it write out a sample XF86Config file for me (-configure option). Fiddled
with it, but I couldn't get that to work. Also tried xf86config; again,
a useless XF86Config file. Another hour wasted. Could I make
a 4.2 XF86Config from scratch? Eventually, probably, yes. Do
you want to spend your life dealing with X11 configuration files? I
don't. This hassle is what RedHat and other vendors are supposed to
be solving.
Alright. So running "XF86_S3" does launch X. That's how
I knew the /etc/X11/XF86Configure I have was a 3.x version. However,
when you just run XF86_S3 you just don't have a window manager, or Gnome,
or anything else. Kill it with ctrl-alt-backspace. (but you
knew that already, because everyone using linux more than a little has to
deal with X11 problems at some point).
What's needed is a way to get "startx" to use XF86_S3 (with the functional
XF86Config anaconda made) and then startx can go on to launch Gnome and all
that good stuff we need.
Following symbolic links, we see that
/usr/X11R6/bin/X
links to
/usr/X11R6/bin/XFree86
and this is probably what "startx" uses to find X.
Also in /usr/X11R6/bin is XF86_S3. So:
- mv XFree86 XFree86.version4 (always save backup copies is my philosophy)
- rm X (the now broken symbolic link)
- ln -s XF86_S3 X
Now anything running /usr/X11R6/bin/X will actually run the old XF86_S3.
Type "startx" and voila - watch it all come up just fine. Well ...
I have had some erratic problems with the panel and window manager initially
but now it consistently comes up ok.
Solving linux problems is like puzzling out infocom adventure games. Linux
is both fun (when you succeed in fixing something, anyway) and frustrating
(because ya know if ya were using Windows, crap like this would be taken
care of already and you wouldn't be wasting your time on it).
Final note - after all this, I discover "Xconfigurator" in /usr/X11R6/bin.
This may be able to make a functional XF86Config-4 for you. After
doing the above switcharoo it crashes on the second screen or so, undoubtedly
because its expecting a 4.x version of X. Since I'm using this machine
primarily as a server, I don't care about X performance, just that it runs
enuf to fiddle occasionally, so I'm keeping what I gots. Good luck.
Linux home