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


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 Articles & Reviews
  1. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  2. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  3. The New Place Where Linux Code Is Constantly Being Benchmarked
  4. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  5. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  6. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
Latest Linux News
  1. Debian 8.0 Jessie RC2 Installer Released
  2. Shadow Warrior Is Being Released For Linux Next Week
  3. Intel Pushes A Bunch Of Broadwell Code Into Coreboot
  4. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  5. GHC 7.10.1 Brings New Compiler Features
  6. Git 2.4.0-rc0 Does A Ton Of Polishing
  7. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  8. Mesa Is At Nearly 1,500 Commits This Year
  9. Gestures & Other GTK3 Features For LibreOffice
  10. It's Now Easier To Try PHP 7 On Fedora & RHEL
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. Allwinner Continues Jerking Around The Open-Source Community
  5. GNOME Shell & Mutter 3.16.0 Released
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver