Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?
share|improve this question

3 Answers 3

up vote 15 down vote accepted

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.

share|improve this answer
    
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 '13 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 '13 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.

share|improve this answer

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

sudo apt-get install libtxc-dxtn-s2tc0
share|improve this answer
    
And this will work for the Intel driver? –  Manuel Aug 20 '13 at 6:29

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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