~Hakurei Shrine~ > Tech Support
Touhou on Wine Status
Momiji:
For those of us that run Touhou games under Wine, in Linux, there are two major bugs keeping things from working correctly. One, the in-game text isn't rendered properly, due to Wine's lack of a full implementation of Windows' Device Independent Bitmap engine. Two, Wine doesn't fully implement a specific DirectX dll (d3dx9_36.dll) that many later Touhou games use. Using a native Windows file will work to a certain extent, but it can cause other problems as well.
Well the first problem has been a longstanding Wine issue, and it looks like there's been some major work done on developing a working DIB engine. Here you can see the difference; DIB engine disabled on top, enabled on the bottom.
As for the second problem, one of Wine's Summer of Code students is working on implementing texture, mesh, and font handling in Direct3D. Hopefully this will cover the texture loading routines that're missing.
Anyway, I hope that all of the longstanding Touhou on Wine bugs get solved this year, preferably soon. I build Wine from their git repository, so I test how things work between different builds. I'll post here with any updates.
Momiji:
An update: I managed to get a Wine+DIB engine installer working. It's a Gentoo ebuild, so if you're using Gentoo you can use it. I just need to find a way to upload it somehow. If you use Ubuntu there's a .deb here. Whether or not it works, I don't know.
Anyway, the results aren't exactly perfect. In general, you'll see the biggest difference with chat text and the music menu. While before it looks practically invisible (see pictures above), it now alphas correctly. But for me, all of that text is now very dark blue. Some of the games didn't have problems before (mainly Seirensen), but now they do. So YMMV.
Here's Bunkachou:
Before
After
Doesn't look like much difference, the text is still impossible to read. But it's definitely getting somewhere.
Outside of that, only 3 games don't work at this point (at least for me). Suimusou and Hisouten still need a fully-functional d3dx9_36.dll, and Kaeizuka crashes when loading a character.
[Edit] I've found a patch implementing the DirectX texture function needed by Suimusou and Hisouten, but it's a bit of a pain to use. I'll work on getting my installer to merge it, and what kind've results I get with it plus the DIB engine patches.
Starks:
Where can I find the D3DXCreateTexture patch and is it better than the native dlls?
Edit: Is this it? http://bugs.winehq.org/attachment.cgi?id=21373
Momiji:
That'd be it. I tried to convert that into an actual patch file for use with my Gentoo ebuild, and managed to get it working, but it doesn't seem to have any affect on SWR and IaMP. So I'm still messing around with it.
[Edit] Looks like there's been some changes to d3dx9_36, I'm going to need to regenerate my patch.
Starks:
Without D3DXLoadSurfaceFromMemory from the new git commits, this old patch is worthless.