http://bugs.winehq.org/show_bug.cgi?id=14939
Summary: DXT1 support not implemented Product: Wine Version: 1.1.2 Platform: PC-x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: shacklein@gmail.com
Running Black & White, regardless of in-game settings, the following fixme occurs: fixme:d3d_surface:surface_convert_format Cannot find a conversion function from format WINED3DFMT_DXT1 to WINED3DFMT_A4R4G4B4
Although the game is still playable, the lack of DXT1 support does seriously affect the graphics and gameplay. On "lowest" settings, the terrain is transparent and some objects are untextured and 100% black; on "highest", some textures are corrupted, or untextured as in "lowest" settings.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #1 from Roderick Colenbrander thunderbird2k@gmx.net 2008-08-21 18:00:06 --- DXTC requires the opengl s3tc extension. On open source drivers you need to install a custom library for mesa to get it as the compression isn't shipped by default since it is patented. For that reason we can't also add it to Wine.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #2 from Ben Klein shacklein@gmail.com 2008-08-21 18:09:44 --- (In reply to comment #1)
DXTC requires the opengl s3tc extension. On open source drivers you need to install a custom library for mesa to get it as the compression isn't shipped by default since it is patented. For that reason we can't also add it to Wine.
I see. And presumably, native dlls wouldn't help here either.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #3 from Ben Klein shacklein@gmail.com 2008-08-21 18:47:02 --- I think I misunderstood you before. The problem is legal/availability issues of S3TC, correct? I don't understand the underlying technology very much, but am I right in saying that S3TC is required for DXTC hardware support? If so, would it be possible (as in, legally) to implement a DXTC converter in software?
http://bugs.winehq.org/show_bug.cgi?id=14939
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|DXT1 support not implemented|Black & White: DXT1 support | |not implemented
http://bugs.winehq.org/show_bug.cgi?id=14939
Chris Meier cm@chrismeier.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #4 from Chris Meier cm@chrismeier.de 2008-09-07 18:50:27 --- *** This bug has been confirmed by popular vote. ***
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #5 from Ben Klein shacklein@gmail.com 2008-09-07 22:16:03 --- After some research, I now understand more about the problem here. Wine can't implement a DXTC/S3TC encoder without violating the S3TC patent, and probably the same goes for a decoder.
A while ago in #winehackers someone suggested that this particular decoding function could be offloaded to the GPU (when the appropriate functionality is available). The process would be essentially: 1. Load S3TC texture into a PBO 2. GPU converts to ARGB 3. Wine reads back the converted texture from PBO
Of course, this won't work when the GPU doesn't support S3TC/DXTC textures. I've been meaning to write a PoC for this, but haven't had the time. Comments?
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #6 from Roderick Colenbrander thunderbird2k@gmx.net 2008-09-20 08:32:45 --- Likely you could implement the algorithm that way but the drivers which offers PBOs are also the ones which offer S3TC. (Only Nvidia and ATI offer this at this point and I doubt PBOs will be supported on much older GPUs though if they support VBOs it is possible as PBOs are an extension to those)
http://bugs.winehq.org/show_bug.cgi?id=14939
John Haywards normandy@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |normandy@web.de
--- Comment #7 from John Haywards normandy@web.de 2008-09-20 11:19:43 --- *** Bug 15340 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=14939
Ben Klein shacklein@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Black & White: DXT1 support |Black & White: DXTC to ARGB |not implemented |converter not implemented
--- Comment #8 from Ben Klein shacklein@gmail.com 2008-09-20 18:52:30 --- (In reply to comment #6)
Likely you could implement the algorithm that way but the drivers which offers PBOs are also the ones which offer S3TC. (Only Nvidia and ATI offer this at this point and I doubt PBOs will be supported on much older GPUs though if they support VBOs it is possible as PBOs are an extension to those)
What I'm wondering is, is it worth it to implement this algorithm that only works on particular GPU and driver pairs? I would vote "yes" on this, but it would have to be done in such a way that it wouldn't be more broken if S3TC support is not found in the driver.
Also, adjusted description to be more accurate.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #9 from Austin English austinenglish@gmail.com 2009-03-30 12:54:10 --- Is this still an issue in current (1.1.18 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #10 from Ben Klein shacklein@gmail.com 2009-03-30 21:17:23 --- Created an attachment (id=20214) --> (http://bugs.winehq.org/attachment.cgi?id=20214) Tail of wine crash output on 1.1.18, including the backtrace
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #11 from Ben Klein shacklein@gmail.com 2009-03-30 21:28:42 --- There's been a regression in Wine that causes B&W to crash shortly after starting. I've attached the backtrace (above). It's in Wine's texturing code, interesting :)
And regarding whether the bug has been fixed, it can *only* be fixed by one of the following solutions: 1) Resolving the patented s3tc/DXTC issues and implementing a software DXTC to ARGB converter 2) Deferring decoding s3tc/DXTC textures to the graphics card where s3tc is supported, then read back the texture and tell the app "here is your converted texture" (like what I suggest in Comment #2, which in turn was suggested by people in #winehackers)
I don't think either of these things have been done.
In the duplicate Bug 15340, Roderick mentions the s3tc patches for mesa. They don't help here (thought they would for solution #2 if it was implemented) because the app isn't trying to load an s3tc texture into the graphics card, it's got an s3tc/DXTC texture that it wants converted to ARGB by DirectX and/or the video driver, then load the ARGB texture into the graphics card.
I'll be trying to determine where the regression that causes the current crashiness occurs :)
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #12 from Ben Klein shacklein@gmail.com 2009-03-31 11:16:10 --- I can now confirm that there is still no DXTC to ARGB converter as of 1.1.18.
http://bugs.winehq.org/show_bug.cgi?id=14939
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |taril_laszlo@yahoo.co.uk
--- Comment #13 from Austin English austinenglish@gmail.com 2009-04-05 14:34:52 --- *** Bug 15308 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=14939
Paul "TBBle" Hampson Paul.Hampson@Pobox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Paul.Hampson@Pobox.com
--- Comment #14 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-04-19 02:38:30 --- Why not copy the Mesa route described at http://dri.freedesktop.org/wiki/S3TC and try using an external library which it is up to the user or packager to supply, assuming they have complied with the relevant licensing requirements? If we can't dlopen the library, then fallback to whatever we do now. Feeding it off the GPU could be done either before or after the library, basically depending on performance I'd think, but neither path depends on the other that I can see.
http://bugs.winehq.org/show_bug.cgi?id=14939
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xamaniqinqu@gmail.com
--- Comment #15 from Vitaliy Margolen vitaliy@kievinfo.com 2009-09-27 11:30:07 --- *** Bug 20183 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #16 from Austin English austinenglish@gmail.com 2010-05-26 15:12:09 --- Still present.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #17 from Tuomas Lukinmaa winebugs@tumu.iki.fi 2010-10-06 00:50:55 CDT --- Also affects Orbiter 2010. The source library provided in #14 is 404, so the workaround is slowly turning extinct.
http://orbit.medphys.ucl.ac.uk/
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #18 from Itzamna xamaniqinqu@gmail.com 2010-12-04 12:03:38 CST --- Created an attachment (id=32355) --> (http://bugs.winehq.org/attachment.cgi?id=32355) Implements DXT1 to ARGB4444 texture conversion. Tested against commit b898130a114f1baf24f717ab0c5f9a65030c5283.
I have written a patch implementing DXT1 to ARGB4444 texture conversion. I pushed for inclusion in mainline, but was told this algorithm is patented. I decided to give VIA and S3 the privilege of sitting on my finger and write this patch anyway. Then I pushed the patent to the ground and had my way with it thoroughly. It wasn't as pleasant for the patent as it was for me.
More patches are coming, most notably to implement XRGB1555 to DXT1, DXT1 to XRGB1555 and DXT3 to ARGB4444 texture conversion. The patches handling XRGB1555 textures will fix the crash upon finishing the temple in land 1.
I advise anyone who wishes to try this to check out commit b898130a114f1baf24f717ab0c5f9a65030c5283, since the commit after it ( 7e3985e1fea60da73bae2b9465b94e5d110909fc) causes left / right mouse button clicks to be ignored in Black & White.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #19 from Itzamna xamaniqinqu@gmail.com 2010-12-04 12:16:47 CST --- To use this patch and not be affected by bug 25417 (http://bugs.winehq.org/show_bug.cgi?id=25417), copy the following commands in a terminal:
mkdir ~/src cd src git clone git://source.winehq.org/git/wine.git ~/wine cd wine git checkout b898130a114f1baf24f717ab0c5f9a65030c5283 wget -O wine-dxt1-to-argb4444-conversion.patch http://bugs2.winehq.org/attachment.cgi?id=32355 patch -p1 < wine-dxt1-to-argb4444-conversion.patch ./configure --prefix=/usr make depend make sudo make install
By the way: DXT1 textures are used as low resolution textures in Black & White, whereas DXT3 textures are used as high resolution textures. Until I post a DXT3 -> ARGB4444 patch, go to the Black & White installation directory and type 'wine Setup.exe'. Then go to the 'Graphics Detail Level' slider and select 'Custom Detail'. Then click the 'Custom...' button, uncheck "Use hi-res textures" and check "Use detail textures".
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #20 from Itzamna xamaniqinqu@gmail.com 2010-12-04 15:52:20 CST --- Created an attachment (id=32358) --> (http://bugs.winehq.org/attachment.cgi?id=32358) Implements DXT1 to XRGB1555 texture conversion.
This incremental patch adds support for DXT1 -> XRGB1555 texture conversion, required for the temple surface. Once I post an XRGB1555 -> DXT1 patch, the crash will be solved.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #21 from Ben Klein shacklein@gmail.com 2010-12-04 17:42:52 CST --- (In reply to comment #18)
Created an attachment (id=32355)
--> (http://bugs.winehq.org/attachment.cgi?id=32355) [details]
Implements DXT1 to ARGB4444 texture conversion. Tested against commit b898130a114f1baf24f717ab0c5f9a65030c5283.
I have written a patch implementing DXT1 to ARGB4444 texture conversion. I pushed for inclusion in mainline, but was told this algorithm is patented.
Rude language aside, thanks for looking in to this. Let's just hope that there are no nasty legal consequences!
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #22 from Itzamna xamaniqinqu@gmail.com 2010-12-04 17:57:59 CST --- (In reply to comment #21)
Rude language aside, thanks for looking in to this. Let's just hope that there are no nasty legal consequences!
Rude language? What? :p I just managed to tell S3 to go (...) themselves without resorting to the F-word, that's just classy.
Have you tried out the patch(es) yet? Tell me if you find any problems.
http://bugs.winehq.org/show_bug.cgi?id=14939
Itzamna xamaniqinqu@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #32355|0 |1 is obsolete| | Attachment #32358|0 |1 is obsolete| |
--- Comment #23 from Itzamna xamaniqinqu@gmail.com 2010-12-05 19:38:19 CST --- Created an attachment (id=32374) --> (http://bugs.winehq.org/attachment.cgi?id=32374) Implements DXT1, DXT3 to ARGB4444 and XRGB1555 texture conversion. This is a full (non-incremental) patch. Preferrably apply against commit b898130a114f1baf24f717ab0c5f9a65030c5283.
I have now implemented DXT3 -> ARGB4444 texture conversion, enabling high resolution textures.
There is only one bug left to tackle (15984), that one requires an XRGB1555 -> DXT1 conversion function. When that has been completed, likely tomorrow, Black & White will no longer crash when saving or entering a skirmish game and will be eligible for platinum status in the AppDB.
http://bugs.winehq.org/show_bug.cgi?id=14939
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #24 from Dan Kegel dank@kegel.com 2010-12-05 19:56:12 CST --- Platinum's only for games that run well on unpatched wine.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #25 from Itzamna xamaniqinqu@gmail.com 2010-12-05 20:15:06 CST --- (In reply to comment #24)
Platinum's only for games that run well on unpatched wine.
Whoops. Well, I suppose a gold rating accompanied with a thorough howto and .deb and .rpm packages built from the patched source will be almost as snazzy.
Working on that XRGB1555 -> DXT1 patch now, almost there :)
http://bugs.winehq.org/show_bug.cgi?id=14939
jannis kripton@kripserver.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kripton@kripserver.net
http://bugs.winehq.org/show_bug.cgi?id=14939
James Le Cuirot chewi@aura-online.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |chewi@aura-online.co.uk
http://bugs.winehq.org/show_bug.cgi?id=14939
Fabio fabio.ped@libero.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fabio.ped@libero.it
http://bugs.winehq.org/show_bug.cgi?id=14939
nh2@deditus.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nh2@deditus.de
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #26 from Ben Klein shacklein@gmail.com 2011-03-23 06:14:26 CDT --- (In reply to comment #25)
(In reply to comment #24)
Platinum's only for games that run well on unpatched wine.
Whoops. Well, I suppose a gold rating accompanied with a thorough howto and .deb and .rpm packages built from the patched source will be almost as snazzy.
Working on that XRGB1555 -> DXT1 patch now, almost there :)
Just had the chance to try out your patch attached here. Amazing work!
Two things: 1) What happened to your XRGB1555 encoder? 2) Is there any way you can implement this so it defers the actual decompression algorithm to OpenGL/Mesa? At the moment, there's no way this patch will be included in upstream wine.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #27 from Itzamna xamaniqinqu@gmail.com 2011-03-23 07:16:46 CDT --- Hello Ben, I hope you're enjoying Black & White - it's been a long time coming.
1) The XRGB1555 -> DXT135 compression algorithm is no longer essential to running Black & White, as it's only used to compress the screenshots into thumbnails when one saves a game. The crashes were caused by a shoddy implementation of DirectDraw blitting (used when making these savegame screenshots), Zdenek Behan has provided a hack that bypasses blitting. In the HowTo I have included all 3 patches needed for playing Black & White on Wine.
2) Personally I think this patent fear is nonsense, since only a backwards, oppressive and capitalist legal climate as in the U.S. would allow patents to kill innovation. If you like, I could write a patch to hook into libtxc_dxtn, though there are two concerns: A) the overhead produced by converting the 16 bit textures to 32 bit (libtdx_dxtn works with 32 bit textures) and then performing a function call to libtdx_dxtn.so would be just silly and B) the Mesa guys are finally turning on the light in their attics and are discussing providing DXT support natively in Mesa ( http://lists.freedesktop.org/archives/mesa-dev/2011-March/005826.html ). I'll push a patch to provide fast, direct compression / decompression of 16 bit (A)RGB textures to Mesa when they've completed the merger.
For now, just follow the HowTo on the AppDB page and you're good to go. If you want an online match sometime, give me a yell! My rhino is feeling lonesome. =(
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #28 from Ben Klein shacklein@gmail.com 2011-03-23 07:50:29 CDT --- (In reply to comment #27)
Hello Ben, I hope you're enjoying Black & White - it's been a long time coming.
- The XRGB1555 -> DXT135 compression algorithm is no longer essential to
running Black & White, as it's only used to compress the screenshots into thumbnails when one saves a game. The crashes were caused by a shoddy implementation of DirectDraw blitting (used when making these savegame screenshots), Zdenek Behan has provided a hack that bypasses blitting. In the HowTo I have included all 3 patches needed for playing Black & White on Wine.
Thanks :)
- Personally I think this patent fear is nonsense, since only a backwards,
oppressive and capitalist legal climate as in the U.S. would allow patents to kill innovation.
I agree with you. I'd even argue that implementing the S3TC algorithms from scratch is not a patent violation as long as you don't reverse-engineer. But I'm not a patent expert, an nor are the wine devs, so as it stands this sort of software decoder won't get into wine upstream.
If you like, I could write a patch to hook into libtxc_dxtn, though there are two concerns: A) the overhead produced by converting the 16 bit textures to 32 bit (libtdx_dxtn works with 32 bit textures) and then performing a function call to libtdx_dxtn.so would be just silly and
I suggested it mainly because it'd be more likely to be accepted by AJ.
B) the Mesa guys are finally turning on the light in their attics and are discussing providing DXT support natively in Mesa ( http://lists.freedesktop.org/archives/mesa-dev/2011-March/005826.html ). I'll push a patch to provide fast, direct compression / decompression of 16 bit (A)RGB textures to Mesa when they've completed the merger.
This is good news then :) Something to keep an eye on.
For now, just follow the HowTo on the AppDB page and you're good to go. If you want an online match sometime, give me a yell! My rhino is feeling lonesome. =(
Poor rhino!
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #29 from James Le Cuirot chewi@aura-online.co.uk 2011-03-26 17:29:16 CDT --- I just want to say thank you to Itzamna for his hard work. It works perfectly now and my wife has been playing for hours!
http://bugs.winehq.org/show_bug.cgi?id=14939
Itzamna xamaniqinqu@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #32374|0 |1 is obsolete| |
--- Comment #30 from Itzamna xamaniqinqu@gmail.com 2011-03-30 19:47:15 CDT --- Created an attachment (id=33871) --> (http://bugs.winehq.org/attachment.cgi?id=33871) Rebase DXT patch on latest git commit (da4ed4707683687254d4abcb63f8abdd0ba7b313).
More recent git commits broke the patch, here's an update.
Also, you may have noticed DXT3 textures sometimes get decompressed with jagged edges... I'll look into it in the weekend, it may have something to do with alpha pixels or with blending.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #31 from Fabio fabio.ped@libero.it 2011-05-04 08:46:41 CDT --- (In reply to comment #27)
B) the Mesa guys are finally turning on the light in their attics and are discussing providing DXT support natively in Mesa ( http://lists.freedesktop.org/archives/mesa-dev/2011-March/005826.html ).
It looks like this will never happen. They merged the floating textures (enabled with the --enable-float configure flag, but Linux distribution are unlikely to enable it) because it was infeasible to provide them in an external library, but the DXT texture support will stay in libtxc-dxtn, at least up until the S3 patent is valid.
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #32 from nickstuckert@gmail.com nickstuckert@gmail.com 2011-05-08 23:49:35 CDT --- Created an attachment (id=34559) --> (http://bugs.winehq.org/attachment.cgi?id=34559) Rebase DXT patch May-09-2011
This is the new patch to address the name change from surface_base.c to surface.c in the dlls/wined3d folder
http://bugs.winehq.org/show_bug.cgi?id=14939
nickstuckert@gmail.com nickstuckert@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nickstuckert@gmail.com
--- Comment #33 from nickstuckert@gmail.com nickstuckert@gmail.com 2011-05-08 23:50:32 CDT --- Hey Itzamna, the file name changed for the patch so I remade it. Thanks for all your help.
http://bugs.winehq.org/show_bug.cgi?id=14939
San Zamoyski san@plusnet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |san@plusnet.pl
--- Comment #34 from San Zamoyski san@plusnet.pl 2012-05-14 02:25:54 CDT --- Which one source version should i download to get it to work?
I downloaded few wersions of wine's source. 1.1.2, 1.1.27, 1.1.5, 1.5.4 But cannot patch or compile it. Tried to use both patches (33871 and 34559).
http://bugs.winehq.org/show_bug.cgi?id=14939
Damian Ivanov damianatorrpm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damianatorrpm@gmail.com
--- Comment #35 from Damian Ivanov damianatorrpm@gmail.com 2012-06-26 02:27:58 CDT --- Is still an issue in wine 1.5.6 or newer?
http://bugs.winehq.org/show_bug.cgi?id=14939
Stefan B. steve56@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |steve56@web.de
--- Comment #36 from Stefan B. steve56@web.de 2012-12-31 12:36:36 CST --- Can't start it even on wine 1.5.20 on ubuntu 12.10 ... tried it with black and white version 1.0 and patched 1.3 ... even with no-cd crack.
Sometimes it begins to start, shows the two splash screens, but freezes and does only show a black screen :-(
http://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #37 from nh2@deditus.de 2013-01-01 20:41:25 CST --- I have no clue about the exact details of this, but by now texture compression is AFAIK provided by the package libtxc-dxtn-s2tc0 (this is its name in Ubuntu), which happens to fix many black-screen issues.
Please give it a try, install it and tell us if it changes something.
http://bugs.winehq.org/show_bug.cgi?id=14939
zippy gohabsgo60@yahoo.ca changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gohabsgo60@yahoo.ca
http://bugs.winehq.org/show_bug.cgi?id=14939
Linus Unnebäck linus@folkdatorn.se changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linus@folkdatorn.se
--- Comment #38 from Linus Unnebäck linus@folkdatorn.se --- This is still an issue in wine 1.7.5. Haven't been able to try in 1.7.13, see Bug 35721.
Building with the patch fixes most of the issues but leaves a few.
1. All the sprites for trees haven't any alpha, making them rectangular with a greenish background.
2. Some textures still seem to be missing, for example the Celtic temple and some parts of Yin and Yan.
The game still tries to use WINED3DFMT_B5G5R5X1_UNORM to WINED3DFMT_DXT1 conversion, I don't know for what but maybe implementing it could help with the missing textures. I also get lots and lots of these output lines:
fixme:d3d_surface:surface_load_location Unimplemented copy from SFLAG_INTEXTURE to SFLAG_INSYSMEM for depth/stencil buffers.
and
err:ddraw:d3d_device_prepare_vertex_buffer (0x1b6b70) wined3d_buffer_create_vb failed with hr = 8876017c
https://bugs.winehq.org/show_bug.cgi?id=14939
Vladimir didenkovladimir12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |didenkovladimir12@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=14939
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de, | |sebastian@fds-team.de
--- Comment #39 from Sebastian Lackner sebastian@fds-team.de --- Patch was added to Wine-Staging:
https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-D... (needs 'autoreconf -f' and 32-bit libtxc-s2tc to be present at ./configure time)
It might be a bit slower than directly implementing DXTn support in Wine, but is a bit more safe from a legal perspective.
https://bugs.winehq.org/show_bug.cgi?id=14939
Alec Teal alec.teal@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alec.teal@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #40 from Alec Teal alec.teal@gmail.com --- (In reply to Sebastian Lackner from comment #39)
Patch was added to Wine-Staging:
https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d- DXTn (needs 'autoreconf -f' and 32-bit libtxc-s2tc to be present at ./configure time)
It might be a bit slower than directly implementing DXTn support in Wine, but is a bit more safe from a legal perspective.
Please do not give up on this! I'd love to play this game!
https://bugs.winehq.org/show_bug.cgi?id=14939
Sam sam.h.russell@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sam.h.russell@gmail.com
--- Comment #41 from Sam sam.h.russell@gmail.com --- Created attachment 52372 --> https://bugs.winehq.org/attachment.cgi?id=52372 Rebase patch for 1.7.51
https://bugs.winehq.org/show_bug.cgi?id=14939
Sam Russell sam.h.russell@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #52372|0 |1 is obsolete| |
--- Comment #42 from Sam Russell sam.h.russell@gmail.com --- Created attachment 52384 --> https://bugs.winehq.org/attachment.cgi?id=52384 DXTC-ARGB converter with fixed DXT3 Alpha for 1.7.51
from your wine directory, run
patch -p1 < wine-dxt13-to-argb4444-xrgb1555-conversion-dxt3-fixed-alpha-1.7.51.patch
This fixes the alpha problem for trees in Black and White 1 with high quality textures
https://bugs.winehq.org/show_bug.cgi?id=14939
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/wined3d-DXTn
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #43 from Linus Unnebäck linus@folkdatorn.se --- I would LOVE for this to be included in mainline wine. Is there something I can do to help that process?
https://bugs.winehq.org/show_bug.cgi?id=14939
Tiago Medeiros tiago@azoreancoder.pw changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tiago@azoreancoder.pw
--- Comment #44 from Tiago Medeiros tiago@azoreancoder.pw --- (In reply to Linus Unnebäck from comment #43)
I would LOVE for this to be included in mainline wine. Is there something I can do to help that process?
This bug is staged, should only be a matter of time now, right?
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #45 from Sebastian Lackner sebastian@fds-team.de --- (In reply to Tiago Medeiros from comment #44)
(In reply to Linus Unnebäck from comment #43)
I would LOVE for this to be included in mainline wine. Is there something I can do to help that process?
This bug is staged, should only be a matter of time now, right?
Not necessarily. The staging tree intentionally has less strict rules regarding patch acceptance. The fact that a staged patch is available, only means that there is at least one proposed solution, not necessarily that this is the solution which will be used in the development tree later. For users who need such STAGED features immediately, I would recommend to use either a prebuilt package of Wine Staging, or compile it manually with all patches you want.
https://bugs.winehq.org/show_bug.cgi?id=14939
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=14939
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=25486
https://bugs.winehq.org/show_bug.cgi?id=14939
Mike McQuaid mike@mikemcquaid.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mike@mikemcquaid.com
--- Comment #46 from Mike McQuaid mike@mikemcquaid.com --- Hi, Mike McQuaid, lead Homebrew maintainer here. Is there any chance of this patch getting merged for a future Wine stable release? Homebrew doesn't want to carry patches like this indefinitely as we consider upstream a better judge than us on the suitability of patches. If there's no chance in this getting merged we'll consider removing it and direct people to this bug report instead. Thanks for all your work on Wine!
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #47 from Henri Verbeet hverbeet@gmail.com --- (In reply to Mike McQuaid from comment #46)
Hi, Mike McQuaid, lead Homebrew maintainer here. Is there any chance of this patch getting merged for a future Wine stable release? Homebrew doesn't want to carry patches like this indefinitely as we consider upstream a better judge than us on the suitability of patches. If there's no chance in this getting merged we'll consider removing it and direct people to this bug report instead. Thanks for all your work on Wine!
Which patch in particular are you referring to? The staging patch has pretty much no chance of getting merged. I think using libtxc_dxtn when available is fine, but the way this is implemented in staging isn't.
That said, it's not clear to me whether that patch is even needed with current Wine. The last release anyone reported this occurring in was Wine 1.7.5 from 2013, in comment 38.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #48 from Mike McQuaid mike@mikemcquaid.com --- Thanks, I was referring to the staging patch. We'll remove it unless/until one of our users reconfirms it on 2.0.0 and even then I'd probably want to see it submitted in a way that could be accepted before we reinclude it.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #49 from Sam Russell sam.h.russell@gmail.com --- (In reply to Mike McQuaid from comment #48)
Thanks, I was referring to the staging patch. We'll remove it unless/until one of our users reconfirms it on 2.0.0 and even then I'd probably want to see it submitted in a way that could be accepted before we reinclude it.
Hi Mike, Henry,
I submitted the updated version of the patch as I was experiencing this bug at the time (at the end of 2015). I can give it another test for you this weekend if you like, but I can't imagine how this could be resolved without this patch.
The tl;dr is that there are fears around a software patent for this technology, which appears to be shipped on every graphics card released in the last decade, but requires a license to implement in software. The patent in question appears to expire in October 2017 (at which point there shouldn't be an issue with Wine merging this into stable?)
In the meantime, the patch does serve a purpose, although it's debatable as to whether homebrew is the right place to host it. The current recipe does make things *very* easy to end users though.
What are your thoughts?
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #50 from Mike McQuaid mike@mikemcquaid.com --- Homebrew is happy to carry this patch if the merge concerns are patents but not if the patch isn't technically suitable for merging for other reasons.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #51 from Sam Russell sam.h.russell@gmail.com --- I'm not close enough to the project to know either way, but my guess would be that the methods that this patch adds line up with the other methods in the file (convert_yuy2_r5g6b5 etc). I'd want someone on the project to confirm though.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #52 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Sam Russell from comment #49)
I submitted the updated version of the patch as I was experiencing this bug at the time (at the end of 2015).
There seems to be some disagreement between Sam and Mike? Sam is probably referring to attachment 52384, from comment 42, which is not the staging patch series linked from this bug. Either way, the attached patch is not acceptable for upstreaming at the moment, if nothing else for the patent reasons mentioned.
I can give it another test for you this weekend if you like, but I can't imagine how this could be resolved without this patch.
425e84dac5c87f6b1e7d89b363017a045e4c0626 might have made the patch (whatever that is) unnecessary for Black & White.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #53 from Sam Russell sam.h.russell@gmail.com --- Confirming this patch is still necessary and effective as-is in Wine 2.0
Before patching: http://i.imgur.com/bu308Yc.png After patching: http://i.imgur.com/CY0Wg2A.jpg
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #54 from Henri Verbeet hverbeet@gmail.com --- (In reply to Sam Russell from comment #53)
Confirming this patch is still necessary and effective as-is in Wine 2.0
Before patching: http://i.imgur.com/bu308Yc.png After patching: http://i.imgur.com/CY0Wg2A.jpg
What does the terminal output say?
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #55 from Sam Russell sam.h.russell@gmail.com --- I'm not sure I follow your question. The textures never worked, they continue to not work. I don't know Wine well enough to debug further, but I am happy to confirm that I'm seeing identical symptoms on Wine 2.0 as I saw on Wine 1.7.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #56 from Henri Verbeet hverbeet@gmail.com --- (In reply to Sam Russell from comment #55)
I'm not sure I follow your question.
What does Wine 2.0 write to stderr when running the application?
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #57 from Mike McQuaid mike@mikemcquaid.com ---
Either way, the attached patch is not acceptable for upstreaming at the moment, if nothing else for the patent reasons mentioned.
Could you suggest how the patent reasons could be resolved and what would need to be done for this patch to be upstreamed? Thanks.
https://bugs.winehq.org/show_bug.cgi?id=14939
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #58 from winetest@luukku.com --- (In reply to Mike McQuaid from comment #57)
Either way, the attached patch is not acceptable for upstreaming at the moment, if nothing else for the patent reasons mentioned.
Could you suggest how the patent reasons could be resolved and what would need to be done for this patch to be upstreamed? Thanks.
I quess it would be better to send a question to wine-devel mailing list.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #59 from Austin English austinenglish@gmail.com --- (In reply to Mike McQuaid from comment #57)
Either way, the attached patch is not acceptable for upstreaming at the moment, if nothing else for the patent reasons mentioned.
Could you suggest how the patent reasons could be resolved and what would need to be done for this patch to be upstreamed? Thanks.
https://en.wikipedia.org/wiki/S3_Texture_Compression#Patent
Though it looks like it's close to running out (Oct 2, 2017).
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #60 from Henri Verbeet hverbeet@gmail.com --- I think I was pretty clear in saying that I think using an external library like libtxc-dxtn-s2tc would be fine. Of course if that can be avoided that would be preferred, which is why I asked for debug output.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #61 from Sam Russell sam.h.russell@gmail.com --- I didn't save the log output sorry. Can reproduce by running black and white (any version) under wine and getting into the game, the textures start getting hit fairly early on.
https://bugs.winehq.org/show_bug.cgi?id=14939
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #62 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 57121 --> https://bugs.winehq.org/attachment.cgi?id=57121 screenshot of textureless stuff
Not sure what log can be useful, attached log is from wine-git. I can reproduce the textureless people/buildings, in the log I'm facing the problem in the screen (don't know if that is relevant).
+d3d,+tid (3.2mb unpacks to 300mb): http://alexa.pro.br/~bruno/wine/bw.txt.bz2
standard log: http://alexa.pro.br/~bruno/wine/bwstd.txt
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #63 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 57125 --> https://bugs.winehq.org/attachment.cgi?id=57125 comparison Staging vs Vanilla 2.0
Since there were no screenshots I attached the previous comment screenshot and now a comparison taken from the same angle of a house. Staging is almost perfect, but looks like the windows are not stretched as they should.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #64 from Henri Verbeet hverbeet@gmail.com --- Created attachment 57187 --> https://bugs.winehq.org/attachment.cgi?id=57187 patch
(In reply to Bruno Jesus from comment #62)
Created attachment 57121 [details] screenshot of textureless stuff
Not sure what log can be useful, attached log is from wine-git. I can reproduce the textureless people/buildings, in the log I'm facing the problem in the screen (don't know if that is relevant).
+d3d,+tid (3.2mb unpacks to 300mb): http://alexa.pro.br/~bruno/wine/bw.txt.bz2
standard log: http://alexa.pro.br/~bruno/wine/bwstd.txt
That's helpful, thanks. Could you give the attached patch a try, and create a new log with +ddraw included?
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #65 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 57188 --> https://bugs.winehq.org/attachment.cgi?id=57188 comparison vanilla and patched
The patch works for me on Debian, thanks Henri.
The screenshot shows clearly every building roof in black, while patched is OK. People also have correct textures.
https://bugs.winehq.org/show_bug.cgi?id=14939
--- Comment #66 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 57189 --> https://bugs.winehq.org/attachment.cgi?id=57189 +d3d,+ddraw with patch
287mb uncompressed. Game loaded to the point the screen is drawn correctly. The trace lines added are present in the log.
https://bugs.winehq.org/show_bug.cgi?id=14939
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |RESOLVED Fixed by SHA1| |5a6efe632918fd18758897c3991 | |0d52791d46053 CC| |joseph.kucia@gmail.com Resolution|--- |FIXED
--- Comment #67 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Bruno Jesus from comment #65)
The patch works for me on Debian, thanks Henri.
The patch was committed. This should be now fixed with commit 5a6efe632918fd18758897c39910d52791d46053.
https://bugs.winehq.org/show_bug.cgi?id=14939
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1|5a6efe632918fd18758897c3991 |f576e5c02857a506e63c33e3303 |0d52791d46053 |e2a0a4bc24e1a
--- Comment #68 from Henri Verbeet hverbeet@gmail.com --- (In reply to Józef Kucia from comment #67)
The patch was committed. This should be now fixed with commit 5a6efe632918fd18758897c39910d52791d46053.
The patch that's supposed to fix it is f576e5c02857a506e63c33e3303e2a0a4bc24e1a. 5a6efe632918fd18758897c39910d52791d46053 is about handling failure to convert in surface_convert_format() in a more reasonable way, but the application isn't supposed to reach that anymore.
https://bugs.winehq.org/show_bug.cgi?id=14939
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #69 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.2.
https://bugs.winehq.org/show_bug.cgi?id=14939
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.0.x
https://bugs.winehq.org/show_bug.cgi?id=14939
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.0.x |---
--- Comment #70 from Michael Stefaniuc mstefani@winehq.org --- Removing the 2.0.x milestone from bugs included in 2.0.1.
https://bugs.winehq.org/show_bug.cgi?id=14939
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lminiero@gmail.com
--- Comment #71 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 13610 has been marked as a duplicate of this bug. ***