S3TC For Mesa Is Talked About Some More

Posted by Michael Larabel on March 19, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  2. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  3. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
  4. AMD Radeon Gallium3D More Competitive With Catalyst On Linux
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Modern Intel Gallium3D Driver Still Being Toyed With
  2. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  3. GCC 4.8.1 Compiler Due To Be Out Next Week
  4. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  5. Linux's "Ondemand" Governor Is No Longer Fit
  6. Firefox 22 Beta Enables WebRTC Support
  7. OpenSUSE 13.1 Milestone 1 Released
  8. DRM Graphics Driver Comes For Dove/Cubox
  9. JADE: An LLVM-Based Video Decoder For MPEG RVC
  10. Ubuntu 13.10 Likely Switching To Chromium Browser
  11. Unity 7, Compiz To Be Polished For Ubuntu 13.10
Latest Forum Talk
  1. Left 4 Dead 2 Beta Surfaces For Linux Gamers
  2. Unity 8, Mir To Be Experimental Choice In Ubuntu...
  3. X3: Albion Prelude Released For Linux Gamers
  4. Ubuntu 13.10 Likely Switching To Chromium Browser
  5. VA-API Gets New H.264/MPEG-2 Encoding API Support
  6. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite