1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems

Facebook RSS Twitter Twitter Google Plus

Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Mesa Developers Still Fear Patent Wrath With S2TC


Published on 09 August 2011 03:48 AM EDT
Written by Michael Larabel in Mesa

One month ago I mentioned there was a possible workaround for the S3TC patent situation. The possible S3TC workaround was S2TC, which is a simpler implementation of texture compression than the patented S3 Texture Compression algorithms, and comes gratis from the developers of the Xonotic game. However, Mesa developers still aren't thrilled about this possible solution.

See the original Phoronix article for all of the details for S2TC, which the two developers have dubbed the Super Simple Texture Compression scheme. S2TC is an original texture compression design, but it's meant to be able to be decoded by S3TC decoders in hardware. Due to the simpler design and ensuring it doesn't step on the intellectual property of S3TC, its image quality is slightly less, but to most users it would be indifferent.

After the article ran on Phoronix, which was greeted by more than 100 comments in the forums, the S2TC developers (Maik Merten and Rudolf Polzer) announced their work to the Mesa mailing list. They also provided a reference implementation and other work, which could serve as a drop-in replacement to libtcx_dxtn, the standalone S3TC library for Mesa. While weeks have passed, the Mesa developers largely remain uninterested. Due to intellectual property concerns, they don't want to touch this code at all.

Some of the mailing list discussion can be found in this thread. Due to the legal concerns and that there is the external S3TC library that end-users can opt to build and use (no major distributions are shipping the library due to the aforementioned concerns), the S2TC work hasn't hit any exposed nerves with developers.

Brian Paul, the original creator of Mesa, was originally quite positive. "I saw the story about this on Phoronix a couple weeks ago. I like it. As far as I'm concerned, I think it would be OK to integrate this into Mesa to use as a fallback when libtxc_dxtn isn't available."

Ian Romanick then followed-up by saying that S2TC may solve the issue for the compressor and software-based compression, but that it may not solve it for where decompression is done for hardware drivers. The hardware drivers may still have an issue, which would then be facing the Linux distributions. Ian notes though that the S3TC patent situation might not be a problem much longer due to HTC's recent acquisition of S3 Graphics, so this Intel developer would prefer a solution where something is built into core Mesa and could eventually evolve into full S3TC support. Ian doesn't think for this plan that libtxc_dxtn would be the best choice, but rather libsquish.

The libsquish project is an open-source DXT compression library that supports DXT1/DXT3/DXT5 formats, offers SSE optimizations, works on multiple platforms, and has a very simple API. The libsquish code is already used by other projects and is likely more mature than the unofficial S3TC external library for Mesa.

Dan McCabe, the one that wrote the original reference implementation of S3TC when an engineer at S3 Graphics, even chimed in on the matter. While he's not a lawyer, "The algorithms used in the creation of the data in this case bears no resemblance to any algorithms that create "high quality" data that the hardware, which was created under license from S3, might consume...This shouldn't infringe on S3's S3TC compression and/or decompression algorithms (although I cannot comment on whether it infringes on any other patents)."

Jose Fonseca came in yesterday to say, "Don't get me wrong, I think S2TC's an interesting piece of work, but how do you dare to presume to tell us what we should or should not do in legal matters, while claiming to not be a lawyer, nor offering to pay legal expenses resulting from following your advice? You must think really highly of yourself, or think we are really dumb to not have thought/discussed this till now." Jose commented in a later email that he wouldn't be opposed to bundling S2TC for the software renders (e.g. Softpipe and the LLVMpipe drivers that just use the CPU and not a GPU), but not cases where S3TC decompression is done in hardware. Jose ends though, "But I'm done with this stupid thread. I'll enjoy my vacation and stop wasting time with this nonsense."

Rudolf Polzer notes that distribution vendors could pick-up their S2TC drop-in replacement to the Mesa S3TC external library and ship that, without any further modifications to Mesa. Distributions then gain S2TC/S3TC-like support, while hopefully not being at any greater patent risk. However, he is hoping that S2TC could be integrated in Mesa itself to eliminate the run-around.

Corbin Simpson's response is that "Please go ask distributions to pick this up; we aren't going to do it without the legal issues being cleared up."

Alan Coopersmith also jumped into the thread to dispel the myths that software patents are only a problem in the United States. Japan, South Korea, and Australia, among other countries, honor software parents directly along with some effect in the European Union. "If you want to ensure Mesa is never built into a phone, or included as part of a preinstalled Linux bundle on a laptop, doing the wrong thing with patents is a good way to accomplish that."

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. NVIDIA's Proprietary Driver Is Moving Closer With Kernel Mode-Setting
  2. The Latest Linux Kernel Git Code Fixes The EXT4 RAID0 Corruption Problem
  3. Features Added To Mesa 10.6 For Open-Source GPU Drivers
  4. Ubuntu's LXD vs. KVM For The Linux Cloud
  5. Fedora Server 22 Benchmarks With XFS & The Linux 4.0 Kernel
  6. GCC 6 Gets Support For The IBM z13 Mainframe Server
  7. Fedora 22 Is Being Released Next Tuesday
  8. OpenWRT 15.05 Preparing Improved Security & Better Networking
  9. Using The New LLVM/Clang OpenMP Support
  10. Zapcc Claims To Be A "Much Faster C++ Compiler"
Latest Articles & Reviews
  1. Btrfs RAID 0/1 Benchmarks On The Linux 4.1 Kernel
  2. The State Of Various Firefox Features
  3. Intel Iris Graphics Performance With Mesa 10.6
  4. Fedora Workstation 22 Is Looking Great, Running Fantastic
Most Viewed News This Week
  1. The Linux 4.0 Kernel Currently Has An EXT4 Corruption Issue
  2. The Linux 4.0 EXT4 RAID Corruption Bug Has Been Uncovered
  3. AMDGPU Open-Source Driver Code Continues Maturing
  4. Microsoft Open-Sources The Windows Communication Foundation
  5. Another HTTPS Vulnerability Rattles The Internet
  6. LibreOffice 5.0 Open-Source Office Suite Has Been Branched
  7. Systemd 220 Has Finally Been Released
  8. Will Ubuntu Linux Hit 200 Million Users This Year?