Savage

Supported chips:

  • Savage3D
  • SavageMX/IX
  • Savage4
  • Supersavage
  • Prosavage/Twister/DDR PCI versions should be supported since 20050111. Shadow status problems with PCI cards were fixed in drm.ko on 20050112.

Unsupported chips:

  • Savage2000 - Why not? I need it! /Michal P.

History

S3/VIA released the source code to their savage DRI driver for xfree86 4.2.0. The UtahGLX project has support for savage 3D/MX/IX for XFree86 3.3.x and 4.x. FelixKuehling combined the S3/VIA and UtahGLX drivers and ported them to Mesa cvs. AlexDeucher is working on the 2D driver and merged S3/VIA's changes with the xorg savage driver. Their work is available in DRM, X.Org and Mesa cvs. The code works for Savage4-based (savage4/prosavage/twister/DDR/supersavage) chips and the older Savage3D-based chips (3D/MX/IX). 3D is not supported on savage2000 at the moment.

In December 2004 configuration support was added.

As of 1st January 2005 the driver uses a new DRM driver with some cool new features:

  • Secure DRM and DDX drivers that do not allow unprivileged 3D applications direct access to the hardware.
  • Should be stable on a larger variety of hardware by using shadow status in the DRM if it is enabled in xorg.conf.
  • Better performance by using vertex DMA when possible. The Savage DRM and DDX versions were bumped to 2.0.0 indicating binary incompatible changes to the previous versions. If you upgrade (and you should ;-)) you need to update all three components (X.Org, Mesa and DRM) at the same time or DRI will not work.

Since Savage DRM version 2.2.0 and Mesa driver date 20050120 there is a fast path which yields another small performance improvement. There are now also options to disable vertex DMA and the fast path, so you can experiment which effect these features have with a specific application on your hardware.

Since Savage DRM version 2.4.0 and Mesa driver date 20050305 the driver supports command DMA on Savage4-based hardware. This improves performance slightly. It is also my hope that this works on Super``Savages, on which vertex DMA caused immediate lockups.

TODO

  • Use DMA for texture uploads.
  • IRQ support for lower CPU usage.
  • Implement/enable OpenGL extensions that the hardware can cope with.

How can I help?

Test out the current driver on your savage chip and report the results to the dri-devel mailing list.

Adding extensions: Once we get the 3D driver cleaned up there are some extensions that could be added. For example, it looks like savage supports hardware assisted bump mapping.

See Felix' Savage Driver Roadmap.

Documentation

Alex's Savage Guide.


CategoryHardwareChipset, CategoryHelpWanted