R600 Gallium3D Driver Now Supports S3TC Library

Posted by Michael Larabel on February 15, 2011

While there is not integrated support for S3 Texture Compression (S3TC) support fully integrated into the Mesa / Gallium3D code-base over patents covering the algorithm, there are Mesa drivers that support hooking into an external S3TC library. This external S3TC support requires setting a special variable in the build process and building the S3TC library (named libtxc_dxtn.so) after obtaining the code from an independent source. This move shifts the legal burden from the Mesa developers and onto the user.

Support for using this external S3TC library on the ATI R600 Gallium3D "R600g" driver has been sought after by users for months as there are a number of games on Linux (and under Wine) that require this texture compression extension. The hooks have been in place for the classic Mesa R600 driver (and the ATI R300 drivers), but it wasn't until yesterday that the hooks were in place for the R600g driver.

Now if you really want to use the S3TC support with the R600g driver, pull the latest Mesa code for 7.11-devel after building libtxc_dxtn. Assuming you aren't hit by any bugs, it should work.

This is the commit that adds in the S3TC formats, it was written by David Airlie. "On r600, s3tc formats require a 1D tiled texture format, so we have to do uploads using a blit, via the 64-bit and 128-bit formats Based on the r600c code we use a 64 and 128-bit type to do the blits. Still requires R600_ENABLE_S3TC until the kernel fixes are in, this has only been tested on evergreen where the kernel doesn't yet get in the way."

According to this bug report that is for GL_EXT_texture_compression_s3tc extension support on R600g, with the latest Git master for at least one user, Quake 4 is now running and Max Payne 2 is running through Wine, but the FEAR game running through Wine is triggering GPU resets.

It's too bad there is not S3TC support in Mesa, but for those wishing to jump through the hurdles to use this external library (and are aware of its availability), it should now be possible to use with the R600/Evergreen/Northern-Islands Gallium3D driver.

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. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Radeon HD 7850 Catalyst wine performance
  2. Linux Desktop Security Could Be A Whole Lot Better
  3. Raspberry Pi Gets New Wayland Weston Renderer
  4. OpenChrome Driver Is Far From Feature Complete
  5. how to use old laptops with via gfx
  6. Digia Announces "Boot To Qt" Project
  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