S3TC is a patented graphics mechanism for compressing textures. It's so widely patented that distributions (Ubuntu included) does not ship it with its free drivers. Closed-source drivers have this enabled because the companies (AMD/Nvidia) pay the patent royalties and assume the liability.

But I'm currently using an Intel graphics chipset. Specifically, the i915. The drivers are completely free and open source. While I believe the hardware can handle S3TC, the drivers are those that shipped with Ubuntu (or through the updates) so S3TC is turned off.

From what I read (fairly old posts) turning S3TC on requires getting the source for mesa, patching in S3TC, reconfiguring it and then recompiling it all. In short, it sounds like a mess.

  • Is this still the case?
  • Has somebody out there been nice and created a PPA with S3TC turned on?

3 Answers 3


As of 12.10, libtxc-dxtn-s2tc0 is installed by default, providing this functionality.

Mesa does not require a rebuild to enable S3TC support, and hasn't for some time. There are two options for S3TC

  1. Setting force_s3tc_enable=true in the environment to advertise S3TC support. In this case, S3TC textures will be passed through to the hardware. Mesa will not support compression of textures using S3TC, which is required by the GL extension spec, so things may misbehave.

  2. Using the external libtxc-dxtn library for S3TC compression. Mesa will attempt to load it if it exists, and provide full S3TC support. This is available in xorg-edgers, at least.

  • Sorry if this sounds so noob but where do I set force_s3tc_enable? I take it that this is a config file of some sort but what/where is that file? I already have libgl1-mesa-dev installed.
    – skytreader
    Jan 5, 2013 at 14:36
  • 1
    As I mentioned, it's an en.wikipedia.org/wiki/Environment_variable - you can set it in a number of ways, the easiest is on the command line - so you'd run force_s3tc_enable=true my_gl_app rather than just my_gl_app.
    – RAOF
    Jan 10, 2013 at 7:23

Install driconf and when you type driconf, a dialog box will appear. Use that dialog box to enable S3TC. That is what I did and my intel graphic card is able to now play some games with wine.


Maybe you are missing installing the correct libraries. If it is the libraries do the following:

sudo apt-get install libtxc-dxtn-s2tc0
  • And this will work for the Intel driver?
    – Manuel
    Aug 20, 2013 at 6:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.