GEODE XSERVER DISPLAY DRIVER FOR LINUX Author: Peter Lohmann 1.0 Installing XFree86 Source This source tree mirrors the files which need to be added to or replaced in the /usr/X11R6 tree. The source files will be under /usr/X11R6/xc. The installation of Linux will not include the source code for the XFree86 X-Window system, even if the option to install 'everything' is selected. To get the source code for XFree86, copy the file XFree86-3.3.6-20.src.rpm from the Linux Disk 2 under /mnt/cdrom/SRPMS. Use the package manager to extract the 3 compressed source files, then install each of them under /usr/X11R6. The package manager (for RedHat Linux) may be used to get the XFree86 source package by doing these steps from the command-line: [put RedHat Linux Disk 2 in the CDROM drive] mount /dev/cdrom /mnt/cdrom rpm -U --force /mnt/cdrom/SRPMS/XFree86-3.3.6-20.src.rpm umount /mnt/cdrom This package will put the 3 compressed files into /usr/src/redhat/SOURCES. The 3 compressed files are: X336src-1.tar.bz, X336src-2.tar.bz, and X336src-3.tar.bz. The first of the files contains the source code. The other 2 contain mostly documentation. To reduce the size of the installation, install only the first compressed file (X336src-1.tar.bz). The compressed XFree86 files in the tar+bzip format (*.tar.bz) may be uncompressed and placed in the correct location by moving it to the /usr/X11R6 directory and executing the tar command like this: tar xfvI X336src.tar.bz The will un-tar the archive, pass it through the bzip filter, build the directory tree, and be verbose about what is happening. After this, an 'xc' subdirectory will exist with all of the source code for XFree86. After the 'xc' tree is created, copy the files under revision control into their respective places in the 'xc' tree. This procedure works for RedHat Linux 6.2, and will probably work for other distributions of Linux as well. 2.0 XFree86 4.0.x There are many significant changes to XFree86 reflected in the 4.0.1 release. To use XFree86 4.0, download the source (or binaries) from: http://www.xfree86.org/ The *.tar.bz files ("tar balls") will be extracted and installed in a similar fasion as the XFree86 3.3.6 files. There is only one Xserver in 4.0: XFree86. It will load the modules/drivers that it needs at run-time. These drivers are located at: /usr/X11R6/lib/modules/drivers The XF86Config file format has changed, too. The Xconfigurator program may not be available to create this file, so you may have to use xf86config, instead. For a more comprehensive description of changes, visit the XFree86 web site and go to the documentation section. 3.0 Understanding the Xserver The Xserver manages client connections and responds on behalf of clients to user interface events (mouse, keyboard input) and protocol requests (graphics). It is divided into 4 major pieces: - device independent layer (DIX): code shared among all implementations - OS layer: code which is different between operating systems but shared among all devices of an operating system - device dependent layer (DDX): code which is potentially different between operating systems and graphics devices - extension interface: the standard way to add features to the X server For more information on this, see the xc/doc directory. 4.0 Building the Xserver Before doing a build, copy the /usr/X11R6/bin directory to /usr/X11R6/bin.bak. A complete build of XFree86 can take 2-8 hours, depending on processor speed, available memory, build options, etc. To reduce the build time, remove from the build configuration the Xservers and components that are not needed (e.g., XF86_MONO, XF86_VGA16, etc.). To prevent the unnecessary building of components not needed or not modified, edit the /usr/X11R6/xc/config/cf/xf86site.def file. The comments in this file will help you determine the consequences of changing what is commented and un-commented. For example, to only build the XF86_SVGA server, un-comment all of the lines in the section where each of the 'Intel x86' servers is '#define-d' to 'NO' -- except for 'XF86SVGAServer'. Further in that same file you may un-comment which server to specifically install, which of the SVGA drivers to build, whether or not to build the fonts, etc. To initiate a full build, open a shell window and switch to the '/usr/X11R6/xc' directory. Enter 'make World >& world.out'. This will start the build process. If all of the configuration parameters are correct, this step will only needed once. Only the XF86_SVGA image will need to be replaced after modifications to the driver. This image uses library archive libdriver256.a, which is built from the driver objects. 4.1 LinkKit The XFree86 build tree also includes a 'LinkKit'. The Link Kit has everything that is needed to re-link the server. You can write a new driver and build a new server without having the server source installed. 4.2 Integrating New Driver Source Use the 'crlf' utility to remove MSDOS-style CRLFs in the code. The file 'crlf.c' is provided. Execute 'cc crlf.c' to build this utilty. If the source code includes MSDOS-style CRLFs, then the correct Makefile will not be built with 'make Makefiles' and the source will fail to build. The Makefile is generated from the 'Imakefile' during the process of 'make Makefiles'. The National-specific driver code will be located at: For XFree86 3.3.x: /usr/X11R6/xc/programs/Xserver/hw/xfree86/vga256/drivers/geode For XFree86 4.x.x: /usr/X11R6/xc/programs/Xserver/hw/xfree86/drivers/geode The durango code (graphics abstraction package) is located in a subdirectory of geode called 'gfx'. A symbolic link is used to bring the code into the driver build. From the geode directory, use the following command to create the link: ln -s gfx/durango.c durango.c 5.0 Configuring the Xserver Before configuring the Xserver, copy /etc/X11/XF86Config to XF86Config.bak. Run 'Xconfigurator'. This will create a new XF86Config file. Select 'Geode' or 'MediaGX' from the available display adapters. The list of display adapters is read from /usr/X11R6/lib/X11/Cards. Select your monitor or 'custom'. When asked to 'Probe' or 'Dont Probe', select 'Dont Probe' for legacy Cyrix display hardware and 'Probe' for newer hardware. If you do not want the Xserver to start right away after booting, do not select the default button to start X after booting. 6.0 Recovering from Failure to Start X To boot without starting the Xserver, enter 'linux 4' at the LILO boot prompt. This will initialize the system to run-level 4. 'linux' is the name of the kernel image. It may be a different name if a new kernel was built and set as the boot image. After logging-on as root, run Xconfigurator and answer 'no' to the question of whether to run the Xserver automatically at startup. Start the Xserver from the command-line with: 'startx >& startx.out'. This will provide Xserver error messages. Better, you can open the file /var/log/XFree86.0.log after invoking the Xserver. 7.0 Interactively Debugging the XFree86 Debugging XFree86 can be difficult. You can use gdb to interactively debug the server from another system. You can use a special module-aware gdb to debug modules. In the Xfree86 4.x distributions, see the file: /usr/X11R6/xc/programs/Xserver/xfree86/DebuggingHints for useful tips. 8.0 Testing the Xserver There are some programs to test the Xserver. 'xvidtune' will allow you to switch between display resolutions and to sync the display with the monitor. 'vgatest' lets you test a specific VGA resolution. 'dumpreg' will display the VGA registers. Use 'xdpyinfo' to see which extensions are included, or run X with '-showconfig' flag to show which drivers are included. To explicitly start the Xserver, enter 'xinit -- ./XF86_SVGA -bpp 16' for 16bpp. 'x11perf' and 'x11perfcomp' allow performance benchmarking of the Xserver. 9.0 Framebuffer Devices 10.0 Useful Information and Documentation "How to add an (S)VGA driver to XFree86" by David E. Wexelblat. This is a small text file which is part of the XFree86 documentation. "{The Concise Guide to} XFree86 For Linux" by Aron Hsiao. This is a book which covers the configuration and use of XFree86 for Linux. ISBN 0-7897-2182-1 http://www.xfree86.org http://www.x.org /usr/X11R6/ 11.0 Known Problems - xfs: Font server fails to start. Even a straight build of xfs from the distribution source will fail to load.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.