MandrakeUser.Org - Your Mandrake-Linux Knowledge Base!


 
 

*DocIndex - X

Setup Troubles

* Preparations
* Rerunning The X Configuration Utility
* Finding Out About X Server 'Issues'
* If Your Card Is Not Supported By XFree
* Logs
* Common Errors and Fixes

Related Resources:

XFree86: Support, Documentation and Resources
comp.windows.x. i386unix
comp.os.linux.x

Revision / Modified: June 19, 2002
Author: Tom Berger

 

In many cases X setup is a snap. Since you are reading this page, I suppose this hasn't been the case with you. I will attempt to guide you along the possible ways to set up X, give you hints for further reading that may help you and point to further resources.

* Preparations

It is always good to have some data at hand, here you might need the brand and chipset of your video card, the manufacturer name, model name and - perhaps - the frequency specs of your monitor.

How to find out specs

Of course the easiest way would be to have the relevant hardware docs at hand. If you don't have them, there are several ways to find out:

  • If you happen to have MS-Windows installed, get some data from its control panel (Right-Click somewhere on the screen - 'Properties' - 'Change Configuration').
    This will tell you at least the name of the graphics card and something about the monitor. Write it down. Many graphic cards come with their own bundle of diagnostic software. Chances are that this software will tell you more.

  • In Linux, either use 'lspcidrake' or the command

    /sbin/lspci -v

    to find out more about your hardware. If the shell can't find that command, install it. It's part of the 'pciutils' package. If you need help with RPM, go to the RPM page.

  • Have a look at the '/usr/share/ldetect-lst/MonitorsDB' file if it lists your monitor.
    The only values you might be interested in now are 'HorizSync' and 'VertRefresh'. Write them down.

  • See a friendly hardware vendor and ask him.

  • Visit the hardware manufacturer's web-site. Sometimes they maintain spec-databases for their products.

  • Ask in hardware-related Usenet newsgroups like comp.periphs.*, comp.sys.ibm.pc.hardware.video, or comp.os.linux.hardware.

* section index * top

* Rerunning The X Configuration Utility

Sometimes it just takes rerunning the X configuration utility to get a working X. Running this utility requires 'root' privileges.

In Mandrake releases 7.x and later, you can use

XFdrake

on the console. For manual settings, try

XFdrake --expert

If you've set up your system to boot directly into graphics mode, press the<ESC> on the boot loader screen where you can select which operating system to boot. Then enter

linux init 3

and press the <Enter> key. This will boot your system to the console.

In pre-7 Mandrake releases, use

Xconfigurator

If these don't work for you, try XFree's own setup utility

xf86config

for XFree 3, and

xf86cfg

for XFree 4.

Now supply the values you've found out about earlier. Don't hesitate to choose suboptimal monitor refresh settings, you can tweak them later on.
If you can't find the exact model of your graphics card in the presented list, try the entry which comes closest, but do not choose a card with more video memory than the one you have installed.

* section index * top

* Finding Out About X Server 'Issues'

If rerunning the configuration utility hasn't helped you, you should check the XFree documentation for your card.
This documentation is stored in '/usr/X11R6/lib/X11/doc' (those X guys sure know how to hide help files ;-)). This directory consists of README files for the several X servers (X 3) or drivers (X 4), for input devices and more. If you don't know which X server / driver is the right one, cd to that directory and run

grep -i name_of_device *

This will list all files which mention your card. If it is not mentioned at all, you've either made a typo, used the wrong name, or your card isn't supported.

The READMEs list the supported cards and options you may pass to the X server. Most servers accept options like "noaccel", "no_bitblt" and the like which reduce performance but might lead to more stability.

* section index * top

* If Your Card Is Not Supported By XFree

If your card isn't listed in the supported card database or if it's listed but support is flaky, you have three more possibilities: getting a Linux driver from the vendor, using a commercial X server or using the framebuffer server.

Several vendors are offering their own drivers for Linux. These drivers either add support for chipsets or allow you to use certain proprietary hardware features like 3D acceleration.
Due to the license of these drivers, they can't be distributed along with the free edition of Mandrake Linux (or indeed any other Linux distribution) and their use is not supported by Mandrakesoft:

The usual tactic to install these drivers is to configure a 'generic vga card' during installation and then replace the values in '/etc/X11/XF86Config-4' with those needed by the vendor's driver. Read the accompanying help file of the driver.

Commercial X servers for Linux are offered by Xi Graphics and by Metro Link. Notice that since these are commercial products, you will have to rely on their support or find one of the few other Linux users who uses them. Xi Graphics' X servers are rather expensive.

The framebuffer server is a generic X server which works for all cards which at least comply to the VESA 2 standard. As it is with generic servers, it's slow as molasses, but it should at least work with all post-1996 graphics cards. Read the Framebuffer HOWTO for more information.

* section index * top

* Logs

To get an idea of what's going wrong, check the log files like '.xsession-errors' in your home directory or '/var/log/XFree86.[x].log'.
You can generate a log on your own with

X > xlog.txt 2>&1

Then kill the X server with <CTRL ALT BACKSPACE>. You will find a new file in your working directory with the name 'xlog.txt' which contains all relevant X messages.

* section index * top

* Common Errors and Fixes

  • _X11TransSocketUNIXConnect: Can't connect: errno = 111

    From the (old) XFree86 FAQ:

    Whenever the XFree86 Xserver crashes, dies, ceases to exist or is inaccessible for any reason, you will see this error message. 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 your Xserver, but failed to do something for "some" reason.

    Quoting only this message in a bug report is therefore utterly useless. Look in the server output for the real reason why the server died. Normally you should see the real error message (=why the server stopped working) a few lines before the "error 111" message.
  • could not open default font 'fixed'

    There is either something wrong about your font path, your fonts, the font server or the files which contain the font information ('fonts.alias' and 'fonts.dir' in the fonts directories in '/usr/X11R6/lib/X11/fonts').
    Make sure you have the X font server xfs installed (rpm -qa | grep xfs) and that it is running (service xfs status as 'root'). Have a look at '/etc/X11/XF86Config-4'. The font path setting should look like this:

    FontPath "unix/:-1"

    Have a look at '/etc/X11/fs/config', the font server configuration file. Do you have all the font directories that are listed therein? Try putting a hash ('#') in front of some paths and (re)start the font server and X.

    If you have tried to add or remove fonts recently - either by hand or by using the 'DrakFont' utility, it might be that the font information files contain wrong settings. To solve this, you have to regenerate them using the 'mkfontdir' command. For more information, refer to Adding fonts to X.

  • INIT: Id "x" respawning too fast: disabled for 5 minutes or screen keeps flicking resolutions on X startup

    The system can't start the graphical login manager (see Starting X for details). Reboot on a console like described above and run XFdrake --expert. Make sure you set the correct values. If that doesn't help, have a look at your graphics vendor's website if they offer a driver for Linux.

  • no screens found

    Usually caused by a wrong hardware configuration in '/etc/X11/XF86Config-4'. Rerun XFdrake --expert.

  • X loads but dies or shows just a gray screen when started with 'startx'

    Have you recently created a file like '.xinitrc' in your home directory? If so, you might have forgotten to make it executable. Run chmod 755 .xinitrc and try again.

  • Monitor not listed in database

    1. Get the values for horizontal and vertical refresh rates for your monitor and write them down. These values can be gathered from the hardware's documentation or the manufacturer's website.

    2. The next step depends on where you are.

      • If you are installing Mandrake Linux, choose 'Generic VGA Monitor' from the monitor list to get through this installation step. Do not test the setup. On reboot, press the ESC key when the boot screen is displayed and type

        linux init 3

        at the boot loader prompt. This will boot the system to the console. Log in as 'root'.

      • If you are already on the console, run (as 'root')

        XFdrake --expert

        and choose 'Generic VGA Monitor' from the monitor list. The reason behind this is to get a syntactically correct XFree86-4 file which you can edit later.

    3. Type

      vi /etc/X11/X86Config-4

    4. Press the <i> key. Scroll the file down to the "Monitor section".

    5. Replace the values for 'HorizSync' and 'VertRefresh' with the values of your monitor model.

    6. Press <ESC>. Type

      :wq

      and then hit <ENTER> to save the changed file.

    7. Reboot.

* section index * top

 
Legal: All texts on this site are covered by the GNU Free Documentation License. Standard disclaimers of warranty apply. Copyright LSTB (Tom Berger) and Mandrakesoft 1999-2002.