Difference between revisions of "S3 Savage IX8"

From ThinkWiki
Jump to: navigation, search
(added link to linux drivers)
(28 intermediate revisions by 17 users not shown)
Line 4: Line 4:
 
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;">
 
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;">
 
=== S3 Savage IX8 or IX8+===
 
=== S3 Savage IX8 or IX8+===
This is a S3 video adapter
+
This is a S3 video adapter<br>
 +
S3 is now owned by Via Technologies
 +
 
 +
The IX8 and IX8+ chips share the same PCI-ID
  
 
=== Features ===
 
=== Features ===
Line 11: Line 14:
 
* AGP 2X
 
* AGP 2X
 
* 8MB SGRAM video memory
 
* 8MB SGRAM video memory
 +
 +
=== Driver Download ===
 +
 +
As of 2013, the official S3 website still offers Linux Drivers: [http://www.s3graphics.com/en/drivers/legacy_software_archive.aspx Savage Family Linux XFree86 4.0.3 X Server Binary and Switch Utility version 1.1.18]
 +
 
</div>
 
</div>
 
|style="vertical-align:top" |
 
|style="vertical-align:top" |
 
|}
 
|}
  
=== Linux driver - OpenSource ===
+
=== 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. {{key|Fn}}-{{Key|F7}} switches between LCD and CRT. To use both, use [http://www.probo.com/timr/savage40.html 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 [[thinkpad-acpi]] to control video output by echoing commands to {{path|/proc/acpi/ibm/video}}.
 +
 
 +
==== SVideo port ====
 +
Works. Use [http://www.probo.com/timr/savage40.html 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.<br />
 +
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:
 +
<pre>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
 +
};</pre>
 +
 
 +
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 [[Problem with video related system lockup|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.
 +
 
 +
==== Blank screen ====
 +
 
 +
Symptoms:
 +
 
 +
* X starts but nothing shows up on screen, hard drive led shows normal activity up to login
 +
* /etc/init.d/xorg.conf does not exist, so X.org is using autoconfiguration which fails
 +
* /var/log/Xorg.0.log does not show any relevant errors or warnings
 +
 
 +
This happened on a T20 running Debian Etch and Lenny.
 +
 
 +
Workaround is to add DmaType and BusType as "PCI" in /etc/X11/xorg.conf:
  
=== Linux driver - Proprietary ===
+
Section "Device"
??
+
        Identifier      "S3 Inc. 86C270-294 Savage/IX-MV"
 +
        Driver          "savage"
 +
        BusID          "PCI:1:0:0"
 +
        Option "DmaType" "PCI"
 +
        Option "BusType" "PCI"
 +
EndSection
  
=== ThinkPad's this chip may be found in ===
+
=== ThinkPads this chip may be found in ===
* [[:Category:A22e|A22e]]
+
* {{A22e}}
* [[:Category:T20|T20]], [[:Category:T21|T21]], [[:Category:T22|T22]]
+
* {{T20}}, {{T21}}, {{T22}}
  
[[Category:Components]] [[Category:A22e]] [[Category:T20]] [[Category:T21]] [[Category:T22]]
+
[[Category:Components]]

Revision as of 13:05, 25 September 2013

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

Driver Download

As of 2013, the official S3 website still offers Linux Drivers: Savage Family Linux XFree86 4.0.3 X Server Binary and Switch Utility version 1.1.18

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 thinkpad-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.

Blank screen

Symptoms:

  • X starts but nothing shows up on screen, hard drive led shows normal activity up to login
  • /etc/init.d/xorg.conf does not exist, so X.org is using autoconfiguration which fails
  • /var/log/Xorg.0.log does not show any relevant errors or warnings

This happened on a T20 running Debian Etch and Lenny.

Workaround is to add DmaType and BusType as "PCI" in /etc/X11/xorg.conf:

Section "Device"
       Identifier      "S3 Inc. 86C270-294 Savage/IX-MV"
       Driver          "savage"
       BusID           "PCI:1:0:0"
       Option "DmaType" "PCI" 
       Option "BusType" "PCI" 
EndSection

ThinkPads this chip may be found in