Table Of Contents
|1.||15�May�2004�-�21�May�2004||(1 post)||News: Interview With Jeremy White|
|2.||18�May�2004�-�19�May�2004||(2 posts)||New Janitorial Projects|
|3.||19�May�2004�-�20�May�2004||(5 posts)||Wine & Fedora Core 2 Workaround|
|4.||19�May�2004�-�20�May�2004||(3 posts)||Unreal 2 Working|
|5.||18�May�2004||(6 posts)||Direct3D Retained Mode|
|6.||16�May�2004||(3 posts)||Hiding Symbols (con't)|
This is the 223rd issue of the Wine Weekly News publication. Its main goal is to forget the sunscreen and get a tan. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix. Think of it as a Windows compatibility layer. Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available. You can find more info at www.winehq.org (http://www.winehq.org)
Mailing List Stats For This Week
We looked at 106 posts in 482K.
There were 50 different contributors. 25 posted more than once. 29 posted last week too.
The top posters of the week were:
1. News: Interview With Jeremy White
15�May�2004�-�21�May�2004 (1 post) Archive Link: "News"
People: ,�Jeremy White,�News
Slashdot posted the interview of Jeremy White (http://interviews.slashdot.org/article.pl?sid=04/05/17/0057241&mode=thread) by the Slashdot community. Jeremy talks about everything from licensing to selecting products to support.
2. New Janitorial Projects
18�May�2004�-�19�May�2004 (2 posts) Archive Link: "some ideas for new janitorial projects"
Topics: Build Process
People: Eric Pouech,�Francois Gouget,�
Eric Pouech had some ideas for some new janitorial tasks. For someone just wanting to get started with Wine these would be great - they only require a bit of knowledge of C:
I've been toying with some gcc warnings lately, and this could generate some new ideas for janitorial tasks. For example:
Some others warnings could be used as well. Trying also the Intel compiler gave lots of interesting warnings (and a tons of not so usefull too).
Francois Gouget had some ideas too:
Here are a couple extra suggestions:
(the modified min/max macros where borrowed from a Linux kernel patch)
3. Wine & Fedora Core 2 Workaround
19�May�2004�-�20�May�2004 (5 posts) Archive Link: "Upcoming breakage warning"
People: Mike Hearn,�Marcus Meissner,�
Mike Hearn warned everyone of a problem that was likely to appear more and more:
On Fedora Core 2, the kernel is compiled with the 4G/4G VM split option enabled, which can prevent us from performing a correct emulation.
Win32 apps are apparently built with the assumption that they will not be allocated addresses beyond the 3G boundary. The solution therefore is to perform a similar trick to the preloader and reserve the address space before the emulation starts so mmap will never use addresses in that area.
This probably won't be combined with the preloader itself though, as Alexandre says it can be done after Wine gets control (what about DSOs mapped >3gig?) and so it can be done more portably. Up until now this issue has only affected Solaris and therefore nobody fixed it.
There is currently no known workaround for this problem short of recompiling your kernel. The error looks like this:
wine: unable to create process heap
Alexandre diagnosed this problem so I'm sure he'll correct me if this email contains any mistakes.
Digging deeper, Mike found a temporary solution the next day,
setarch i386 wine ....
(man setarch if you want to know more details)
Over the past year there's been a series of breakages caused by new distributions. Marcus Meissner speculated it was part of a larger plot, " Could it be that Redhat is trying to deliberately break WINE every half year ;) "
4. Unreal 2 Working
19�May�2004�-�20�May�2004 (3 posts) Archive Link: "[DMUSIC] Happy Happy :)"
People: Raphael Junqueira,�
DirectX guru, Rapha�l Junqueira, has been submitting some large DirectMusic patches lately. With the latest one this week we finally understand what's been motivating him:
I'm glad to announce that now (with this little patch) Unreal2 is working and playable (it's only slow and i havent seen graphics problems for now).
Now play :)
5. Direct3D Retained Mode
18�May�2004 (6 posts) Archive Link: "Re: Empty (Stubs in spec only) d3drm"
Topics: DirectX, Creating Stubs
People: Ivan Leo Murray-Smith,�Lionel Ulmer,�Raphael Junqueira,�
Ivan Leo Murray-Smith submitted a patch to add a stubbed implementation of d3drm.dll; the Direct3D Retained Mode API (http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnardxgen/html/msdn_dx5media.asp) :
This dll is needed by a game, bug report number 1202. With this empty dll, the game crashes at the same point where it crashes when used with the native copy, mainly because it crashes before any function in the dll is called. But at least it doesn't crash with a dll not found error. You'll have to run the autofoo stuff after applying this patch.
Lionel Ulmer thought the DLL should be disabled by forcing it to native though, " As far as I know, you did not submit also a patch to the default configuration file to add this DLL with 'native' as default (which is a good thing as all the people having a Windows box have this DLL - it could even be installed if someone manages to install DirectX under Wine). "
Ivan pointed out the native DLL didn't work, so that might not be a good idea. Rapha�l suggested "just" completing the stubbed DLL, " This dll should be easy to implement (almost geometries utilities functions as d3dx8/d3dx9 for d3d8/d3d9). It can be a beginning for people who want to begin patches for wine (as for d3dx8/d3dx9) :) "
Lionel explained his reasoning:
Well, my point was the same made about stubs in normal DLLs: why add a completely useless DLL which may break more things than actually help.
Or, when adding it, have it at least disabled by default.
As for its simplicity, from what I remember there are tricky stuff like Mesh builders, interpolations, ... Which are 'easy' in the sense it's pure geometrical stuff and not at all linked to Win32, but still something that needs at least a good knowledge in 3D geometry processing.
Rapha�l felt it might be a nice starting point just because little knowledge of Win32 is required. The geometry could all be tested with DirectX development kit demos. Lionel cautioned against spending much development time on it:
Well, D3DRM is so rarely used (in all my game demos I ever tested, only one actually used it) that it's something very difficult to do for no real gain to Wine.
But well, I do not object to someone working on it, I just object to the 'let's add an empty DLL to Wine' approach... If adding an empty DLL, it should at least have FIXME printed on each call (to know which calls are used) and, even better, to have the COM hierarchy implemented with stubs to see which calls are used in which interfaces.
Otherwise, it's no help to anyone.
6. Hiding Symbols (con't)
16�May�2004 (3 posts) Archive Link: "symbol hiding - with gcc -fvisibility"
Topics: Build Process
People: Guido Draheim,�Mike Hearn,�
Guido Draheim followed up this week on a thread we covered ( issue #222 (http://www.winehq.com/?issue=222#Hiding%20Symbols%20&%20PE%20vs.%20ELF) ) about hiding symbols:
sorry, just saw the note on WWN. I did hope that there would be someone to point to the gcc visibility stuff already - but it seems that people are more concerned to exchange their beliefs and politics rather showing off some engineering stuff.
it's not in the file format - it's in the tools.
The name ELF stands for Extensible Linker Format, it allows to invent all kind of new sections, and expand the symbol table with many interesting attributes that can be checked up by a toolchain. Well, "IF" the tools check for them.
Mike Hearn tried it out and reported success after stripping the resulting binaries.
Sharon And Joy
Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.