Setting up XFree86 Components Checking Direct Rendering Infrastructure (DRI) Installation DRI is a framework for allowing software to access graphics hardware in a safe and effecient manner. It is installed in XFree86 by default if you have a supported video card. To check if DRI is installed properly, check the log file /var/log/XFree86.0.log for statements like: (II) R128(0): Direct rendering enabled From an xterm, run glxinfo and look for the phrase: direct rendering: Yes You can also run the test program glxgears. This program brings up a window with three gears turning. The xterm will display how many frames were drawn every five seconds so this is a reasonable benchmark. The window is scalable, and the frames drawn per second is highly dependent on the size of the window. For troubleshooting problems, check the DRI Users Guide at . Adding TrueType fonts to XFree86 TrueType font support is built into XFree86. The following items need to be completed to make the fonts available. Establish a directory for the fonts and move any TrueType fonts you want into that directory. Create the fonts.scale and fonts.dir files in the TrueType font directory. Ensure the truetype module is loaded in XF86Config. Ensure the FontPath in XF86Config contains the TrueType font directory. Establish a TrueType font directory The build of XFree86 as given above automatically creates a TrueType font directory: /usr/X11R6/lib/X11/fonts/TTF. This directory already has some TrueType fonts and is set up correctly. If this directory is satisfactory, copy any other TrueType fonts you want into that directory. If not, create a new directory, preferably in the /usr/X11R6/lib/X11/fonts/ directory and put your TrueType fonts there. Create <filename>fonts.scale</filename> and <filename>fonts.dir</filename> Now change to the directory where you have your TrueType fonts and run mkfontscale && mkfontdir Ensure TrueType is loaded in <filename>XF86Config</filename> The "Module" section should look like: Section "Module" ... Load "freetype" ... EndSection Ensure the <parameter>FontPath</parameter> in <filename>XF86Config</filename> points to the TrueType font directory The "Files" section should look like Section "Files" ... FontPath "/usr/X11R6/lib/X11/fonts/<TruetypeDir>/" ... EndSection Update the font cache files Finally, to update all the font cache files specified in /etc/fonts/fonts.conf, run fc-cache XFree86 will now be able to use TrueType fonts when it is restarted. You can check to see if the new fonts are available with the xlsfonts or xfontsel program. You should re-run mkfontscale and mkfontdir any time you add or delete TrueType fonts. You should also rerun fc-cache each time you add or remove any fonts. Setting up keyboards In this version of XFree86, it has been reported that non-latin keyboard layouts do not include latin configurations as was previous practice. To set up a keyboard for latin and non-latin input, change the XkbLayout keyboard driver option in the InputDevice section of the XF86Config file. For example: Section "InputDevice" Identifier "Keyboard0" Driver "Keyboard" Option "XkbModel" "pc105" Option "XkbLayout" "en_US,ru" Option "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:scroll" EndSection In this example, you can use the Alt-Shift combination to switch between keyboard layouts and use the Scroll Lock LED to indicate when the second layout is active. Setting up xdm xdm provides a graphical logon capability and is normally set up in /etc/inittab. Most of the information you need to customize xdm is found in its man page. To execute xdm during bootup, change the initdefault level to 5 and add the following lines to /etc/inittab: # Run xdm as a separate service x:5:respawn:/usr/X11R6/bin/xdm -nodaemon Using XFree86 Resources There are many options that can be set in XFree86 and X clients via resources. Typically resources are set in the ~/.Xresources file. The layout of the ~/.Xresources file consists if a list of specifications in the form of object.subobject[.subobject...].attribute: value Typically, components of a resource specification are linked together by either tight, represented bu a dot (.), or loose, represented by an asterisk (*), bindings. A tight binding indicates that the components on either side of the dot must be directly next to each other as defined in a specific implementation. An asterisk is a wildcard character that means that any number of levels in a defined hierarchy can be between the components. For example, XFree86 offers two new cursors: redglass and whiteglass. To use one of these resources, you need to add the following line: Xcursor.theme: whiteglass However, you can specify the backgound for all clients with: *background: blue More specific resource variables will override less specific names. Resource definitions can be found in the man pages for each respective client. In order to load your resources, the xrdb program must be called with the appropriate parameters. Typically, the first time resources are loaded, you use: xrdb -load <filename> To add resources to XFree86's database in memory use: xrdb -merge <filename> The xrdb instruction is usually placed in ~/.xinitrc or ~/.xsession. To get more information, see the xrdb man page.