<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcfrisk</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcfrisk"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Mcfrisk"/>
	<updated>2026-05-09T12:24:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=41656</id>
		<title>S3 Savage IX8</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=41656"/>
		<updated>2009-02-24T19:51:51Z</updated>

		<summary type="html">&lt;p&gt;Mcfrisk: /* Blank screen */ T20&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== S3 Savage IX8 or IX8+===&lt;br /&gt;
This is a S3 video adapter&amp;lt;br&amp;gt;&lt;br /&gt;
S3 is now owned by Via Technologies&lt;br /&gt;
&lt;br /&gt;
The IX8 and IX8+ chips share the same PCI-ID&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: S3&lt;br /&gt;
* PCI ID: 5333:8c12&lt;br /&gt;
* AGP 2X&lt;br /&gt;
* 8MB SGRAM video memory&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the '[[savage]]' driver as part of the X.Org distribution.&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correctly. The driver does not appear&lt;br /&gt;
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 &amp;quot;Monitor&amp;quot; section of xorg.conf.&lt;br /&gt;
&lt;br /&gt;
 HorizSync       31.5 - 48.5&lt;br /&gt;
 VertRefresh     50-70&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
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 &amp;quot;'''s3switch lcd crt tv'''&amp;quot; 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 {{path|/proc/acpi/ibm/video}}.&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
Works. Use [http://www.probo.com/timr/savage40.html s3switch] to change display output in software.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
==== Dual Monitor Tip ====&lt;br /&gt;
The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem&lt;br /&gt;
if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you &lt;br /&gt;
cannot see, but can move the mouse onto and applications can open windows on.&lt;br /&gt;
&lt;br /&gt;
Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view.&lt;br /&gt;
This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you&lt;br /&gt;
to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like&lt;br /&gt;
Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost&lt;br /&gt;
screen, even though you can't see it directly.&lt;br /&gt;
&lt;br /&gt;
=== Quirks ===&lt;br /&gt;
==== Power Management and savagefb ====&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
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 ''&amp;lt;Kernel Root&amp;gt;/drivers/video/savage'' in the 2.6.20 release. Now, locate the following function:&lt;br /&gt;
&amp;lt;pre&amp;gt;static struct fb_var_screeninfo __devinitdata savagefb_var800x600x8 = {&lt;br /&gt;
	.accel_flags =	FB_ACCELF_TEXT,&lt;br /&gt;
	.xres =		800,&lt;br /&gt;
	.yres =		600,&lt;br /&gt;
	.xres_virtual =  800,&lt;br /&gt;
	.yres_virtual =  600,&lt;br /&gt;
	.bits_per_pixel = 8,&lt;br /&gt;
	.pixclock =	25000,&lt;br /&gt;
	.left_margin =	88,&lt;br /&gt;
	.right_margin =	40,&lt;br /&gt;
	.upper_margin =	23,&lt;br /&gt;
	.lower_margin =	1,&lt;br /&gt;
	.hsync_len =	128,&lt;br /&gt;
	.vsync_len =	4,&lt;br /&gt;
	.sync =		FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,&lt;br /&gt;
	.vmode =	FB_VMODE_NONINTERLACED&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Video-related System Lockups ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== The Black 'X' (old X pointer) Problem ====&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;SWCursor&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
in xorg.conf.  Also see the [[Problem with black X]] page for more information.&lt;br /&gt;
&lt;br /&gt;
==== 3D Acceleration Quirks ====&lt;br /&gt;
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 &amp;quot;DefaultDepth 24&amp;quot; to &amp;quot;DefaultDepth 16&amp;quot; in the &amp;quot;Screen&amp;quot; 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 &amp;quot;Device&amp;quot; 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)&lt;br /&gt;
&lt;br /&gt;
 Option     &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot;&lt;br /&gt;
 Option     &amp;quot;DmaMode&amp;quot; &amp;quot;None&amp;quot;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Blank screen ====&lt;br /&gt;
&lt;br /&gt;
Symptoms:&lt;br /&gt;
&lt;br /&gt;
* X starts but nothing shows up on screen, hard drive led shows normal activity up to login&lt;br /&gt;
* /etc/init.d/xorg.conf does not exist, so X.org is using autoconfiguration which fails&lt;br /&gt;
* /var/log/Xorg.0.log does not show any relevant errors or warnings&lt;br /&gt;
&lt;br /&gt;
This happened on a T20 running Debian Etch and Lenny.&lt;br /&gt;
&lt;br /&gt;
Workaround is to add DmaType and BusType as &amp;quot;PCI&amp;quot; in /etc/X11/xorg.conf:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;S3 Inc. 86C270-294 Savage/IX-MV&amp;quot;&lt;br /&gt;
        Driver          &amp;quot;savage&amp;quot;&lt;br /&gt;
        BusID           &amp;quot;PCI:1:0:0&amp;quot;&lt;br /&gt;
        Option &amp;quot;DmaType&amp;quot; &amp;quot;PCI&amp;quot; &lt;br /&gt;
        Option &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot; &lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{A22e}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Mcfrisk</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=41655</id>
		<title>S3 Savage IX8</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=41655"/>
		<updated>2009-02-24T19:41:38Z</updated>

		<summary type="html">&lt;p&gt;Mcfrisk: /* Blank screen */ no errors in log&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== S3 Savage IX8 or IX8+===&lt;br /&gt;
This is a S3 video adapter&amp;lt;br&amp;gt;&lt;br /&gt;
S3 is now owned by Via Technologies&lt;br /&gt;
&lt;br /&gt;
The IX8 and IX8+ chips share the same PCI-ID&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: S3&lt;br /&gt;
* PCI ID: 5333:8c12&lt;br /&gt;
* AGP 2X&lt;br /&gt;
* 8MB SGRAM video memory&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the '[[savage]]' driver as part of the X.Org distribution.&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correctly. The driver does not appear&lt;br /&gt;
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 &amp;quot;Monitor&amp;quot; section of xorg.conf.&lt;br /&gt;
&lt;br /&gt;
 HorizSync       31.5 - 48.5&lt;br /&gt;
 VertRefresh     50-70&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
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 &amp;quot;'''s3switch lcd crt tv'''&amp;quot; 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 {{path|/proc/acpi/ibm/video}}.&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
Works. Use [http://www.probo.com/timr/savage40.html s3switch] to change display output in software.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
==== Dual Monitor Tip ====&lt;br /&gt;
The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem&lt;br /&gt;
if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you &lt;br /&gt;
cannot see, but can move the mouse onto and applications can open windows on.&lt;br /&gt;
&lt;br /&gt;
Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view.&lt;br /&gt;
This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you&lt;br /&gt;
to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like&lt;br /&gt;
Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost&lt;br /&gt;
screen, even though you can't see it directly.&lt;br /&gt;
&lt;br /&gt;
=== Quirks ===&lt;br /&gt;
==== Power Management and savagefb ====&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
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 ''&amp;lt;Kernel Root&amp;gt;/drivers/video/savage'' in the 2.6.20 release. Now, locate the following function:&lt;br /&gt;
&amp;lt;pre&amp;gt;static struct fb_var_screeninfo __devinitdata savagefb_var800x600x8 = {&lt;br /&gt;
	.accel_flags =	FB_ACCELF_TEXT,&lt;br /&gt;
	.xres =		800,&lt;br /&gt;
	.yres =		600,&lt;br /&gt;
	.xres_virtual =  800,&lt;br /&gt;
	.yres_virtual =  600,&lt;br /&gt;
	.bits_per_pixel = 8,&lt;br /&gt;
	.pixclock =	25000,&lt;br /&gt;
	.left_margin =	88,&lt;br /&gt;
	.right_margin =	40,&lt;br /&gt;
	.upper_margin =	23,&lt;br /&gt;
	.lower_margin =	1,&lt;br /&gt;
	.hsync_len =	128,&lt;br /&gt;
	.vsync_len =	4,&lt;br /&gt;
	.sync =		FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,&lt;br /&gt;
	.vmode =	FB_VMODE_NONINTERLACED&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Video-related System Lockups ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== The Black 'X' (old X pointer) Problem ====&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;SWCursor&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
in xorg.conf.  Also see the [[Problem with black X]] page for more information.&lt;br /&gt;
&lt;br /&gt;
==== 3D Acceleration Quirks ====&lt;br /&gt;
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 &amp;quot;DefaultDepth 24&amp;quot; to &amp;quot;DefaultDepth 16&amp;quot; in the &amp;quot;Screen&amp;quot; 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 &amp;quot;Device&amp;quot; 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)&lt;br /&gt;
&lt;br /&gt;
 Option     &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot;&lt;br /&gt;
 Option     &amp;quot;DmaMode&amp;quot; &amp;quot;None&amp;quot;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Blank screen ====&lt;br /&gt;
&lt;br /&gt;
Symptoms:&lt;br /&gt;
&lt;br /&gt;
* X starts but nothing shows up on screen, hard drive led shows normal activity up to login&lt;br /&gt;
* /etc/init.d/xorg.conf does not exist, so X.org is using autoconfiguration which fails&lt;br /&gt;
* /var/log/Xorg.0.log does not show any relevant errors or warnings&lt;br /&gt;
&lt;br /&gt;
This happens on Debian Etch and Lenny.&lt;br /&gt;
&lt;br /&gt;
Workaround is to add DmaType and BusType as &amp;quot;PCI&amp;quot; in /etc/X11/xorg.conf:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;S3 Inc. 86C270-294 Savage/IX-MV&amp;quot;&lt;br /&gt;
        Driver          &amp;quot;savage&amp;quot;&lt;br /&gt;
        BusID           &amp;quot;PCI:1:0:0&amp;quot;&lt;br /&gt;
        Option &amp;quot;DmaType&amp;quot; &amp;quot;PCI&amp;quot; &lt;br /&gt;
        Option &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot; &lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{A22e}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Mcfrisk</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=41654</id>
		<title>S3 Savage IX8</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=41654"/>
		<updated>2009-02-24T19:33:47Z</updated>

		<summary type="html">&lt;p&gt;Mcfrisk: /* Quirks */ blank screen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== S3 Savage IX8 or IX8+===&lt;br /&gt;
This is a S3 video adapter&amp;lt;br&amp;gt;&lt;br /&gt;
S3 is now owned by Via Technologies&lt;br /&gt;
&lt;br /&gt;
The IX8 and IX8+ chips share the same PCI-ID&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: S3&lt;br /&gt;
* PCI ID: 5333:8c12&lt;br /&gt;
* AGP 2X&lt;br /&gt;
* 8MB SGRAM video memory&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the '[[savage]]' driver as part of the X.Org distribution.&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correctly. The driver does not appear&lt;br /&gt;
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 &amp;quot;Monitor&amp;quot; section of xorg.conf.&lt;br /&gt;
&lt;br /&gt;
 HorizSync       31.5 - 48.5&lt;br /&gt;
 VertRefresh     50-70&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
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 &amp;quot;'''s3switch lcd crt tv'''&amp;quot; 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 {{path|/proc/acpi/ibm/video}}.&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
Works. Use [http://www.probo.com/timr/savage40.html s3switch] to change display output in software.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
==== Dual Monitor Tip ====&lt;br /&gt;
The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem&lt;br /&gt;
if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you &lt;br /&gt;
cannot see, but can move the mouse onto and applications can open windows on.&lt;br /&gt;
&lt;br /&gt;
Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view.&lt;br /&gt;
This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you&lt;br /&gt;
to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like&lt;br /&gt;
Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost&lt;br /&gt;
screen, even though you can't see it directly.&lt;br /&gt;
&lt;br /&gt;
=== Quirks ===&lt;br /&gt;
==== Power Management and savagefb ====&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&lt;br /&gt;
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 ''&amp;lt;Kernel Root&amp;gt;/drivers/video/savage'' in the 2.6.20 release. Now, locate the following function:&lt;br /&gt;
&amp;lt;pre&amp;gt;static struct fb_var_screeninfo __devinitdata savagefb_var800x600x8 = {&lt;br /&gt;
	.accel_flags =	FB_ACCELF_TEXT,&lt;br /&gt;
	.xres =		800,&lt;br /&gt;
	.yres =		600,&lt;br /&gt;
	.xres_virtual =  800,&lt;br /&gt;
	.yres_virtual =  600,&lt;br /&gt;
	.bits_per_pixel = 8,&lt;br /&gt;
	.pixclock =	25000,&lt;br /&gt;
	.left_margin =	88,&lt;br /&gt;
	.right_margin =	40,&lt;br /&gt;
	.upper_margin =	23,&lt;br /&gt;
	.lower_margin =	1,&lt;br /&gt;
	.hsync_len =	128,&lt;br /&gt;
	.vsync_len =	4,&lt;br /&gt;
	.sync =		FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,&lt;br /&gt;
	.vmode =	FB_VMODE_NONINTERLACED&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Video-related System Lockups ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== The Black 'X' (old X pointer) Problem ====&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;SWCursor&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
in xorg.conf.  Also see the [[Problem with black X]] page for more information.&lt;br /&gt;
&lt;br /&gt;
==== 3D Acceleration Quirks ====&lt;br /&gt;
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 &amp;quot;DefaultDepth 24&amp;quot; to &amp;quot;DefaultDepth 16&amp;quot; in the &amp;quot;Screen&amp;quot; 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 &amp;quot;Device&amp;quot; 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)&lt;br /&gt;
&lt;br /&gt;
 Option     &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot;&lt;br /&gt;
 Option     &amp;quot;DmaMode&amp;quot; &amp;quot;None&amp;quot;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Blank screen ====&lt;br /&gt;
&lt;br /&gt;
Symptoms:&lt;br /&gt;
&lt;br /&gt;
* X starts but nothing shows up on screen, hard drive led shows normal activity up to login&lt;br /&gt;
* /etc/init.d/xorg.conf does not exist, so X.org is using autoconfiguration which fails&lt;br /&gt;
&lt;br /&gt;
This happens on Debian Etch and Lenny.&lt;br /&gt;
&lt;br /&gt;
Workaround is to add DmaType and BusType as &amp;quot;PCI&amp;quot; in /etc/X11/xorg.conf:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;S3 Inc. 86C270-294 Savage/IX-MV&amp;quot;&lt;br /&gt;
        Driver          &amp;quot;savage&amp;quot;&lt;br /&gt;
        BusID           &amp;quot;PCI:1:0:0&amp;quot;&lt;br /&gt;
        Option &amp;quot;DmaType&amp;quot; &amp;quot;PCI&amp;quot; &lt;br /&gt;
        Option &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot; &lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{A22e}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Mcfrisk</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=CS4239&amp;diff=40611</id>
		<title>CS4239</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=CS4239&amp;diff=40611"/>
		<updated>2009-01-15T00:41:04Z</updated>

		<summary type="html">&lt;p&gt;Mcfrisk: /* Linux ALSA driver */ note about debian etch kernels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== CS4239 ===&lt;br /&gt;
This is a Cirrus Logic Audio controller&lt;br /&gt;
&lt;br /&gt;
Note: This sound adapter is paired with a PCI [[CS4610]] audio controller.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: CS4239&lt;br /&gt;
* Interface: ISA 16bit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux OSS driver ===&lt;br /&gt;
This sound chip is supported by the cs4232 kernel module. Use the following options line when loading this module:&lt;br /&gt;
&lt;br /&gt;
 options cs4232 io=0x530 irq=5 dma=1 dma2=0&lt;br /&gt;
&lt;br /&gt;
or try this from the Commandline:&lt;br /&gt;
&lt;br /&gt;
 ''' modprobe cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=7 synthio=0x330 synthirq=7'''&lt;br /&gt;
&lt;br /&gt;
''=&amp;gt; Dont forget to disable QUICKBOOT in the BIOS and dont INITIALIZE !''&lt;br /&gt;
&lt;br /&gt;
=== Linux ALSA driver ===&lt;br /&gt;
This sound chip is supported by the snd-cs4236 kernel module. Use the following options line when loading this module:&lt;br /&gt;
&lt;br /&gt;
 options snd-cs4236 index=0 port=0x530 cport=0x538 isapnp=0 dma1=1 dma2=0 irq=5&lt;br /&gt;
&lt;br /&gt;
On at least one 600E, the only options that would work definitively are:&lt;br /&gt;
&lt;br /&gt;
 options snd-cs4236 port=0x530 cport=0x538 isapnp=0 dma1=1 dma2=2 irq=5&lt;br /&gt;
&lt;br /&gt;
One 600E running Debian Etch with vanilla 2.6.28 kernel failed to produce sound with snd-cs4236, but the sound works with driver snd-cs4232 loaded. Instructions for Ubuntu suggest to blacklist this driver which in this case was wrong. With standard Debian etch and etchnhalf kernels the snd-cs4236 did not work and snd-cs4232 got stuck on device initialisation or crashed the kernel. Working set of ALSA modules for this 600E on 2.6.28 is:&lt;br /&gt;
&lt;br /&gt;
 # lsmod|grep snd    &lt;br /&gt;
 snd_cs4232             11764  1 &lt;br /&gt;
 snd_opl3_lib            8928  1 snd_cs4232&lt;br /&gt;
 snd_hwdep               6084  1 snd_opl3_lib&lt;br /&gt;
 snd_wss_lib            22400  1 snd_cs4232&lt;br /&gt;
 snd_pcm                60072  2 snd_wss_lib&lt;br /&gt;
 snd_timer              16708  3 snd_opl3_lib,snd_wss_lib,snd_pcm&lt;br /&gt;
 snd_page_alloc          8008  2 snd_wss_lib,snd_pcm&lt;br /&gt;
 snd_mpu401_uart         5824  1 snd_cs4232&lt;br /&gt;
 snd_rawmidi            17728  1 snd_mpu401_uart&lt;br /&gt;
 snd_seq_device          6284  2 snd_opl3_lib,snd_rawmidi&lt;br /&gt;
 snd                    44580  10 snd_cs4232,snd_opl3_lib,snd_hwdep,snd_wss_lib,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device&lt;br /&gt;
 soundcore               6016  1 snd&lt;br /&gt;
&lt;br /&gt;
=== PnP issues ===&lt;br /&gt;
This chip is software configurable. In Thinkpads, the BIOS sets up the chip if fast boot is disabled. If fast boot is enabled, the chip is disabled until a PnP driver enables it. As both the OSS and the ALSA module do not support PnP discovering of this chips in a ThinkPad, a configuration script like [[Script for configuring the CS4239 sound chip in PnP mode|this one]] may be used.  See also [[Problem with broken sound on some ThinkPads|this page]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{600E}}&lt;br /&gt;
* {{770X}}, {{770Z}}&lt;br /&gt;
&lt;br /&gt;
=== Mixer ===&lt;br /&gt;
I loaded the cs4242 module and on my Gnome Desktop (Ubuntu) and the sound work, but was too low when I play music and with the mixer of Gnome was not possible to modify the volume. I fixed the problem installing the mixer of KDE (kmix) and I use PCM to modify the volume.&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Mcfrisk</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=CS4239&amp;diff=40610</id>
		<title>CS4239</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=CS4239&amp;diff=40610"/>
		<updated>2009-01-14T23:06:46Z</updated>

		<summary type="html">&lt;p&gt;Mcfrisk: /* Linux ALSA driver */ working alsa driver for 600E was snd_cs4232&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== CS4239 ===&lt;br /&gt;
This is a Cirrus Logic Audio controller&lt;br /&gt;
&lt;br /&gt;
Note: This sound adapter is paired with a PCI [[CS4610]] audio controller.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: CS4239&lt;br /&gt;
* Interface: ISA 16bit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux OSS driver ===&lt;br /&gt;
This sound chip is supported by the cs4232 kernel module. Use the following options line when loading this module:&lt;br /&gt;
&lt;br /&gt;
 options cs4232 io=0x530 irq=5 dma=1 dma2=0&lt;br /&gt;
&lt;br /&gt;
or try this from the Commandline:&lt;br /&gt;
&lt;br /&gt;
 ''' modprobe cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=7 synthio=0x330 synthirq=7'''&lt;br /&gt;
&lt;br /&gt;
''=&amp;gt; Dont forget to disable QUICKBOOT in the BIOS and dont INITIALIZE !''&lt;br /&gt;
&lt;br /&gt;
=== Linux ALSA driver ===&lt;br /&gt;
This sound chip is supported by the snd-cs4236 kernel module. Use the following options line when loading this module:&lt;br /&gt;
&lt;br /&gt;
 options snd-cs4236 index=0 port=0x530 cport=0x538 isapnp=0 dma1=1 dma2=0 irq=5&lt;br /&gt;
&lt;br /&gt;
On at least one 600E, the only options that would work definitively are:&lt;br /&gt;
&lt;br /&gt;
 options snd-cs4236 port=0x530 cport=0x538 isapnp=0 dma1=1 dma2=2 irq=5&lt;br /&gt;
&lt;br /&gt;
One 600E running Debian Etch with vanilla 2.6.28 kernel failed to produce sound with snd-cs4236, but the sound works with driver snd-cs4232 loaded. Note that instructions for Ubuntu suggest to blacklist this driver which in this case was wrong. Working set of ALSA modules for this 600E is:&lt;br /&gt;
&lt;br /&gt;
 # lsmod|grep snd    &lt;br /&gt;
 snd_cs4232             11764  1 &lt;br /&gt;
 snd_opl3_lib            8928  1 snd_cs4232&lt;br /&gt;
 snd_hwdep               6084  1 snd_opl3_lib&lt;br /&gt;
 snd_wss_lib            22400  1 snd_cs4232&lt;br /&gt;
 snd_pcm                60072  2 snd_wss_lib&lt;br /&gt;
 snd_timer              16708  3 snd_opl3_lib,snd_wss_lib,snd_pcm&lt;br /&gt;
 snd_page_alloc          8008  2 snd_wss_lib,snd_pcm&lt;br /&gt;
 snd_mpu401_uart         5824  1 snd_cs4232&lt;br /&gt;
 snd_rawmidi            17728  1 snd_mpu401_uart&lt;br /&gt;
 snd_seq_device          6284  2 snd_opl3_lib,snd_rawmidi&lt;br /&gt;
 snd                    44580  10 snd_cs4232,snd_opl3_lib,snd_hwdep,snd_wss_lib,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device&lt;br /&gt;
 soundcore               6016  1 snd&lt;br /&gt;
&lt;br /&gt;
=== PnP issues ===&lt;br /&gt;
This chip is software configurable. In Thinkpads, the BIOS sets up the chip if fast boot is disabled. If fast boot is enabled, the chip is disabled until a PnP driver enables it. As both the OSS and the ALSA module do not support PnP discovering of this chips in a ThinkPad, a configuration script like [[Script for configuring the CS4239 sound chip in PnP mode|this one]] may be used.  See also [[Problem with broken sound on some ThinkPads|this page]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{600E}}&lt;br /&gt;
* {{770X}}, {{770Z}}&lt;br /&gt;
&lt;br /&gt;
=== Mixer ===&lt;br /&gt;
I loaded the cs4242 module and on my Gnome Desktop (Ubuntu) and the sound work, but was too low when I play music and with the mixer of Gnome was not possible to modify the volume. I fixed the problem installing the mixer of KDE (kmix) and I use PCM to modify the volume.&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Mcfrisk</name></author>
		
	</entry>
</feed>