Before upgrading to a newer version of XFree86, you should make sure that you have the latest fixes from Red Hat's ftp site. Check with ftp.redhat.com/pub/redhat/updates to see if anything extra has been added by Red Hat.
As of the April of 1998, and the 5.0 release, the current fixes were available.
ftp://ftp.redhat.com/pub/redhat/updates/5.0/i386/ \ Xconfigurator-3.26-1.i386.rpm ftp://ftp.redhat.com/pub/redhat/updates/5.0/i386/ \ xserver-wrapper-1.1-1.i386.rpm
The latest XFree86 is available at:
ftp://ftp.redhat.com/pub/home/wanger/XFree86/i386/
You'll find these files that pertain to XFree86:
XFree86-100dpi-fonts-X.X.X-Y.i386.rpm XFree86-X.X.X-Y.i386.rpm XFree86-75dpi-fonts-X.X.X-Y.i386.rpm XFree86-8514-X.X.X-Y.i386.rpm XFree86-AGX-X.X.X-Y.i386.rpm XFree86-I128-X.X.X-Y.i386.rpm XFree86-Mach32-X.X.X-Y.i386.rpm XFree86-Mach64-X.X.X-Y.i386.rpm XFree86-Mach8-X.X.X-Y.i386.rpm XFree86-Mono-X.X.X-Y.i386.rpm XFree86-P9000-X.X.X-Y.i386.rpm XFree86-S3-X.X.X-Y.i386.rpm XFree86-S3V-X.X.X-Y.i386.rpm XFree86-SVGA-X.X.X-Y.i386.rpm XFree86-VGA16-X.X.X-Y.i386.rpm XFree86-W32-X.X.X-Y.i386.rpm XFree86-devel-X.X.X-Y.i386.rpm XFree86-libs-X.X.X-Y.i386.rpm
(Note: X.X.X represents the current version of XFree86, while Y represents the packages revision. Where ever you see this, replace it with the appropriate numbers. As of April 1998, the latest release of XFree86 was 3.3.2 and the latest package revision was 5.)
You need at least these:
XFree86-X.X.X-Y.i386.rpm XFree86-75dpi-fonts-X.X.X-Y.i386.rpm XFree86-100dpi-fonts-X.X.X-Y.i386.rpm XFree86-libs-X.X.X-Y.i386.rpm XFree86-VGA16-X.X.X-Y.i386.rpm
as well as XFree86-XF86Setup-X.X.X-Y.i386.rpm
from /pub/contrib/hurricane/i386
If you want to build X apps (if you are not a programmer, I
doubt you will), you want
XFree86-devel-X.X.X-Y.i386.rpm as well.
You will also need one of the other, card-specific servers. Exactly which one you need will depend upon which server supports your card. There are several ways you can figure out which server to use. First, you need to know what type of video card you have. If you don't know this, check your documentation. If that doesn't work, you can open the system up and look at the card, or use the SuperProbe program, located in /usr/X11R6/bin/.
You can then use the XFree86 FAQ, located at /urlhttp://www.xfree86.org/FAQ/, as well as the release specific information at /urlhttp://www.xfree86.org/X.X.X/index.html to help you determine which server to use. You can also check the documentation that is included in the XFree86-X.X.X-Y.i386.rpm and placed into /usr/X11R6/lib/X11/doc/. Note, you will have to install the XFree86-X.X.X-Y.i386.rpm before you can read this documentation, so you may end up ftping to ftp.redhat.com several times.
Download all of the packages to a temporary directory, such as /tmp. Please be sure to use binary mode in ftp. You can check the packages with rpm -K -nopgp *.rpm -- that will tell you if they got corrupted during the transfer.
You can then install everything like this:
rpm -Uvh --force XFree86*
Once that's done, run Xconfigurator or XF86Setup and you should be able to get things going from there.
If you use XF86Setup to configure X (you may have to, since Xconfigurator doesn't know how to configure some of the newer cards that XFree86 supports), you may have to fix some of the symbolic links by hand. Here's how it should work, assuming you have installed xserver-wrapper (like you are supposed to):
/usr/X11R6/bin/X should be a symbolic link to xserver-wrapper and /etc/X11/X should be a symbolic link to the card specific X server that you use, for example XF86_SVGA.
Here's an example of how you might create these symbolic links, as root:
ln -sf /usr/X11R6/bin/xserver-wrapper /usr/X11R6/bin/X ln -sf "../../usr/X11R6/bin/XF86_SVGA" /etc/X11/X
XF86Setup doesn't know to do this, so you may need to do this
manually after running
XF86Setup to create an /etc/X11/XF86Config file.
When you get an error about no servers installed, you should check to see if first the correct X server was installed and that the correct links were set up.
If you are using the latest Red Hat packages, you will be using the xserver-wrapper as a method to protect against various security problems.
/usr/X11R6/bin/X should be a symbolic link to xserver-wrapper and /etc/X11/X should be a symbolic link to the card-specific X server that you use, for example XF86_SVGA.
Here's an example of how you might create these symbolic links, as root:
cd /usr/X11R6/bin ln -sf xserver-wrapper ./X cd /etc/X11 ln -sf "../../usr/X11R6/bin/XF86_SVGA" ./X
This should set up the symbolic links correctly for your system.
One of the most common reasons is that you are not using the correct command to start the X server. The best command to start the X windows system is
startx
If you are using this command, and only the gray screen is coming up, there can be some other explanations. First, are you waiting long enough? Due to either the speed of the processor, the amount of memory (less than 16 megs of ram), or network problems it may take up to 6 minutes before X windows is fully operational. In most cases this is an indication of a problem that can be solved (faster CPU, more memory, or finding out what is broken in networking).
Another problem can be that the starting scripts are not able to execute some command. You can try to get around this by creating a very simple /.xinitrc and running startx. You may also check /var/log/Xerrors for errors that might help you troubleshoot the problem.
To customize any of the default window manager settings, add or remove programs from the menus, and/or change which programs start up automatically, you will need to change the files in /etc/X11/AnotherLevel. Please see the man page for xinit, startx, AnotherLevel, fvwm2, FvwmM4, and wmconfig for more details.
If you really don't like the look or feel of the default window manager setup, you can select a different style from the Preferences menu, and then clicking on WM Style menu.
If you are interested in changing to other window managers, you will want to check out this web page:
/urlhttp://www.plig.org/xwinman/
Whenever the XFree86 Xserver crashes, dies, ceases to exist or is inaccessible for any reason, you will see the error message _X11TransSocketUNIXConnect: Can't connect: errno = 111 or one similar to it.
It is a message from an X-client (any program running on your XFree86 Xserver, for example the window manager) telling you that it tried to connect to the Xserver, but failed to do so for "some" reason.
To further debug this issue, you will need to look into the server output for what got this error. Normally you should see the real error message (why the server stopped to work) a few lines before the error 111 message. If you still can't make head or tail from all those messages, make sure to quote the FULL server output in your problem report (to either technical support or a mailing list).
It is impossible to provide you with any help if you just mention the error 111, as so many people do. Obtaining the full server output is normally accomplished by redirecting both standard output and standard error to a file while starting the server. You can do this by running X like this:
startx &> startx.out
Other useful information to check are the symbolic links of X, the .xinitrc (if one exists) or what commands were running when the error occurred.
If you are using Metro-X you will need to do the following
cd /usr/X11R6/lib/X11/xkb/keymap cp xfree86 metro
This will solve many of the problems experienced. However it isn't a full solution due to the fact that some of the XFree86 mappings are out of date with modern keyboards. If you still experience problems with the keyboard settings, you will need to use the xmodmap and xev commands to correct the problems. Please send these corrections to bugs@redhat.com and bugs@xfree86.org so that they can be corrected in the main distributions.
More than likely, the needed libraries are not installed. You will (re)install the packages to get them.
Insert installation cdrom.
mount /mnt/cdrom cd /mnt/cdrom/RedHat/RPMS rpm -Uvh --force XFree86-devel* XFree86-libs* Xaw3d*
This should install most of the X libraries that you might need. If you still get the error, it may be due to the fact that the requested library is part of a package we do not provide (qt, xforms, motif, etc).
AGP cards were not supported in XFree86 before version 3.3.2. If you have 3.3.2 installed on your system, then Xconfigurator should show which AGP cards are supported. Note that Red Hat Linux 5.1 and later versions have XFree86 version 3.3.2 (or better) already.
If you do not already have 3.3.2, you may want to consider upgrading to this release. Please see their web page at /urlhttp://www.xfree86.org/ for more details.
The NeoMagic cards are currently not supported by Red Hat Linux's X servers. XFree86 can't support them since NeoMagic requires a non-disclosure agreement before they will release programming information and this precludes any source code release.
Xi Graphics' Accelerated X has support for the NeoMagic chips in their laptop specific X server. See /urlhttp://www.xig.com/ for more information on their server.
The problem is that releases prior to 4.2 installed (.Xclients) in every users home directory, which calls:
fvwm95-2 -cmd 'FvwmM4 -debug /etc/X11/TheNextLevel/...'
as their window manager, which doesn't exist in 5.0. The proper workaround for this problem is to:
rm -f ~/.Xclients
(A more drastic work workaround available to the root user):
rm -f /home/*/.Xclients
This problem often comes with the error:
Cannot allocate colormap entry for default background.
The reason is that X has run out of colors to allocate to applications (this shows up a lot on 16 and 256 color applications) To solve this problem you can try the following:
startx -- -bpp 16
If it doesn't work, consult your X driver manuals, Xconfigurator or upgrade your videocard.
It has been found that the 2 button Microsoft Mouse of version 2.1A or greater is a "smart" mouse. It has been speculated that it is looking for wakeup signals from Windows, or it will not respond back to the computer.
This causes X and/or gpm to not work with Linux because the mouse is not responding in a way these programs are expecting. To "reset" the mouse to work with these programs, you can follow one of several methods. Use mouseconfig to set things up before running X.
mouseconfig --kickstart --device cuaX
where X is either 0 (for com 1) or 1 (for com2)
Another solution is to get gpm-1.13, run as gpm -t pnp -R, and configure XFree86 for MouseSystems Protocol with /dev/gpmdata as the device.