S3 Savage/IX MeTaL API

Created on 2022-05-04 by Tuxality, last modified on 2022-05-05

S3 MeTaL API is a native interface for the 3D hardware accelerated rendering on S3 Savage 3D, S3 Savage 4 and S3 Savage 2000 boards under Windows 9x/ME systems. However, it is also supported on mobile S3 Savage 3D derived variants such as S3 Savage/IX and S3 Savage/MX. Sadly, due to the wrong PCI device detection implementation in METAL.DLL library it can be accessed only on S3 Savage/MX w/ MV variants that have 0x8c10 device ID and will not work on non-MV variant as well as Savage/IX with and without MV chips. In order to make S3 MeTaL API to work on mobile variants, the METAL.DLL library needs to be patched.

Both METAL.DLL and library version have been patched with one library variant for each device as listed below:

➡ S3 Savage/MX w/MV (device ID 0x8c10)
➡ S3 Savage/MX (device ID 0x8c11)
➡ S3 Savage/IX w/MV (device ID 0x8c12)
➡ S3 Savage/IX (device ID 0x8c13)

Corresponding METAL.DLL library tailored to the particular device ID needs to be dropped in into C:\Windows path, overwriting existing METAL.DLL library.

🔽 S3 MeTaL API patched for S3 Savage/IX and S3 Savage/MX

Below you can find various Unreal Gold screenshots for comparison which were taken from different renderers running on S3 Savage/IX w/MV (8c12) found in Toshiba Portege 3490CT.



S3TC support in S3 MeTaL API on S3 Savage/IX:


Software rendering:






All results are based on the S3 Savage/IX drivers below:


S3 MeTaL API information tool

Simple tool for checking if S3 MeTaL API is supported on your system.

If your board supports S3 MeTaL API, output should be as below:

If there is no METAL.DLL library available, it'll result in message below:

However, if your board is not supported by the S3 MeTaL API, it'll result in such message:

🔽 S3 MeTaL API information tool (s3metalinfo)

Click to list all projects...