Tag Archives: S3 Graphics

S3-Chrome 400-500 Series Linux Driver

S3-Chrome 400-500 Series Linux Driver.

OS: Linux



S3 Graphics Accelerated Linux Driver Installation Guide

S3 Graphics
Last Updated: 2009/02/25



The S3 Graphics Accelerated Linux Driver Set support:

* Linux Kernel 2.6.x
* X.Org X11R7.x with H/W 2D acceleration through XAA or EXA
* SAMM / MAMM / Xinerama with multiple display
* DVI dual-link up to 2560×1600 resolution
* 90/180/270 degree display rotation
* H/W accelerated direct-rendering OpenGL 3.0 API
* H/W accelerated indirect-rendering OpenGL 2.1 API
* Composite Desktop with AIGLX / Compiz
* Full featured RandR 1.2 function
* Kernel mode setting with standalone module
* Full H.264, VC-1, WMV9 and MPEG-2 VLD bitstream H/W decoding
through VDPAU or VA-API driver

This README describes how to install, configure, and use the S3 Graphics
Accelerated Linux Driver Set.



This document provides instructions for the installation and use of the S3
Graphics Accelerated Linux Driver Set.

Chapter 1 Prepare Your System
Chapter 2 Install Driver Libraries
Chapter 3 H.264/VC-1/WMV9/MPEG-2 Video Playback
Chapter 4 Enable Composite Desktop with AIGLX/Compiz
Chapter 5 HDMI Audio


Chapter 1. Prepare your System

If driver for another vendor’s display card is installed on your Linux system, you
must uninstall it before installing S3 Graphics Linux driver. Otherwise the installed
S3G Linux driver may not work correctly.

S3G Linux driver includes a kernel driver module “s3g.ko”; therefore, you need
to make sure your Linux kernel is set up to support module loading firstly.

The S3 Graphics kernel module has a kernel interface layer that must be
compiled specifically for each kernel. S3 Graphics Linux driver package includes
the source code for this kernel interface layer, as well as precompiled kernel modules
for some of the popular Linux distributions.

If the pre-compiled kernel module for your system is not included in the install
package then you need the kernel header files and the necessary kernel source
code installed for the compilation to work. On most Linux distributions, this means
that you will need to locate and install the kernel development package.

To show which kernel is currently running on your Linux, run

$uname -r

1.3 OpenSUSE 11 SETUP
Since OpenSuSE 11 doesn’t include kernel config files that are needed for S3G kernel
module compilation, you need to generate the config files with the following commands:

#cd /usr/src/linux
#make mrproper
#make cloneconfig
#make modules_prepare
#make clean


Chapter 2. Install Driver Libraries

The S3 Graphics Chrome4xx_5XX Linux driver set is packaged as a single
compressed tar file named:


You may place it anywhere on your system. To uncompress the driver package:

$tar xjf s3g-Chrome4xx_5xx-($version)-($machine[i386/x86_64]).tar.bz2

A directory named “S3G-InstallPkg-($machine[i386/x86_64])” will be created and it contains all the
driver libraries and install scripts.

After you have uncompressed the driver package, change to the directory containing
the driver files. Run the “install.sh” script as ‘root’:

# cd S3G-InstallPkg-($machine[i386/x86_64])
# ./install.sh

You may also supply “–uninstall” option to the “install.sh” script

#./install.sh –uninstall

to un-install S3 Graphics Linux driver libraries and restore the original libraries.

The Xorg configuration file “/etc/X11/xorg.conf” needs to be setup properly for
Xorg to run with S3 Graphics hardware accelarated 2D driver, and direct-rendering
OpenGL driver. The driver install script will rename your current “/etc/X11/xorg.conf”
to “/etc/X11/xorg.conf.old”, and copy the “xorg.conf” file included in “S3G_InstallPkg”
directory to “/etc/X11”.

You can modify the new “/etc/X11/xorg.conf” file to adapt to your particular needs.
For example, You can enable EXA acceleration architecture for X server by enabling
the option:

Option          “AccelMethod” “EXA”

in “/etc/X11/xorg.conf” file.

Some display devices may not have the correct EDID information. You can try adding a
‘Virtual xdim ydim’ option in the “Display” section to specify the display resolution.
For Example:

Section “Screen”
DefaultDepth    24
Identifier      “Screen1”
Device          “VideoCard1”
Monitor         “Monitor1”
Subsection      “Display”
Depth       24
Virtual     1920 1080
ViewPort    0 0

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

Some S3 Graphics Chrome4xx/5xx cards have two video output ports and can support two
monitors simultaniously. If your “xorg.conf” file is configured as single adaptor
single monitor mode but you connect two monitors to the Chrome4xx/5xx card, then the
two monitors will show the same graphics contents simultaniously (DualView).

You can also modify “xorg.conf” file to setup a single adapter multiple monitor
(SAMM) configuration with either individual desktop on each monitor (Xinerama Off),
or spanning desktop on two monitors (Xinerama On). A sample “xorg.conf” file for
SAMM configuration (xorg.conf.samm) is included in “S3G_InstallPkg” directory.

S3 Graphics Chrome4xx/5xx card can also work with other vendor’s graphics card to
support multiple adapter multiple monitor (MAMM) configuration. You can modify
“xorg.conf” file to setup a multiple adapter multiple monitor (MAMM) configuration
with either individual desktop (Xinerama Off) or spanning desktop (Xinerama On).
A sample “xorg.conf” file for MAMM configuration (xorg.conf.mamm) is included in
“S3G_InstallPkg” directory.

After reboot your Linux system, S3 Graphics Linux driver should start working.

First, you can run “glxinfo” to verify that S3 Graphics Linux driver is installed
properly. Type “glxinfo” in a Terminal window, you should see the following text:

direct rendering: Yes
server glx vendor string: S3 Graphics Co., Ltd.
server glx version string: 1.2
client glx vendor string: S3 Graphics Co., Ltd.
client glx version string: 1.4
OpenGL vendor string: S3 Graphics Co. Ltd
OpenGL renderer string: S3 Graphics Chrome 440/430 Series
OpenGL version string: 2.1 14.02.00

Then, you can run “glxgears” to verify that S3 Graphics Linux OpenGL driver is
working properly.


The FPS number displayed by “glxgears” should be around 2000 FPS.


Chapter 3. H.264/VC-1/WMV9/MPEG-2 Video Playback

S3 Graphics Chrome4xx_5xx Linux driver package includes a patch to MPlayer to enable
GPU accelerated H.264/VC-1/WMV9/MPEG-2 video decoding through VA-API. To build the customized MPlayer:

%svn co –ignore-externals -r 27659 svn://svn.mplayerhq.hu/mplayer/trunk MPlayer_DIR
%cd MPlayer_DIR
%svn co -r 15394 svn://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec
%svn co -r 15394 svn://svn.mplayerhq.hu/ffmpeg/trunk/libavformat
%svn co -r 15394 svn://svn.mplayerhq.hu/ffmpeg/trunk/libavutil
%svn co -r 15394 svn://svn.mplayerhq.hu/ffmpeg/trunk/libpostproc
%patch -p1 < S3G_InstallPkg_DIR/VAMP.patch
%chmod +x ./configure.X

Note: X11 development package (libx11-dev and libxext-dev) is required to successfully build MPlayer.

The customized MPlayer can play back H.264/VC-1/WMV9/MPEG-2 video files.

1. To playback H.264, VC-1, WMV9 or MPEG-2 video clips (*.mp4, *.mpeg, *.vc1, *.wmv, etc.), use command:

%mplayer -vo va FILE_NAME

2. To playback H.264 files with filename like *.264, use command:

%mplayer -vo va -fps 24 FILE_NAME

to specify the frame rate as 24 fps (or other fps numbers).

3. To playback a video clip in an infinite loop, use command:

%mplayer -vo va FILE_NAME -loop 0    (Loop the video clip within the same window)

%mplayer -vo va -loop 0 FILE_NAME    (Exit and re-create the window on each loop)

4. To playback a DVD, use command:

%mplayer -vo va dvd://<titlenumber>  (<titlenumber> could be 1, 2, or 3, etc.)

S3G linux driver also implemented a new video API called VDPAU. This API is used by the latest
SVN version MPlayer for video acceleration. The following commands are used to playback
H.264, VC-1, WMV9 and MEPG-2 clips respectively:

%mplayer -vo vdpau -vc ffh264vdpau H264_FILE_NAME
%mplayer -vo vdpau -vc ffvc1vdpau VC1_FILE_NAME
%mplayer -vo vdpau -vc ffwmv3vdpau WMV9_FILE_NAME
%mplayer -vo vdpau -vc ffmpeg12vdpau MPEG2_FILE_NAME


Chapter 4. Enable Composite Desktop with AIGLX/Compiz

Here is the brief instruction to enable composite desktop with AIGLX/Compiz on
Ubuntu 8.10 or 8.04 LTS. The procedure should also apply to other latest Linux Distros.

1. Install the necessary software packages: emerald, s-ccsm.

%sudo apt-get install emerald simple-ccsm

2. Modify Compiz configure file /usr/bin/compiz. Add “s3g” to the driver whitelist,
and change the “INDIRECT” variable to “yes”:

# Driver whitelist
WHITELIST=”s3g nvidia intel ati radeon i810 fglrx”

# No indirect: by default

3. Enable composite visual effects on the Desktop:

Click System -> Preferences -> Appearance, select “Visual Effects” tab.
Slect “Custom” option and press “Preferences” to configure the desktop visual effects.


Chapter 5. HDMI Audio

S3G Linux driver supports HDMI audio through patched ALSA drivers. Here are steps to enable HDMI audio:

1. Download ‘alsa-driver-1.0.20’, ‘alsa-lib-1.0.20’ and ‘alsa-utils-1.0.20’ packages
from ‘http://www.alsa-project.org’.

2. Apply patch in the extracted directory of ‘alsa-driver-1.0.20’ package:

%patch -p1 < S3G_InstallPkg_DIR/alsa-driver-1.0.20-s3g.patch

3. Configure, make and install the ALSA packages.