Install.txt Driver File Contents (S315Linux.zip)

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 supported
Download Driver Pack

How To Update Drivers Manually

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.

server: web2, load: 0.87