X Windows on SiS Graphics Cards

On older systems that use XFree86, X Windows can be run on top of the SiS graphics cards (despite the fact that they are basic junk) using the SiS driver (sis_drv.o) from http://www.winischhofer.at/linuxsisvga.shtml.

The driver is downloaded and installed into /usr/X11R6/lib/modules/drivers, replacing the old one. Be sure to get a copy of the driver that matches the version of X11 that you are using. You can determine this by typing "X -version" at the command line. For XFree86 Version 4.2.0 (Red Hat Linux release: 4.2.0-72), use the version marked "XFree86 4.2.1 (gcc 2.95)".

/etc/X11/XF86Config:

This file should be set up as follows (example is for a Samsung Syncmaster 172x running on a PowerColor Xaber 200). Note that you may have to turn off DRI, if you have one of the older SiS chipsets on your video card. Here is the example:

     Section "ServerLayout"
         Identifier    "Default Layout"
         Screen        0 "Screen0" 0 0
         InputDevice   "Mouse0" "CorePointer"
         InputDevice   "Keyboard0" "CoreKeyboard"
         InputDevice   "DevInputMice" "AlwaysCore"
     EndSection
     Section "Files"
         RgbPath       "/usr/X11R6/lib/X11/rgb"
         FontPath      "/usr/X11R6/lib/X11/fonts/local/"
         FontPath      "/usr/X11R6/lib/X11/fonts/misc/"
         FontPath      "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
         FontPath      "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
         FontPath      "/usr/X11R6/lib/X11/fonts/Type1/"
         FontPath      "/usr/X11R6/lib/X11/fonts/Speedo/"
         FontPath      "/usr/X11R6/lib/X11/fonts/75dpi/"
         FontPath      "/usr/X11R6/lib/X11/fonts/100dpi/"
     #   FontPath      "unix/:7100"
     EndSection
     Section "Module"
         Load          "dbe"
         Load          "extmod"
         Load          "fbdevhw"
         Load          "glx"
         Load          "record"
         Load          "freetype"
         Load          "type1"
     EndSection
     Section "InputDevice"
         Identifier    "Keyboard0"
         Driver        "keyboard"
         Option        "XkbRules" "xfree86"
         Option        "XkbModel" "pc101"
         Option        "XkbLayout" "us"
     EndSection
     Section "InputDevice"
         Identifier    "Mouse0"
         Driver        "mouse"
         Option        "Protocol" "PS/2"
         Option        "Device" "/dev/psaux"
         Option        "ZAxisMapping" "4 5"
         Option        "Emulate3Buttons" "no"
     EndSection
     Section "InputDevice"
         Identifier    "DevInputMice"
         Driver        "mouse"
         Option        "Protocol" "IMPS/2"
         Option        "Device" "/dev/input/mice"
         Option        "ZAxisMapping" "4 5"
         Option        "Emulate3Buttons" "no"
     EndSection
     Section "Monitor"
         Identifier    "SyncMaster172x"
         HorizSync     31.5-81.1
         VertRefresh   56-76
     EndSection
     Section "Device"
         Identifier    "Xaber200"
         Driver        "sis"
         VendorName    "PowerColor"
         BoardName     "Xaber 200 X20L-B1 8x AGP"
     EndSection
     Section "Screen"
         Identifier    "Screen0"
         Device        "Xaber200"
         Monitor       "SyncMaster172x"
         DefaultDepth  24
      Subsection "Display"
          Depth     8
          Modes     "1024x768" "800x600" "640x480"
          ViewPort  0 0
      EndSubsection
      Subsection "Display"
          Depth     16
          Modes     "1024x768" "800x600" "640x480"
          ViewPort  0 0
      EndSubsection
      Subsection "Display"
          Depth     24
          Modes     "1024x768" "800x600" "640x480"
          ViewPort  0 0
      EndSubsection

EndSection

     Section "DRI"
         Group         0
         Mode          0666
     EndSection

On newer systems, that use XOrg, the SiS Graphics Cards should be automatically supported but you can force the issue by editing the XOrg config file. Pay particular attention to the Device and Screen sections, which should look something like this:

/etc/X11/xorg.conf:

.

       .
  Section "Device"
      Identifier    "Videocard0"
      Driver        "sis"

EndSection

     Section "Screen"
         Identifier    "Screen0"
         Device        "Videocard0"
         Monitor       "Monitor0"
         DefaultDepth  24
         SubSection "Display"
             Viewport  0 0
             Depth     24
             Modes     "800x600" "640x480"
         EndSubSection
     EndSection

Note that the Modes line can be used to force a recalcitrant display (as noted in the prior section) to do what you want it to do (i.e. work).