S3 Savage IX8

From ThinkWiki
Revision as of 06:52, 15 July 2007 by Ddouthitt (Talk | contribs) (External VGA port)
Jump to: navigation, search

S3 Savage IX8 or IX8+

This is a S3 video adapter
S3 is now owned by Via Technologies

The IX8 and IX8+ chips share the same PCI-ID

Features

  • Chipset: S3
  • PCI ID: 5333:8c12
  • AGP 2X
  • 8MB SGRAM video memory

Linux X.Org driver

This chip is supported by the 'savage' driver as part of the X.Org distribution.

ThinkPad LCD

Display on the internal LCD works as long as you set the monitor settings correctly. The driver does not appear to support [DPMS] on the internal LCD, so it is necessary to make sure that horizontal sync and vertical refresh settings are included in the "Monitor" section of xorg.conf.

HorizSync       31.5 - 48.5
VertRefresh     50-70

External VGA port

Works. Fn-F7 switches between LCD and CRT. To use both, use s3switch (on some models you need to run "s3switch lcd crt tv" even if you want only CRT and LCD, otherwise the CRT display is corrupted). You can also use ibm-acpi to control video output by echoing commands to /proc/acpi/ibm/video.

SVideo port

Works. Use s3switch to change display output in software.

Linux kernel Framebuffer driver

This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.

Dual Monitor Tip

The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you cannot see, but can move the mouse onto and applications can open windows on.

Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view. This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost screen, even though you can't see it directly.

Quirks

Power Management and savagefb

The savagefb appears to interfere with acpi sleep. (tested on 2.6 kernels up to 2.6.12) There are also some display problems with savagefb including limiting boot text to a 800x600 window centered in a 1024x768 display and problems with libdirectfb. For those reasons, vesafb is recommended as the framebuffer driver.
The 800x600 boot-text problem can be resolved by altering the savagefb.c (pre-2.6.20) or savagefb_driver.c (2.6.20 and later) and then recompiling the Kernel or the respective module. To do that, open the savagefb_driver.c, for example under <Kernel Root>/drivers/video/savage in the 2.6.20 release. Now, locate the following function:

static struct fb_var_screeninfo __devinitdata savagefb_var800x600x8 = {
	.accel_flags =	FB_ACCELF_TEXT,
	.xres =		800,
	.yres =		600,
	.xres_virtual =  800,
	.yres_virtual =  600,
	.bits_per_pixel = 8,
	.pixclock =	25000,
	.left_margin =	88,
	.right_margin =	40,
	.upper_margin =	23,
	.lower_margin =	1,
	.hsync_len =	128,
	.vsync_len =	4,
	.sync =		FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
	.vmode =	FB_VMODE_NONINTERLACED
};

Alter the lines .xres, .yres, .xres_virtual and .yres_virtual to reflect your chosen resolution. Recompile and reinstall the Kernel, reboot or reload the module and the savagefb should use the new resolution.

Video-related System Lockups

Some quirks in the interactions between the OS and the Savage hardware can cause system lockups, especially due to high video load and 3D rendering operations. For a more complete description of this problem and the workarounds, see the Problem with video related system lockup page.

The Black 'X' (old X pointer) Problem

On some systems a black 'X' (which is actually the old default XFree86 pointer) appears frozen in the middle of the screen inside of X Windows. This problem can be remedied by setting

Option "SWCursor" "on"

in xorg.conf. Also see the Problem with black X page for more information.

3D Acceleration Quirks

If 3D acceleration is not working on your system (after installing the DRM savage module), or 3D programs are exhibiting strange behavior, one of the following changes may fix the problem. First, most Savage chips do not have enough video memory to support 3D textures and acceleration with a frame buffer depth of 24 bits. Therefore, you may need to change "DefaultDepth 24" to "DefaultDepth 16" in the "Screen" section of xorg.conf (and of course provide the appropriate subsection for 16 bit depth if it is not present). Also, adding one of both of the following configuration options to the "Device" section of your xorg.conf may solve the video quirks (also explained in the video related system lockup page)

Option     "BusType" "PCI"
Option     "DmaMode" "None"

On Debian based systems you need the package libgl1-mesa-dri to enable 3d acceleration. Deborphan may decide it is just a futile library, but that is false.

ThinkPads this chip may be found in