wine-kthread

Jan Henrik Sylvester me at janh.de
Sun Jun 15 15:05:51 UTC 2008


I have got two questions about wine-kthread, one about the future of 
that patch and one about a current issue I got.

1. The need for wine-kthread:

wine-kthread was removed from the port with 0.9.45 as the pthread 
version was supposed to "be better by now". For me, the popular game 
Warcraft 3 would not work without wine-kthread and it still segfaults 
immediately with wine(-pthread) as of 1.0.r4. (The German bsdforen wiki 
still recommends wine-kthread for quite a few games. I do not know if 
that is outdated.)

In a long email exchange, Tijl Coosemans was extremely helpful analyzing 
the problem and explaining to me the underlying issues. (Thanks again!) 
The result was the patch-kthread to be found on the wiki. The patch 
actually changes two things: (a) Reintroduce wine-kthread as it seems to 
be needed. (b) Move wine from 0x7bf00400 to 0x81000400 as dri needs more 
heap for Warcraft 3 on certain occasions than is available with the 
standard base address. (I could reproducibly crash it with certain 
larger maps.)

Tijl told me that at least the second issue would be fixed with FreeBSD 
7, but my later testing at the time of 7.0-BETA4 indicated that this was 
not the case. Maybe it was just my failure to separate the correct part 
of the patch.

Tijl did post on wine-devel about the problem: 
http://www.winehq.org/pipermail/wine-devel/2007-September/059426.html 
The only reply does not sound promising to me with my limited 
understanding of the underlying issue.

Since it would probably break other application, Tijl wold me the the 
patch could not go back to the port. (See below: I found the first one 
myself that is affected.) Since FreeBSD 7 might have been able to help, 
the issue was postponed.

2. My current issue:

As I tried to fix a problem with an old application I wrote with ancient 
Borland C++Builder 4, I tried to make BCB4 run using wine. BCB4 fails 
linking a project as long as wine is compiled with patch-kthread -- no 
matter if I start it with wine-ktread or wine(-pthread). The problem 
might be the 0x8 address: "Cannot reserve virtual memory at addr 
90000000 for 33554432 bytes" -- I could provide more details, but I 
guess they are not needed. For the same project (a component needed for 
my application), linking works without patch-kthread.

3. The future of wine-kthread:

(a) Would it be possible to build a wine version with wine-kthread at 
0x81 and wine(-pthread) at 0x7b?
(b) Is there a future for wine-kthread in the FreeBSD port, maybe as an 
OPTION?
(c) Should the heap issue be solvable on FreeBSD 7?

With (a), my current problem would be solved for the moment. I tried to 
analyze which files are affected by patch-kthread to be able to switch 
around and make building both versions easier, but since there seem to 
be quite a few files in the wine package that change with every 
recompile, I am not sure if I found the correct ones. My guess is that 
nothing outside loader/ is affected during build and only bin/wine, 
bin/wine-pthread, and bin/wine-kthread are affected for the package.

Currently, (b) would only help me a little, since I use two more wine 
patches solving issues with Warcraft 3 network (same for others on 
Linux) and opengl (probably specific to my graphic chipset), but I hope 
these regressions will eventually get fixed in wine. (I did test the 
kthread issues to exist without further patches, too.) Anyhow, since the 
wine port recently got OPTIONS...

Of course, (c) is the major point. It would be so much nicer not to have 
patches anymore, especially since they could become incompatible at any 
time.

I repeated most of my earlier tests on wine-1.0.r4 with same results. 
Looking at the changes, 1.0.r5 should not change anything, but I could 
try again.

I depend neither on Warcraft 3 nor on BCB4, thus the issue is not 
extremely high priority for me. Anyhow, I am interested in fixing it, 
but unfortunately my understanding of the issue is too limited to really 
try to fix it myself.

Of course, I can provide more details, but this email already got too 
long and maybe they are not needed.

Thanks in advance for any help,
Jan Henrik


More information about the freebsd-emulation mailing list