WWN: wn20030725_180.xml

Brian Vincent vinn at theshell.com
Thu Jul 24 22:00:04 CDT 2003


 wn20030725_180.xml

Happy (belated) Birthday, Zack.

-brian
-------------- next part --------------
<?xml version="1.0" ?>
<kc>

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="180" date="07/25/2003" />
<intro> <p>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 <a href="http://www.winehq.com">www.winehq.com</a></p> </intro>
<stats posts="240" size="771" contrib="52" multiples="34" lastweek="37">

<person posts="32" size="90" who="Mike Hearn" />
<person posts="30" size="72" who="Alexandre Julliard" />
<person posts="18" size="42" who="Dimitrie O. Paun" />
<person posts="17" size="39" who="Jonathan Wilson" />
<person posts="13" size="55" who="Steven Edwards" />
<person posts="12" size="40" who="Dmitry Timoshkov" />
<person posts="7" size="35" who="dd jj" />
<person posts="7" size="23" who="Vincent B&#233;ron" />
<person posts="7" size="23" who="Ove Kaaven" />
<person posts="7" size="18" who="Todd Vierling" />
<person posts="6" size="19" who="Jon Bright" />
<person posts="5" size="18" who="Gregory M. Turner" />
<person posts="5" size="16" who="Shachar Shemesh" />
<person posts="5" size="14" who="Robert Shearman" />
<person posts="4" size="19" who="Francois Gouget" />
<person posts="4" size="11" who="Troy Rollo" />
<person posts="4" size="9" who="Dustin Navea" />
<person posts="3" size="10" who="Brian Vincent" />
<person posts="3" size="9" who="Pierre d'Herbemont" />
<person posts="3" size="7" who="Dan Kegel" />
<person posts="3" size="7" who="Kelly Leahy" />
<person posts="3" size="7" who="Marcus Meissner" />
<person posts="3" size="7" who="Tom" />
<person posts="3" size="5" who="E Lea" />
<person posts="2" size="51" who="Mike McCormack" />
<person posts="2" size="29" who="Michael G&#252;nnewig" />
<person posts="2" size="6" who="Alex Pasadyn" />
<person posts="2" size="6" who="ahmed hafez" />
<person posts="2" size="6" who="Uwe Bonnes" />
<person posts="2" size="5" who="Jeff Smith" />
<person posts="2" size="4" who="Eric Pouech" />
<person posts="2" size="4" who="Saulius Krasuckas" />
<person posts="2" size="4" who="BiGgUn" />
<person posts="1" size="3" who="Stefan Leichter" />
<person posts="1" size="3" who="Lionel Ulmer" />
<person posts="1" size="3" who="Vitaliy Margolen" />
<person posts="1" size="3" who="Michael Stefaniuc" />
<person posts="1" size="3" who="Joel Carr" />
<person posts="1" size="3" who="OverrideX" />
<person posts="1" size="2" who="Bill Medland" />
<person posts="1" size="2" who="Sylvain Petreolle" />
<person posts="1" size="2" who="Stefan Jones" />
<person posts="1" size="2" who="Dan Timis" />
<person posts="1" size="2" who="Boaz Harrosh" />
<person posts="1" size="2" who="Rein Klazes" />
<person posts="1" size="2" who="Christoph Frick" />
<person posts="1" size="1" who="Jon Griffiths" />
<person posts="1" size="1" who="Jakob Eriksson" />
<person posts="1" size="1" who="Omer Sahin \(Link Bilgisayar\)" />
<person posts="1" size="1" who="Johan Gill" />

</stats>
<section 
	title="News: Interview with Jon Griffiths, TransGaming Beta Program"
	subject="News"
	archive="http://www.winehq.com/?interview=10" 
	posts="4"
	startdate="07/19/2003"
	enddate="07/25/2003"
>
<topic>News</topic>
<p>
 <a href="http://www.winehq.com/?interview=10">Jon Griffiths</a>
  took a moment to answer some questions.  That was our 10th interview
  with Wine developers.  Previous ones can be found in the 
  <a href="http://www.winehq.com/?news=archive">news archive</a>.
</p>
<p>TransGaming announced 
<a href="http://www.transgaming.com/showthread.php?news=76">June's 
voting results</a>:</p>
<quote who="Transgaming"><p>
Here are June's top-ranked technology poll items: 
<ul>
 <li>DirectX 8 Support: Direct3D  </li>
 <li>Improve overall sound support </li> 
 <li>Improve 3D performance  </li>
 <li>Windows Installer Support  </li>
 <li>Support Older Games  </li>
 <li>Optimize WineX's memory utilization </li></ul></p><p>

And some of the top-ranked and top-voted games included: 
<ul>
 <li>Battlefield 1942  </li>
 <li>Grand Theft Auto: Vice City  </li>
 <li>Elder Scrolls III: Morrowind  </li>
 <li>Command and Conquer: Generals  </li>
 <li>DeusEx  </li>
 <li>Enter the Matrix </li></ul></p></quote>

<p>Also announced was a 
<a href="http://www.transgaming.com/showthread.php?news=77">new
beta testing</a> program:</p>
<quote who="Transgaming"><p>
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. </p></quote>



<p>Andi Mohr got mentioned on Slashdot for the work he's doing on
<a href="http://acx100.sourceforge.net/">TI ACX100 wireless</a> drivers
for Linux.  Andi's name was linked to his 
<a href="http://www.winehq.com/?interview=6">WineHQ interview</a>.  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 ;) </p>

<p>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
<a href="http://news.independent.co.uk/digital/features/story.jsp?story=424830">
suggested</a> using Wine to interoperate with Windows apps.  
</p>
<p>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 
<a href="http://www.winehq.com/hypermail/wine-devel/">wine-devel archives</a>.</p>
</section><section 
	title="Project List" 
	subject="which of these should I work on?"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0505.html" 
	posts="5"
	startdate="07//2003"
	enddate="07//2003"
>
<topic>Project Management</topic>
<p>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 <a href="http://www.winehq.com/?page=janitorial">janitorial</a>
and <a href="http://www.winehq.com/?page=fun_projects">fun projects</a>
pages on WineHQ.  This week Jonathon Wilson wanted to start working on
something and he posted his list asking for feedback:</p>
<quote who="Jonathon Wilson"><p>
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
</p><p>
Things:
<ol>
<li>improve comdlg32.dll, implement stuff added in WINVER&gt;=0x500 like 
PrintDlgEx and generally make comdlg32.dll behave more like the windows 
counterpart (implement a few other things as well, like some of the 
currently stubbed out items).</li>
<li>work on wine notepad. Wont do this until the changes refered to before 
are merged.</li>
<li>write a clone of fontview.exe (windows font sample viewer). This is 
probobly not usefull for WINE but might be usefull for ReactOS, plus it 
would be a good excercise in windows GDI programming.</li>
<li>write clones of guidgen.exe and/or uuidgen.exe, 2 different windows SDK 
tools for generating GUIDs/UUIDs. (if we are providing an IDL compiler and 
other such OLE-esque things, having a GUID/UUID generator is probobly a 
good thing to have, mainly it is just a stub around a call to CoCreateGUID</li>
<li>write a clone of rebase.exe, a win32 PE image rebasing tool. Probobly not 
usefull to WINE but might be helpfull for ReactOS development, dont know.</li>
<li>writing a clone of the cards.dll used by the windows card games. Only 
problem here is that I would need to find a sutably licenced set of card 
images since I dont have the skills to draw them myself :)</li>
<li>writing a clone of the card games (solitare,freecell etc) included with 
windows to use said cards.dll (hey, we have WineMine...)</li>
<li>writing a character map applet (basically a clone of charmap.exe). Dont 
know if WINE needs this but ReactOS probobly does (how else are you going 
to insert all those fancy foreign language characters and dingbats? :)</li>
<li>writing a calculaor app (i.e. a calc.exe clone), again dont know if WINE 
needs one but ReactOS might...</li>
<li>writing a clone of the Win32 volume control applet. Dont think WINE 
needs this (since the linux sound API has one already) but ReactOS might...</li>
</ol></p><p>
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?)
</p></quote>

<p>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.  </p>

</section><section 
	title="A GUID Generator" 
	subject="new utillity for wine, genguid"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0260.html" 
	posts="4"
	startdate="07/22/2003"
>
<topic>Utilities</topic>
<p>Jonathon Wilson wrote a utility to generate 
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemain4/html/cmconGUIDsUUIDs.asp">GUID</a>'s
- globally unique identifiers.  Microsoft actually ships a utility like this.</p>

<quote who="Jonathon Wilson"><p>
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.
</p><p>
Ouput is in one of 5 formats:
<ol>
<li>IMPLEMENT_OLECREATE macro definition</li>
<li>DEFINE_GUID macro definition</li>
<li>static const GUID definition</li>
<li>registry format {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}</li>
<li>uuidgen.exe output format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</li>
</ol></p><p>
The makefile and stuff were just copied from /programs/expand.
</p></quote>

<p>Alexandre looked it over and decided not to add it to Wine,
<quote who="Alexandre Julliard">
It looks good, but I'm not convinced we really need that in Wine,
there are Unix tools that can generate UUIDs.
</quote></p>

<p>However, Jonathon's effort wasn't wasted.  Steven Edwards
replied,
<quote who="Steven Edwards">
I will go ahead and merge this in to the ReactOS rosapps tree.
</quote></p>

</section>
<section 
	title="Bitmaps in Resource Files" 
	subject="what is the 'correct' way to put a bitmap into a resource file?"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0584.html" 
	posts="4"
	startdate="07/23/2003"
>
<topic>Graphics</topic>
<topic>Winelib</topic>
<p>Jonathon Wilson asked a question that would be unfamiliar to
most Unix developers, <quote who="Jonathon Wilson">
  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?</quote></p>

<p>Dimi Paun replied with an example:</p>
<quote who="Dimitrie Paun"><p>
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.
</p><p>
Look for an example in:
<ul><a href="http://cvs.winehq.com/cvsweb/wine/programs/winecfg/winecfg.rc?rev=1.3&amp;content-type=text/x-cvsweb-markup">
	./programs/winecfg/winecfg.rc</a></ul>
</p><p>
search for BINRES.</p></quote>

<p>Mike Hearn followed up with,
<quote who="Mike Hearn">
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?</quote></p>

<p>Dimi replied,
<quote who="Dimitrie Paun">
I don't know about free editors, but most people use the ones that come
with MSVC, or Borland, etc. I use vim :)</quote></p>

</section><section 
	title="Visual Sourcesafe Success" 
	subject="Visual Sourcesafe works much better than last year..."
	archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0568.html" 
	posts="5"
	startdate="07/22/2003"
>
<topic></topic>
<p>Dan Kegel reported success with Microsoft's
<a href="http://msdn.microsoft.com/ssafe/">Visual Sourcesafe</a>:</p>
<quote who="Dan Kegel"><p>
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!
</p></quote>


</section><section 
	title="Configuring Native OLE DLL's" 
	subject="Re: [resend] Ensure ole32.dll gets correct version number"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0523.html" 
	posts="5"
	startdate="07/21/2003"
	enddate="07/23/2003"
>
<topic>RPC / COM / OLE</topic>
<p>Mike Hearn posted a patch that included some version definitions
for ole32.dll.  Alexandre commented on it,
<quote who="Alexandre Julliard">
 Version 2.0 is awfully old for ole32.dll. Why do you need that?
</quote></p>

<p>Mike explained:</p>
<quote who="Mike Hearn"><p>
The primary motivation for this bugfix was to enable the DCOM98
installer to work again correctly. It requires at least &lt; 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).
</p><p>
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.
</p><p>
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).
</p></quote>

<p>Alexandre didn't think it was the proper solution for that and
suggested,
<quote who="Alexandre Julliard">
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.
</quote></p>

<p>Mike tried that and discovered it worked:</p>
<quote who="Mike Hearn"><p>
grrrr, yes you are quite right, setting ole32=n does force it to
install. I wish I'd thought of that :/ 
</p><p>
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).
</p></quote>

<p>The relevant parts of 
<a href="http://www.winehq.com/hypermail/wine-devel/2003/07/att-0579/01-sampleconfig.patch__charset_UTF-8">Mike's
patch</a> were:</p>
<quote who="Mike Hearn"><p><code>
+; force it to install even though wine has a newer version<br />
+[AppDefaults\\dcom98.exe\\DllOverrides]<br />
+"ole32" = "native"<br />
+<br />
+[AppDefaults\\dcom95.exe\\DllOverrides]<br />
+"ole32" = "native"<br />
+</code></p></quote>



</section><section 
	title="Terminal Emulation and stdout" 
	subject="can't redirect stdout?!"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0569.html" 
	posts="3"
	startdate="07/22/2003"
	enddate="07/23/2003"
>
<topic>Fixes</topic>
<p>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:</p>
<quote who="Dan Kegel"><p>
 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.
</p><p> 
 That's rather unacceptable dain bramage, if you ask me.
</p></quote>

<p>Bill Medland poked around and reported some test results,
<quote who="Bill Medland">
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.
</quote></p>

I sure miss the days of being a sys admin and mucking around 
with termcap entries.  Just kidding.  I don't. 
</section><section 
	title="Wine on Alpha Linux" 
	subject="Warning on Alpha Linux"
	archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0444.html" 
	posts="12"
	startdate="07/19/2003"
	enddate="07/20/2003"
>
<topic>Ports</topic>
<p>Steven Edwards started playing with Wine on an Alpha and
began running into obstacles.  First he reported:</p>
<quote who="Steven Edwards"><p>
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.
<ul><code>
../../include/wine/debug.h: In function `wine_dbgstr_guid':<br />
../../include/wine/debug.h:152: warning: cast from pointer to integer of different size<br />
../../include/wine/debug.h:152: warning: cast from pointer to integer of different size
</code></ul></p><p>
This system is a Alpha AXP 21164.
</p></quote>

<p>Vincent Beron diagnosed it:</p>
<quote who="Vincent Beron"><p>
That's an easy one. On an Alpha, sizeof(int) != sizeof(foo *). 
</p><p>
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.
</p><p>
Still, fixing the warning would be a good idea as there's probably a
whole lot of lines passing by at compilation.
</p></quote>

<p>Todd Vierling clarified that by pointing out,
<quote who="Todd Vierling"><tt>
sizeof(int) == 4; sizeof(void *) == 8.</tt></quote></p>

<p>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,
<quote who="Dmitry Timoshkov">
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.
</quote>  He added, 
<quote who="Dmitry Timoshkov">
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.
</quote></p>

<p>Steven wrote back with more details on the system,
<quote who="Steven Edwards">
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.</quote></p>

<p>And in another email added,
<quote who="Steven Edwards">
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.
</quote></p>

<p>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. </p>

</section></kc>


More information about the wine-patches mailing list