Author: Jonás Melián García
Contact: jonasmg --AT-- SoftHome --DOT-- net
License:GNU GPL-2

Hardware detection and auto-configuration for window system.




It configures X core and Xft/fontconfig fonts system.

It looks for the fonts directories in /usr/share/fonts/, check that they have fonts, and place them according to:

  1. The first path on our list is /usr/share/fonts/misc because is where all-important fixed and cursor fonts are kept. These are crucial for the proper operation of X Window.
  2. It must place the fonts with better quality, beginning with outline fonts, and those that more prefers.
  3. If it uses a greater resolution than 1024x768, it must place 100dpi fonts before of 75dpi.
  4. No longer it is necessary to use :unscaled.


It adds basic modules. If 3D is supported by card driver then adds 3d modules too, and 3D sections.


If touchpad is detected then checks to exist a specialized driver for to have advanced features of it. Although that driver isn't necessary for using it.

It has full support for localization. It looks for the variables about language in configuration files, and it gets the X key map of a locale.

Card graphic

It detects the graphic card driver and it checks if it exists.

It also checks if the free driver has an owner alternative, and if it is installed then it is added but commented out. So the free driver is used by default but the user can change it for using the owner.

If does not exist any of detected drivers then it checks the basic drivers -- vesa, fbdev, vga --.

The driver options are added from its manual, if it exists.


In EDID monitors (plug'n'play) it gets data correctly. It also checks if DPMS is supported to enable it.

In non-EDID monitors (old monitors), it adds HorizSync,VertRefresh options with a values by default and show a warning about that.

In laptops monitors, the HorizSync,VertRefresh options aren't added because they are not necessary.


It chooses the better modes and depth bits.

In non-EDID monitor and laptops, it selects the vesa video modes supported by graphic card.

The modes are sorted according the "higher hz is better" method for each depth.

It chooses a good depth as default, searching a depth that supports 1024x768 as minimum else 800x600.


To do