WineHQ

World Wine News

All the news that fits, we print.

05/16/2003
by Brian Vincent
Issue: 170

XML source
More Issues...

This is the 170th release of the Wine's kernel cousin publication. Its main goal is to inform you of what's going on around Wine (the Un*x Windows emulator).


This week, 182 posts consumed 611 K. There were 56 different contributors. 31 (55%) posted more than once. 30 (53%) posted last week too.

The top 5 posters of the week were:

  1. 19 posts in 56K by Dimitrie O. Paun
  2. 17 posts in 40K by Lionel Ulmer
  3. 16 posts in 55K by Raphael Junqueira
  4. 15 posts in 33K by Alexandre Julliard
  5. 10 posts in 26K by Mike Hearn

News: TransGaming Poll Update, SpyHunter Port, More on FoxPro 05/10/2003 Archive
News

TransGaming updated their polls and opened voting for May. What's significant is the removal of some topics:

April's polling section has now been closed and the new votes for May are up. Check out the topics at in our voting section .

We have made sufficient progress with WineX 3.0 and Point2Play that the following poll topics have been removed:

  • Better support for InstallShield
  • Separate installation sites for each game (this is a primary feature of Point2Play)
  • Improved support for copy protected games

TransGaming issued a press release announcing a port of SpyHunter . What's not clear is if Wine had anything to do with it. Aspyr's web site describes the game as being offered only for Windows 2000/XP or Mac OS X.

Linux Journal published an addendum to an earlier story about a Visual FoxPro developer who was prevented from giving a demo to a user group. Microsoft responded with vague wording suggesting end users look elsewhere concerning the legality of running Visual FoxPro with Wine, you should seek your own legal counsel's advice when interpreting your rights and obligations under the Visual FoxPro End User License Agreement. One lawyer did just that and posted his interpretation . Microsoft's position is ambiguous at best, but with army of lawyers it doesn't need to be any clearer.

More intriguing is Linux Journal's assertion that Microsoft wants to get rid of Visual FoxPro because it's so cheap to develop for. SQL Server is a cash cow comparatively speaking and presumably would want to throw their weight behind development environments that use it. This has led developers to look towards Visual FoxPro for cost savings.

At some point I mentioned there would be an interview every week on WineHQ. So far I've managed to miss deadline for the past month. I'm still shooting for Tuesday releases, now it's going to be every two weeks though.


Direct3D Status 05/13/2003 Archive
Fixes

There's been a ton of Direct3D work over the past week, in part to a public transportation strike . Most of it has already been committed to CVS too. Jason Edmeades wrote in to let everyone know Warcraft3 is working with regular old Wine:

FYI With the attached patch on top of the wine cvs tree, a no-cd install (requires native msvcrt until I fix the 'thiscall' issue) and running 'wine war3' warcraft 3 now appears to be pretty much right!!! (No more screen distortion / misplaced faces etc).

Thanks to everyone who has helped get this far, especially Raphael and Lucho.

Warcraft 3 came out last year and has been one of the top selling video games since then.

Erwin Wolff wrote to report Grand Theft Auto 3 is partially working with the latest updates:

I tested GTA3 again, but this time with the latest cvs. GTA3 runs much faster now and produces only one error:

    fixme:d3d:IDirect3DDevice8Impl_SetCurrentTexturePalette (0x402fc60) : stub

Again, no in-game textures are being shown, only polygons and colors. The only texture that is being shown is the title of the game in the game menu.

Raphael Junqueira, one of the D3D 8 authors, replied that he might be able to get some texture support working for it. Lionel Ulmer gave him a pointer to some D3D 7 GL code that could be adapted.

Jason wrote in with another update later in the week, this time concerning Max Payne, With this fix MayPayne is starting to be playable. Looks fine as long as you don't change weapon (Fancy doing it all with the pistol?). You have to wait with a black screen during some of the movie sections though. A few hours later he had more problems fixed, including being able to change weapons, and announced, Aside from no movies and no sound May Payne looks quite good. I also checked my changes didn't break warcraft3 either, so we now at least have 2 games which are playable. PS: Don't expect much more from me for a while now - Busy playing games...

Late in the week Mike McCormack submitted a patch to delay loading of OpenGL till runtime, noting, This patch binds opengl at runtime, so we can build binaries with OpenGL enabled and still use some parts of ddraw on systems without OpenGL. Lionel Ulmer requested that Alexandre not apply the large patch. The eventual goal will be to write a common D3D core that will provide a similar functionality, Basically, we will have a d3dcore library linked to OpenGL and if DDraw fails to load it (for example if GL is not present on the system), DDraw will not support D3D.


Lotus Notes Breakage 05/10/2003 Archive
Fixes

Joe Squire reported a problem running Lotus Notes and asked for help:

I had been running wine on 7.2 with Lotus Notes 5.0.11 successfully. I made the unfortunate discovery about RH9 and threads and wine a little too late after upgrading to RH9. I will be more careful next time...

Anyways, I downloaded the source (2003-05-08), and managed to configure with --with-nptl

But I ran into a problem that has already been reported at (thank you google)

(the issue was unresolved. Kevin rolled back to a previous wine source from 5/1/2003). As with that post, there had been no changes to the install in the wine directory. The Lotus Notes splash screen comes up. The background for Notes itself comes up. The password box appears, and the error happens when I punch in the password and hit OK.

Uwe Bonnes recognized the problem and described it, it boiled down that Andi added a lot of functions in the user32 spec file, with no implementation provided. These functions are mostly only implemented in recent windows version, and Notes has to cope with these functions not available. But as we added them in the spec file, this request will be granted, but later fails when this function should be executed.

Mike Hearn wondered if maybe the functions should be commented out in the spec file until they're implemented. Michael Stefaniuc pointed out that Alexandre had very recently supplied that exact fix.

So, if you're using Lotus Notes and you ran into some problems recently give the latest CVS a try. Instructions for getting Wine from CVS can be found at WineHQ.


NPTL Auto Detection & RH9 Packages 05/09/2003 Archive
Integration

More discussion of the recent threading changes appeared on wine-devel this week. Alexandre once mentioned that he'd like to make the use of NPTL-style threads detectable at runtime. Currently you have to do it when you compile by supplying configure with the "--with-nptl " option. When it came up again this week Alexandre mentioned that CrossOver Office 2.0 used a really ugly hack that wouldn't be included in the LGPL'ed Wine tree, it's two sets of libraries and a script that tweaks LD_LIBRARY_PATH etc.

Mike Hearn wanted to know if it would be ok to submit a temporary fix that makes configure detect which threading library is in use. Alexandre pointed out a problem with that though, Well, you can detect the lib in use at compile time but that isn't necessarily what will be used at run time, things like changing the kernel or even simply setting LD_ASSUME_KERNEL differently will break it. So I'm not convinced it's really more reliable. The real problem IMO is that we don't have NPTL rpm packages.

Mike pointed out that RPM's do exist, We do, over at newrpms.sunsite.dk iirc, the biggest problems being that I think they depend on ALSA (not sure why) and that nobody knows about them unless they visit IRC. Plus they are for RedHat only (but really it's mostly RedHat users with the problems).

Dimi Paun wanted to add them to the SourceForge repository , but wasn't sure how well the RPM's were packaged. Vincent Beron, the RedHat RPM packager, thought they were ok since they were derived from his RH8 packages. Because of hardware problems it would be a while before he could create the RH 9 ones himself.


RPC Documentation Update 05/09/2003 Archive

A few months ago Jeremy White put together a PayPal fund to purchase some RPC docs. We covered this back in issue #156 . Greg Turner wrote the list about the status of getting that documentation:

My apologies for not announcing this sooner, but it seems that the DCE RPC documentation package, which many of you kindly donated funds for, is a no-go. I've spent some time researching what, if anything, we need from OpenGroup, and unfortunately, I've never been able to get a coherent answer, even from OpenGroup's sales people.

Part of the problem seems to be that the DCE standard is "discontinued" by OpenGroup as a project. We wouldn't care if we knew what documents had relevance to wine. But it turns out that DCE covers a lot more than just RPC, most of which is not of interest to wine's RPC implementation. The RPC part of the standard, as far as I can tell, is freely available for download, including the fascinating "DCOM/ActiveX" standard (which refers to a separate ORPC standards document I have been unable to find, I'm afraid, to document the ORPC wire protocol :(; btw, I think Microsoft let their similar document fall of the 'net as well, you'll see links to it in various places... but I digress....)

So, insofar as I have questions about whether or not there's anything useful in there, OpenGroup's sales lady is unable to help -- she don't even seem able to give me the information that's available on the website, much less elaborate on it. That leaves me with no choice but to guess what is useful based on the information available to me: which seems to indicate that we don't need anything we can't get for free from OpenGroup.

So, the obvious question is, where does everyone's hard-earned money go? I've confirmed with Jeremy that refunds are an option; if you want your money back, let Jeremy know, and presumably he will make arrangements with you in private to get your money returned.

For those of you who would rather have your donations go to some other wine-releated cause, the matter is open for discussion. One idea which has been tossed around in private discussions between myself, Jeremy and Dimi is to rededictae these funds to the Wine Party Fund or some other wine conference fund. Another would be to find some other documentation we need to buy and use it for that. But, it's your money, and since every contributor essentially has veto power over their own portion of the funds, we obviously want to build some kind of consensus.

Sorry it took me so long to break this news, I spend a fair amount of time trying to salvage the original plan to buy the DCE doc's but it just didn't seem right to spend it on something which potentially has no value to wine... and then the guilt and procrastination set in... ;) Thanks for your patience on this matter.

Everyone who responded seemed fine with letting the donations be used for another purpose in the future.


Valgrinding Wine 05/12/2003 Archive
Debugging

Adam Gundy wrote in with another announcement for running Wine with Valgrind:

For all you developers out there who haven't tried valgrinding WINE yet (it's fun - honest!) there is now a pre-patched tarball of the latest valgrind 1.9.6 for WINE available from the valgrind website:

no patching needed to WINE or valgrind. Just get the latest snapshot of WINE (or a CVS checkout), build for debugging, get the pre-patched valgrind and use it!

there are still plenty of bugs in WINE which need fixing - most are simple 1 line edits..


Separating 16/32 Bit OLE Functions 05/15/2003 Archive
Architecture

Steven Edwards started splitting out some functions in OLE and OLE32. He gave an update of what he's trying to do and some of the issues involved:

I am doing some work trying to separate Ole* and Ole32 for use in ReactOS. Before we can make use of most of the WINE code all of the Non-Win32api imported functions are going to need to be compiled out or rewitten. I don't need someone to do this for me but I am going to need a little hand-holding as I don't want to waste my or anyone else's time.

Currentlly Ole32 Imports these non-Win32api functions:

  • From GDI32.dll
    • CloseMetaFile16
  • From Kernel32.dll
    • FreeLibrary16
    • GetCurrentTask
    • GetModuleHandle16
    • GetProcAddress16
    • GlobalAlloc16
    • GlobalFree16
    • GlobalLock16
    • GlobalReAlloc16
    • GlobalSize16
    • GlobalUnlock16
    • K32WOWCallback16Ex
    • K32WOWGlobalAllocLock16
    • K32WOWGlobalUnlockFree16
    • LoadLibrary16
    • LockResource16
    • MapLS
    • UnMapLS

Anywhere here is the first patch that removes a few of these imports if --disable-win16 is passed to configure. I still have a lot to go and this may need some cleanup/review from a OLE guru on Linux but it builds for me without warnings or errors under Mingw.

Changelog: Separate Win16 and Win32 Ole support in memlockbytes.


Improving Exception Handling 05/12/2003 Archive
Fixes

For several weeks Greg Turner has been struggling with getting some exception handling to work. Ulrich Weigand asked Greg for a description of exactly what he was trying to accomplish. Greg described the problem:

Well, you are probably going to laugh, but now that we are using some MIDL-generated code, I'm racking my brains on how to improve the exception handling macro's built into wine. The MIDL-generated code utilizes the typical Microsoftian (Borlandian?) try { } except(bool expr) { } / try { } finally { } construct.

Possible goals are:

  • achieve real "SEH"-style syntax, that is, no bloody __ENDTRY macro.
  • fix "break"
  • fix "return" from try/finally blocks.

Now here comes the part that will make you laugh: I'm supposed to do all this without patching gcc, using c++, or doing anything nonportable. In reality, an x86-specific solution that really worked would probably cut the mustard, IMO, at least as a starting point for cross-platform support.

I made some proof-of-concept patches which use the existing wine macros and various gcc-ism's to achieve some of these goals (they are not "right", of course). I had given up on it, or at least put it on the back burner, but Ove's recent DCOM patches inspired me to continue bashing my head against the wall...

Anyhow, I'll take a look at the dwarf2 goodies, maybe I'll decide that it's do-able, but more trouble than its worth... either way, I intend to make some kind of patch out of this whole investigation, as I am pretty darn sure I can at least fix one of the forementioned deficiencies, maybe even two, without making any major sacrifices.

If I'm lucky, I will stumble upon a solution to all three, but I'm kind of learning some of this (OK, all of it ;) ) as I go, and somewhat skeptical of my chances...

Knowing you, Dr. Weigand, you probably instantly know how to achieve this, so don't worry about spoiling the fun, you can go ahead and tell us ;)

After more head bashing, Greg came up with something and requested some comments on it:

Implement gcc-specific "__TYPED_TRY" macro supposedly capable of intercepting return and running the finally clause. If it compiles, it should work on x86... If it fails to compile, it needs you to specify the return type as in

    __TYPED_TRY(float) {
    } __FINALLY(func) {
    } __ENDTRY

Other arches may have much less success ;) of course, almost any problem of this kind should be fixed by turning __TRY into the appropriate __TYPED_TRY. __TRY generates warnings, some may be fixable.

For more details, look at the actual patch .

Alexandre thought the problem required approaching it from a different angle:

Cool! now you can start considering how to support continue , break , and goto ;-)

(I don't want to discourage you, but I think you will eventually come to realize that the only way to make this work right is to do it in the compiler)


SourceForge Download Stats 05/15/2003 Archive
Project Management

Wow. A lot of you use Wine. Then again, you're reading this so you better have some sort of interest. Dimi wrote in with some stats concerning downloads:

For the first time we are in the first 30 downloads (position 29 :)) on SourceForge:

We need to make it to the fist 10, so we are always featured on the front page :) But we need to more than quadruple our downloads to achieve that. Alexandre, I think you need to release more often ;)

Tracking such stats is a good reason to use SourceForge for downloads. In no way should those numbers be representative of the number of how much Wine is used (and the same goes for every other project on SourceForge). Lots of people use Wine directly out of CVS, others stick with an older release because it works, and many download from other locations. It is good to see such a high ranking considering how relatively recent it's been that SourceForge hosts Wine downloads.


All Kernel Cousin issues and summaries are copyright their original authors, and distributed under the terms of the
GNU General Public License, version 2.0.