Table Of Contents
|1.||19�Jul�2003�-�25�Jul�2003||(4 posts)||News: Interview with Jon Griffiths, TransGaming Beta Program|
|2.||21�Jul�2003�-�22�Jul�2003||(5 posts)||Project List|
|3.||22�Jul�2003||(4 posts)||A GUID Generator|
|4.||23�Jul�2003||(4 posts)||Bitmaps in Resource Files|
|5.||22�Jul�2003||(5 posts)||Visual Sourcesafe Success|
|6.||21�Jul�2003�-�23�Jul�2003||(5 posts)||Configuring Native OLE DLL's|
|7.||22�Jul�2003�-�23�Jul�2003||(3 posts)||Terminal Emulation and stdout|
|8.||19�Jul�2003�-�20�Jul�2003||(12 posts)||Wine on Alpha Linux|
This is the 180th release of the weekly Wine Weekly News publication. Its main goal is to circumvent the proofreading process so that small grammatical errors will keep the reader attentive. It also serves 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 Wine 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.com (http://www.winehq.com)
Mailing List Stats For This Week
We looked at 240 posts in 771K.
There were 52 different contributors. 34 posted more than once. 37 posted last week too.
The top posters of the week were:
1. News: Interview with Jon Griffiths, TransGaming Beta Program
19�Jul�2003�-�25�Jul�2003 (4 posts) Archive Link: "News"
People: Transgaming,�Mike Hearn,�,�Jon Griffiths,�News,�TransGaming
Jon Griffiths (http://www.winehq.com/?interview=10) took a moment to answer some questions. That was our 10th interview with Wine developers. Previous ones can be found in the news archive (http://www.winehq.com/?news=archive) .
TransGaming announced June's voting results (http://www.transgaming.com/showthread.php?news=76) :
Here are June's top-ranked technology poll items:
And some of the top-ranked and top-voted games included:
Also announced was a new beta testing (http://www.transgaming.com/showthread.php?news=77) program:
Because many of you have requested it, TransGaming is launching a beta testing program this fall for its WineX and Point2Play technologies. This offer is available to TransGamers only. TransGaming's beta testers will be able to look under the hood at the newest features before anyone else; experience the thrill of the chase discovering and reporting bugs; and help develop what could have far-reaching benefits for TransGaming's other users.
Andi Mohr got mentioned on Slashdot for the work he's doing on TI ACX100 wireless (http://acx100.sourceforge.net/) drivers for Linux. Andi's name was linked to his WineHQ interview (http://www.winehq.com/?interview=6) . That interview was from a few months ago and at the time the driver was barely working. From the sounds of it there's been a lot of progress. Maybe he'll wrap that project up and get back to Wine ;)
There was a brief mention of Wine over at Independent.co.uk. Charles Arthur wrote an article about trying out Linux. Several people responded to his evaluation with tips for improving his experience. Among them, several people suggested (http://news.independent.co.uk/digital/features/story.jsp?story=424830) using Wine to interoperate with Windows apps.
I'd also like to point out that I didn't cover some threads about OLE / COM this week. Mike Hearn seems to be taking a crash course in OLE and there was a fair amount of traffic exchanged between the COM gurus. I didn't understand a lot of it so I just ignored the threads. If you enjoy that sort of masochistic stuff you'll find it all in the wine-devel archives (http://www.winehq.com/hypermail/wine-devel/) .
2. Project List
21�Jul�2003�-�22�Jul�2003 (5 posts) Archive Link: "which of these should I work on?"
Topics: Project Management
People: Jonathon Wilson,�,�ReactOS
It's been a while since we've posted a list of projects you could get involved with. For the most part that's due to the new janitorial (http://www.winehq.com/?page=janitorial) and fun projects (http://www.winehq.com/?page=fun_projects) pages on WineHQ. This week Jonathon Wilson wanted to start working on something and he posted his list asking for feedback:
After looking at all the things windows provides, I have identified the folowing possible programs that I could write for the wine project. Some of them are usefull for WINE itself and some of them might be usefull for (for example) ReactOS
Which of these should I work on? Which of these are usefull to Wine/ReactOS? Are any of these considered "a big beast" (as richedit was refered to by Dimitrie O. Paun?)
A few people wrote in to discourage working on anything that already exists in the open source community. Jonathon went ahead and started work on #4 and created a program that generated GUID's (see the thread below for details.) From there, Jonathon announced that he would begin work on a cards.dll. I volunteered to do some of the artwork.
3. A GUID Generator
22�Jul�2003 (4 posts) Archive Link: "new utillity for wine, genguid"
People: Jonathon Wilson,�Alexandre Julliard,�Steven Edwards,�,�Microsoft,�ReactOS
Jonathon Wilson wrote a utility to generate GUID (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemain4/html/cmconGUIDsUUIDs.asp) 's - globally unique identifiers. Microsoft actually ships a utility like this.
Basically, its a console app that will generate GUIDs using CoCreateGUID. All output is to STDOUT. Will return 1 if there is an error, 0 if there is success.
Ouput is in one of 5 formats:
The makefile and stuff were just copied from /programs/expand.
Alexandre looked it over and decided not to add it to Wine, " It looks good, but I'm not convinced we really need that in Wine, there are Unix tools that can generate UUIDs. "
However, Jonathon's effort wasn't wasted. Steven Edwards replied, " I will go ahead and merge this in to the ReactOS rosapps tree. "
4. Bitmaps in Resource Files
23�Jul�2003 (4 posts) Archive Link: "what is the 'correct' way to put a bitmap into a resource file?"
Topics: Graphics, Winelib
People: Jonathon Wilson,�Dimitrie Paun,�Mike Hearn,�
Jonathon Wilson asked a question that would be unfamiliar to most Unix developers, " I see that all the wine dlls put the bitmaps in the resource file directly... Whats the best way to do it for a 32 bit wine dll (in this case cards.dll) amd where can I find a program to do it for me?"
Dimi Paun replied with an example:
Try the tools/bin2res program. It's use is a bit unintuitive, but essentially you need to add some markers (in comments) in the .rc file.
Look for an example in:
search for BINRES.
Mike Hearn followed up with, " Out of interest, how do you go about writing GUIs using that stuff? I'm thinking of winecfg here, I can't see any gui definitions in the code, they seem to be loaded from dialog templates. Are there any free editors available?"
Dimi replied, " I don't know about free editors, but most people use the ones that come with MSVC, or Borland, etc. I use vim :)"
5. Visual Sourcesafe Success
22�Jul�2003 (5 posts) Archive Link: "Visual Sourcesafe works much better than last year..."
People: Dan Kegel,�,�Microsoft
Dan Kegel reported success with Microsoft's Visual Sourcesafe (http://msdn.microsoft.com/ssafe/) :
Last time I tried running Microsoft Visual Sourcesafe's gui tools under Wine (six months or a year ago), it had Z-ordering and/or visibility problems, and was only partially usable. Now those problems are all gone, and ssexp.exe is from what I can tell quite functional (if bloody slow over smbfs). It still doesn't update the journal with your changes, so the ss admin will think you're sneaking in changes by magic, but progress is progress. Kudos!
6. Configuring Native OLE DLL's
21�Jul�2003�-�23�Jul�2003 (5 posts) Archive Link: "Re: [resend] Ensure ole32.dll gets correct version number"
Topics: RPC / COM / OLE
People: Alexandre Julliard,�Mike Hearn,�,�Microsoft
Mike Hearn posted a patch that included some version definitions for ole32.dll. Alexandre commented on it, " Version 2.0 is awfully old for ole32.dll. Why do you need that? "
The primary motivation for this bugfix was to enable the DCOM98 installer to work again correctly. It requires at least < 4.something, otherwise it refuses to install. As our OLE framework isn't yet up to scratch for some tasks, being able to install it is important (hopefully once I finish digesting Oves work maybe it will be less important).
I suppose we could make it every so slightly below the version DCOM98 requires, but there are only so many versions, and if an app checks for the version shipped in the DCOM updates, it'd still be too low.
The real fix is just to get the DCOM infrastructure to the point where nobody needs to install Microsofts version anymore, but it's going to be a couple of months before I have this patch in a form suitable for submission I suspect (unless Ove decides to beat me to it).
Alexandre didn't think it was the proper solution for that and suggested, " You may be able to install it by playing with the load order (i.e. set ole32 to native only). Having a bogus version in the builtin is going to force everybody to install the native, which is not what we want. "
Mike tried that and discovered it worked:
grrrr, yes you are quite right, setting ole32=n does force it to install. I wish I'd thought of that :/
So, I attached a patch to add this case to the sample configuration, as it seems non-obvious (and quite a lot of end user queries are related to this).
The relevant parts of Mike's patch (http://www.winehq.com/hypermail/wine-devel/2003/07/att-0579/01-sampleconfig.patch__charset_UTF-8) were:
+; force it to install even though wine has a newer version
+"ole32" = "native"
+"ole32" = "native"
7. Terminal Emulation and stdout
22�Jul�2003�-�23�Jul�2003 (3 posts) Archive Link: "can't redirect stdout?!"
People: Dan Kegel,�Bill Medland,�
If you haven't run into a problem with terminal emulation you haven't used Unix or Linux enough. Thankfully, there's now a surplus of real terminals and smashing them with a baseball bat does wonders to relieve frustration. Dan Kegel wrote to wine-devel:
OK, so with the normal X11 driver, you can no longer redirect stdout from commandline apps under Wine; the output just vanishes if you try to send it to a file.
That's rather unacceptable dain bramage, if you ask me.
Bill Medland poked around and reported some test results, " Even with the ttydrv stdout disappears and cannot be redirected. Except it depends upon the terminal!!! Under a real terminal (whatever you want to call it; what I get when I press Ctrl+Alt+F1 and log in) it is OK. I have just discovered that under a true xterm it is OK. However it disappears under whatever virtual terminal KDE gives you. "I sure miss the days of being a sys admin and mucking around with termcap entries. Just kidding. I don't.
8. Wine on Alpha Linux
19�Jul�2003�-�20�Jul�2003 (12 posts) Archive Link: "Warning on Alpha Linux"
People: Steven Edwards,�Vincent Beron,�Todd Vierling,�Dmitry Timoshkov,�,�ReactOS
Steven Edwards started playing with Wine on an Alpha and began running into obstacles. First he reported:
On just about every file that is built we are getting this warrning. This is the most minor problem we have with the alpha build but I couldnt figure it out.
../../include/wine/debug.h: In function `wine_dbgstr_guid':
../../include/wine/debug.h:152: warning: cast from pointer to integer of different size
../../include/wine/debug.h:152: warning: cast from pointer to integer of different size
This system is a Alpha AXP 21164.
Vincent Beron diagnosed it:
That's an easy one. On an Alpha, sizeof(int) != sizeof(foo *).
gcc is kind enough to warn you about this potentially nasty situation, although in these particular cases I don't see how putting the pointer in something larger will create a problem.
Still, fixing the warning would be a good idea as there's probably a whole lot of lines passing by at compilation.
Todd Vierling clarified that by pointing out, " sizeof(int) == 4; sizeof(void *) == 8."
He also suggested casting to intptr_t or, if not available, defining intptr_t it as an unsigned long. Dmitry Timoshkov pointed out another way to make casts, " In Wine we have to use UINT_PTR, ULONG_PTR, DWORD_PTR for casting pointer to an integer type. These macros have correct behaviour on Win32 and Win64. " He added, " In that case Wine needs to be compiled with _WIN64 macro defined. In that case WPARAM and LPARAM will have correct size as well. But be warned that compiling for Win64 is a completely unexplored terrain. "
Steven wrote back with more details on the system, " Its gcc on RH 7.1 for Alpha. On a Dec PWS 500 workstation. I dont know anything about Alpha asm so I cannot implement the interlocked* functions or the import and spec support in winebuild so I have just stubbed it for now. The other issues I am having is with compiling resources. WRC doesnot work proplerly on Alpha and I dont know why."
And in another email added, " I have this Alpha that HP loaned us for ReactOS but I have never been able to build a current gcc/binutils that build for a alpha-pe target. I figure while I still have it then I will work on getting WINE working. Anyone know AXP assembly interested in helping with the port? I will put it on the net with SSH if anyone wants to play with it. "
As a side note, I used to own 21164 and it was rockin' system. Unfortunately it seems Alpha based systems are slowly meeting their demise.
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.