libtxc-dxtn-s2tc0 should create a libtxc_dxtn.so file to help MESA choose (breaks some Wine apps)

Bug #1023184 reported by Scott Ritchie on 2012-07-10
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mesa
Won't Fix
Medium
s2tc (Ubuntu)
Undecided
Unassigned

Bug Description

[TEST CASE]
See bug #1012266 , same test case applies

[Regression Potential]
See bug #1012266

---------

http://bugs.winehq.org/show_bug.cgi?id=31161 points to a packaging bug, either in Ubuntu's s2tc or mesa

Relevant quote:

> Note that Wine needs the 32-bit version of that package though.

Actually I had it installed. But it seems like there is a bug in ubuntu i386
package. I had to create a proper symbolic link:

sudo ln -s libtxc_dxtn_s2tc.so.0 /usr/lib/i386-linux-gnu/libtxc_dxtn.so

Now I can see the menu.

To summarize:

1) If you're using opensource graphics drivers, you have to install
libtxc-dxtn-s2tc
2) make sure you have libtxc-dxtn-s2tc0:i386 installed.
3) run with MESA_DEBUG=1 to see if there are warning couldn't open
libtxc_dxtn.so
4) If you're in Ubuntu 12.04 rewrite a link
/usr/lib/i386-linux-gnu/libtxc_dxtn.so to point to
/usr/lib/i386-linux-gnu/libtxc_dxtn_s2tc.so.0

Hopefully, this thread will help somebody.

In , John (vanuan) wrote :

I tried running the game under opensource video drivers and couldn't see the menu.
Also I have a plenty of messages:

err:d3d_surface:surface_upload_data >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glTexSubImage2D @ surface.c / 2369

Googling around: https://bugs.freedesktop.org/show_bug.cgi?id=49484
tells it is because "an application tries to use a (D3D) format (e.g.
DXT/s3tc) even though it's not available."

I think it is a bug in wine. It should check for available formats and stop if requested is not available and print a message how to fix it.

In , John (vanuan) wrote :

This is a format that is not recognized:

fixme:d3d:debug_d3dformat Unrecognized 0x434f5441 (as fourcc: ATOC) WINED3DFORMAT!
fixme:d3d:wined3d_get_format Can't find format unrecognized (0x434f5441) in the format lookup table
fixme:d3d:debug_d3dformat Unrecognized 0x5a574152 (as fourcc: RAWZ) WINED3DFORMAT!
fixme:d3d:wined3d_get_format Can't find format unrecognized (0x5a574152) in the format lookup table

In , John (vanuan) wrote :

This article might be useful http://aras-p.info/texts/D3D9GPUHacks.html

In , John (vanuan) wrote :

Parameters to glTexSubImage2D:

d3d_surface:surface_upload_data glTexSubImage2D, target 0xde1, level 0, x 0, y 0, w 8, h 64, format 0, type 0, addr 0x6ddc6680.

Why format and type are 0?

Typically because you don't have s3tc support. I'll see if I can improve the message a bit to make it more obvious.

Created attachment 40909
patch

Actually, you wouldn't get that message for DXTn surfaces, though you might for float textures. Could you see what the attached patch outputs?

In , John (vanuan) wrote :

It outputs:

fixme:d3d_surface:surface_allocate_surface No GL internal format for format WINED3DFMT_DXT1.
fixme:d3d_surface:surface_allocate_surface No GL internal format for format WINED3DFMT_DXT5.

In , John (vanuan) wrote :

Running with MESA_DEBUG=1 shows:

Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable

Its strange, because I have libtxc-dxtn-s2tc0 installed.

Yeah, that's missing s3tc support. The glTexSubImage2D() call confused me for a bit because it shouldn't be called for compressed formats, but if the format is missing WINED3DFMT_FLAG_COMPRESSED wouldn't be set either.

(In reply to comment #7)
> Its strange, because I have libtxc-dxtn-s2tc0 installed.
Note that Wine needs the 32-bit version of that package though.

In , John (vanuan) wrote :

> Note that Wine needs the 32-bit version of that package though.

Actually I had it installed. But it seems like there is a bug in ubuntu i386 package. I had to create a proper symbolic link:

sudo ln -s libtxc_dxtn_s2tc.so.0 /usr/lib/i386-linux-gnu/libtxc_dxtn.so

Now I can see the menu.

To summarize:

1) If you're using opensource graphics drivers, you have to install libtxc-dxtn-s2tc
2) make sure you have libtxc-dxtn-s2tc0:i386 installed.
3) run with MESA_DEBUG=1 to see if there are warning couldn't open libtxc_dxtn.so
4) If you're in Ubuntu 12.04 rewrite a link /usr/lib/i386-linux-gnu/libtxc_dxtn.so to point to /usr/lib/i386-linux-gnu/libtxc_dxtn_s2tc.so.0

Hopefully, this thread will help somebody.

Packaging bug.

Why is Wine looking for a .so file (rather than .so.#) after build time?

In , John (vanuan) wrote :

What *.so file do you mean? If you mean libtxc_dxtn.so, than it's not wine, it's mesa.

Lennart Weller (lhw) wrote :

Same as Bug #1023197
This was fixed in debian unstable and I filed for a sync Bug #1023197

Changed in s2tc (Ubuntu):
status: New → Fix Committed
Changed in mesa:
importance: Unknown → Medium
status: Unknown → Won't Fix

The bug was already fixed in 0~git20110809-2 in debian. The package has not been synced to ubuntu precise only quantal. I requested a manual sync just now.[1]

[1] http://packages.debian.org/changelogs/pool/main/s/s2tc/s2tc_0~git20110809-3/changelog
[2] https://bugs.launchpad.net/bugs/1023197

Stéphane Graber (stgraber) wrote :

Reverting the precise task to In Progress, Fix Commited is for packages that are in the -proposed pocket, this package is still in the Unapproved queue.

Changed in s2tc (Ubuntu):
status: Fix Committed → In Progress

Hello Scott, or anyone else affected,

Accepted s2tc into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/s2tc/0~git20110809-2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

description: updated
tags: added: verification-needed
Stéphane Graber (stgraber) wrote :

I confirmed in the other bug that the alternatives and symlinks look good, but it'd be best if someone could also confirm that a software affecting by these bugs is actually fixed with the packages from -proposed.

Scott Kitterman (kitterman) wrote :

Maybe it's been long enough we could go ahead and release this since the test case has been satisfied?

Scott Ritchie (scottritchie) wrote :

Agreed regarding the release; I don't personally have the game in question to test, I was simply forwarding a Wine bug.

no longer affects: mesa (Ubuntu)
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package s2tc - 0~git20110809-2.1

---------------
s2tc (0~git20110809-2.1) precise-proposed; urgency=low

  * fixes multiarch alternatives bug (LP: #1012266, LP: #1023184, LP: #1023197)
 -- Lennart Weller <email address hidden> Wed, 18 Jul 2012 13:37:56 -0700

Changed in s2tc (Ubuntu):
status: In Progress → Fix Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Scott Kitterman (kitterman) wrote :

Copied to updates.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.