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."

Latest Linux Hardware Reviews
  1. Overclocking The AMD AM1 Athlon & Sempron APUs
  2. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  3. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
  4. AMD Athlon 5350 APU On Linux
Latest Linux Articles
  1. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  2. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  3. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
  4. GCC 4.9 Compiler Optimization Benchmarks For Faster Binaries
Latest Linux News
  1. Maynard: A Lightweight Wayland Desktop
  2. Chromium Browser Going Through Growing Pains In Ubuntu 14.04
  3. KDE 4.13 Is Being Released Today With New Features
  4. Trying Out Radeon R9 290 Graphics On Open-Source
  5. Intel Broadwell GT3 Graphics Have Dual BSD Rings
  6. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  7. Red Hat Releases Its RHEL 7 Release Candidate
  8. New Features Coming To Xubuntu 14.04 LTS
  9. NVIDIA Officially Releases CUDA 6
  10. Google Releases An AutoFDO Converter For Perf In LLVM
  11. Fedora 21 To Evaluate Remote Journal Logging, 64-bit ARM Emulation
  12. Star Citizen Will Be Coming To Linux
Latest Forum Discussions
  1. The GNOME Foundation Is Running Short On Money
  2. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. New tool for undervolt/overclock AMD K8L and K10 processors
  5. How to enable opengl 3.3 on r9 270?
  6. R290x sound problems
  7. radeon-profile: tool for changing profiles and monitoring some GPU parameters
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel