S3TC For Mesa Is Talked About Some More

Written by Michael Larabel in Mesa on 19 March 2011 at 07:58 AM EDT. 23 Comments
MESA
Discussions surrounding S3TC Texture Compression support for mainline Mesa (right now it's an external library) is becoming an increasingly common occurrence. Newer games and OpenGL applications depend upon S3TC support and open-source developers are unable to provide "out of the box" support due to patent concerns.

There was a hopeful discussion about S3TC and floating point support for Mesa a little more than a week ago, but that discussion died before anything materialized in Mesa Git. The push there was for mainlining the S3TC and OpenGL floating point support but to not build it by default if not using the hidden --enable-patented option.

The latest talk of S3TC comes from Zack Rusin. He saw the Icculus interview we mentioned yesterday where he criticizes open-source graphics drivers for Linux and being sub-standard. Zack took particular issue with one of Ryan's comments concerning the lack of S3TC support shipping in these drivers. "I find it completely ridiculous that we're shipping open source OpenGL drivers without S3TC support because of patent concerns. Today, that's like shipping a web browser without .jpg support!"

In a blog post entitled Directing Lemmings, Zack writes more about S3TC and Mesa. "Legally there's nothing stopping anyone from licensing s3tc or floating point patents, forking Mesa3D and shipping closed source version of it with code handling both. It's simply that you can't reconcile Free Software with patents. You just can't add what amounts to arbitrary restrictions to your software and claim freedom. There's absolutely nothing we can do here. There were teams of lawyers looking at this stuff and the conclusion every single time was "you just can't get away with this". Jose and Brian spent a lot of time looking at ways of getting around it as well."

There's also another developer that's proposed his solution to the S3TC mess in Mesa. An employee at SCS Software, the studio behind a number of hunting and driving games like "Hunting Unlimited", "Rocky Mountain Trophy Hunter 3", and "18 Wheels of Steel: Pedal to the Metal", has proposed naked DXTn support via ARB_texture_compression in this email.

The gist of Petr Sebor's proposal is to provide DXtn (S3TC) support in Mesa, but only to the extent that the ARB_texture_compression extension is being used to transfer pre-compressed texture data to an S3TC-capable GPU (most modern GPUs). In cases where OpenGL software has already compressed S3TC texture data using a library like nvdxt, Mesa doesn't need to deal with the patented algorithms, but rather just submit the binary data to the graphics processor. This though would be of limited benefit and only be useful for cases of where the textures are already compressed before reaching Mesa, but that's at least an improvement from where the GL_EXT_texture_compression_s3tc support is right now. Petr further describes his line of thought in this second message, but as of right now none of the core Mesa developers have responded.

Evidently SCS Software is looking to get some of their games running on Mesa / Gallium3D. This is interesting after checking out a number of their titles, they only seem to be supported on Windows. Perhaps this game studio is expanding to Linux, thereby allowing you to play games like TruckSaver, Deer Drive, and Bus Driver under Linux.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week