Autoconfiguration, take 2

Francois Tigeot ftigeot at
Thu Sep 16 10:06:15 PDT 2004

Since I asked a month ago how to auto-detect the appropriate graphic
driver, I may as well provide the solution for reference.

I had a look at the C code, but it seemed to be designed in an
all-or-nothing way and I would have to rewrite most of the auto-detection
stuff just for stopping it from autodetecting everything.

What's more, I found two different configuration paths which provided
different results with Xorg 6.7.0.
My test machine was a standard PC with an ati rage128 video card.
The test X server was compiled statically with three drivers: via sis and

  - Xorg launched without any configuration file determined the driver to be
  'ati' and crashed when it couldn't find it.

  - Xorg -configure generated a file with the 'vesa' driver which was
  perfectly usable as-is.

I have now written the following script shell to use the result of Xorg
-configure :

	# Let X generate a new configuration file
	/usr/X11R6/bin/Xorg -configure
	# Find the first line of the "Driver" section
	first_line=`grep -n '^Section *"Device"$' ${tmp_conf} | cut -f 1 -d ':'`

	# Find the first line containing the "Driver" keyword
	driver_line=`tail -n ${first_line} ${tmp_conf} | grep -m 1 'Driver'`

	# Extract the name of the driver in a shell variable
	VIDEO_DRIVER=`echo ${driver_line} | cut -f 2 -d '"'`

I then use the VIDEO_DRIVER variable to modify a template xorg.conf file.
It is working reasonably well for my purposes.

Francois Tigeot

More information about the xorg mailing list