XFree86 OpenGL Driver for SiS315Pro/540/630 Installation Guide Driver Version : 0.9 - XFree86 Version : 4.0.2 Kernel version : 2.4.2 [== What's New ==] 0.9 first release [== Build Driver ==] (1) Build kernel with AGP/FBD support First build Kernel(Need to do when kernel version changes): 1. download needed kernel from (ftp://ftp.kernel.org/pub/linux/kernel/v2.4.2) if /usr/src/linux alrealy exists, rename it untar & unzip kernel in /usr/src (ex: tar -zxvf linux-2.4.0-test1.tar.gz) 2. download Kernel modules from (\\SW_SERVER\Public\Project\Linux\3d-310\release\SiS_Kernel-2.4.2_0.9.tgz) untar & unzip kernel in /usr/src 3. configue your kernel (a) in /usr/src/linux, type "make menuconfig" (b) go to "Code maturity level" options and set "Prompt for development and/or incomplete code/drivers" to [*] (c) go to "processor type and feature" option and set "Symmetric multi-processing support" to [] (disable it!) (d) go to "Loadable module support" and set all selections to [*] (e) go to "Character devices", set "/dev/agpgart (AGP Support).." to <M>, then set all sub-selections to [*] (f) go to "Character devices", set "Direct Render Manager.." to [*], then set all sub-selections to <M> (g) go to "Console Drivers - Set VGA Text Console to [*] - Set Video Mode selection support to [*] - Frame-buffer support --> . Set Support for frame buffer device to [*] . Set SIS acceleration support to <M> then set SIS315Pro/550 support to <*> . Advanced Low Level Driver option --> Set 8bpp, 16bpp and 32bpp packed pixel drivers to [*] In /usr/src/linux (a) type "make dep" (b) type "make bzImage" (c) type "make modules" (d) type "make modules_install" (c) set boot image to the new generated iamage and reboot - copy ./arch/i386/boot/bzImage & ./System.map to the /boot directory - update /etc/lilo.conf - type "lilo" - type "reboot" 4. start to build In /usr/src/linux (a) type "make dep" (b) type "make bzImage" (c) type "make modules" (d) type "make modules_install" (c) set boot image to the new generated iamage and reboot - copy the new bzImage & System.map to the /boot directory - update /etc/lilo.conf - type "lilo" - type "reboot" (2) Build XFree86 First build XFree86(Need to do when XFree86/kernel version changes): 1. put xfree86 4.0.2 source code to /usr/src/xc * go to \\Sw_server\public\Project\Linux\Xfree86\4.0 * copy X400src-1.tgz, 4.0-4.0.1.diff1.gz, 4.0-4.0.1.diff2.gz 4.0.1-4.0.2.diff1.gz 4.0.1-4.0.2.diff2.gz 4.0.1-4.0.2.diff3.gz 4.0.1-4.0.2.diff4.gz to /usr/src * type 'sh patch_4.0.2.sh' or in /usr/src, unzip all gz files listed above in /usr/src, type 'tar -xvf x400src-1.tar' ps: this step will create /usr/src/xc, if the directory already exists, rename it first for backup type 'patch -p0 -E < 4.0-4.0.1.diff1', then type 'patch -p0 -E < 4.0-4.0.1.diff2' ps: when you run these commands, when something appear for your option, always enter 'Enter' key now in /usr/src/xc are xfree86 4.0.1 source code. type 'patch -p0 -E < 4.0.1-4.0.2.diff1', then type 'patch -p0 -E < 4.0.1-4.0.2.diff2' type 'patch -p0 -E < 4.0.1-4.0.2.diff3', then type 'patch -p0 -E < 4.0.1-4.0.2.diff4' ps: when you run these commands, when something appear for your option, always enter 'Enter' key now in /usr/src/xc are xfree86 4.0.2 source code. 3. start to build, in xc/ (a) type "make World" (b) type "make install" (c) go to xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel (d) type "make -f Makefile.linux" PS: make sure the settings of kernel(set via 'make menuconfig') you are using are the same with the setting in /usr/src/linux when you do step (a) 4.download GLX modules from (\\SW_SERVER\Public\Project\Linux\3d-310\release\SiS_GLX_xf86-4.0.2_0.9.tgz) untar & unzip GLX modules in ~/ then type 'make install' 5. go to /usr/X11R6/bin, make 'X' symbol-link to 'XFree86' ex: rm -f X; ln -s ./XFree86 X 6. execute "xf86config" and set your hardware configuration, and the program will generate /etc/X11/XF86Config 7. modify /etc/X11/XF86Config (a) In "Files" Section add ModulePath "/usr/X11R6/lib/modules" (b) In "Module" Section add lines Load "glx" Load "dri" (c) set "Driver" item in active "Device" section to "sis" ps: you can reference XF86Config from \\Sw_server\public\Project\Linux\3D [== Kernel Update ==] do step (1) in [== Build Driver ==] [== xfree86 update ==] do step (2) in [== Build Driver ==] [== 3D Driver update ==] 1. in directory containing xc/, untar and unzip sis3D_???.tar.gz (ex: tar -zxvf sis3D_0911.tar.gz) 2. in directory containing xc/, untar and unzip sis3D_misc_???.tar.gz (ex: tar -zxvf sis3D_misc_0911.tar.gz) 3. go to xc/lib/GL/ (a) type "make clean" (b) type "make Makefile" (c) type "make Makefiles" (d) type "make depend" (e) type "make" (f) type "make install" 4. go to xc/programs/Xserver/hw/xfree86/drivers/sis (a) type "make clean" (b) type "make Makefile" (c) type "make Makefiles" (d) type "make depend" (e) type "make" (f) type "make install" 5. go to xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel (a) type "make -f Makefile.linux" PS: make sure the settings of kernel(set via 'make menuconfig') you are using are the same with the setting in /usr/src/linux when you do step (a) [== Setup When Linux boots ==] 1. load kernel modules (do once when linux boots) (a) go to /lib/modules/<Current Linux Version>/misc (ex: cd /lib/modules/2.4.2/misc) (b) type "insmod ./sisfb.o" (c) type "insmod ./agpgart.o" (d) go to xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel (e) type "insmod ./sis.o" [== Execute OpenGL Applications ==] 1. enter X-window 1.1. type "startx" 2. execute OpenGL applications [== Known bugs ==] 0.9 1. quake3 exports 24-bit Z when using 32-bit Z 2. core dump / render to wrong place when resolution/fullscreen changes in quake3 (DRI issue) 3. VT-switch sometimes results in crack down [== Limitation ==] 0.9 1. no viusals with alpha capability supported 2. all limitations of mesa software renderer ps1. you can use mesa 3.2 standalone version or 3dfx driver to test the limitation of mesa ps2. use software IR module to test limitation is a better choice. If you don't load libdri.a in XF86Config, the rendering commands will be passed to libglx.a. make sure libGLcore.a is software-renderer 3. support OpenGL 1.1 4. destination must be window, pixmap is not supported (DRI limitation) 5. texture-swapping not supportedDownload 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.