S3TC

S3TC support has been partially implemented in Mesa. We cannot integrate and enable S3TC code by default due to the patents on the algorithm. Because of this, to be cautious, code was integrated to only attempt to open an external library, libtxc_dxtn.so, and use a small number of functions from that to implement S3TC if available. There is also an option in the S3TC-supporting DRI drivers called force_s3tc_enable. If the library is unavailable, setting this option to true will expose the extension even though it cannot be fully implemented. This may be of use for some games which require S3TC or don't use the ARB_texture_compression extension correctly.

The Mesa code is only enabled when USE_EXTERNAL_DXTN_LIB=1 is set in the build. This is currently only set in the linux-dri and linux-dri-x86 Mesa configurations. If you are having issues with S3TC, setting MESA_DEBUG=1 in the environment should print a warning from the S3TC code as to whether it succeeded in initializing or not, if it was built.

Source for the libtxc_dxtn.so is at http://cgit.freedesktop.org/~mareko/libtxc_dxtn/. Please be aware of the patent law in your own country with respect to using this code, as it is illegal in many places without a proper license from the patent holder.