Is there an easy way to enable S3TC on Intel graphics?

24,051

Solution 1

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.

Solution 2

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.

Solution 3

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

sudo apt-get install libtxc-dxtn-s2tc0
Share:
24,051

Related videos on Youtube

Oli
Author by

Oli

Hi, I'm Oli and I'm a "full-stack" web-dev-op. Eurgh. I'm also allergic to jargon BS. I spend most of my professional time writing Django websites and webapps for SMEs. I write a lot of Python outside of Django sites too. I administer various Linux servers for various tasks. I contribute to the open source projects that I use when I can. I'm a full-time Linux user and that has lead to helping other people live the dream. I am an official Ubuntu Member and I earnt my ♦ on SE's own Ask Ubuntu in 2011's moderator election. That's probably where I spend most of my unpaid time. I also run thepcspy.com which has been my place to write for the last decade or so. If you need to contact me for extended help, you can do so via my website, just remember that I have bills so if I feel your request is above and beyond normal duty, I might ask for remuneration for one-on-one support. For more social contact, you can usually find me (or just my computer) lurking in the Ask Ubuntu General Chat Room and on Freenode in #ubuntu and #ubuntu-uk under the handle Oli or Oli``.

Updated on September 18, 2022

Comments

  • Oli
    Oli almost 2 years

    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?
  • skytreader
    skytreader over 11 years
    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.
  • RAOF
    RAOF over 11 years
    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.
  • Manuel
    Manuel almost 11 years
    And this will work for the Intel driver?