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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Digia Announces "Boot To Qt" Project
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Wayland's Weston Gets Output Scaling Support
  4. Raspberry Pi Gets New Wayland Weston Renderer
  5. Debian GNU/Hurd 2013 Release Brings New Packages
  6. Intel Ultrabook Performance Is Faster With Mesa 9.2
  7. Hot Relocation HDD To SSD Support For Btrfs
  8. Phoronix Test Suite 4.6.0 "Utsira" Released
  9. New Intel X.Org Driver Supports All Of Haswell
  10. SQLite Now Faster With Memory Mapped I/O
  11. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
Latest Forum Talk
  1. X.Org Libraries Hit By Round Of Security Issues
  2. Fedora 18 Comes To ARMv6, Raspberry Pi
  3. Digia Announces "Boot To Qt" Project
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Microsoft Releases Skype For Linux 4.2, Has...
  6. Radeon 7770 Can't reclock crash kernel
  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