wn20030808_182.xml -brian
<?xml version="1.0" ?> <kc> <title>Wine Traffic</title> <author contact="http://www.theshell.com/~vinn">Brian Vincent</author> <issue num="182" date="08/08/2003" /> <intro> <p>This is the 182nd release of the weekly Wine Weekly News publication. Its main goal is to wistfully stare out the window and wonder how many more tee times I'll be able to get until the snow starts flying. 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 <a href="http://www.winehq.com">www.winehq.com</a></p> </intro> <stats posts="118" size="336" contrib="48" multiples="23" lastweek="20"> <person posts="10" size="31" who="Antony Gelberg" /> <person posts="8" size="18" who="Dustin Navea" /> <person posts="7" size="30" who="Duane Clark" /> <person posts="7" size="17" who="Dmitry Timoshkov" /> <person posts="6" size="13" who="Alexandre Julliard" /> <person posts="8" size="20" who="Dimitrie O. Paun" /> <person posts="5" size="10" who=" <puoti@inwind.it>" /> <person posts="4" size="11" who="Mike McCormack" /> <person posts="4" size="9" who="Lionel Ulmer" /> <person posts="4" size="9" who="Gregory M. Turner" /> <person posts="3" size="12" who="Dave Miller" /> <person posts="3" size="9" who="Dan Kegel" /> <person posts="3" size="7" who="Vincent B#233;ron" /> <person posts="3" size="7" who="Boaz Harrosh" /> <person posts="3" size="7" who="Robert Shearman" /> <person posts="3" size="6" who="BiGgUn" /> <person posts="2" size="10" who="Kelly Leahy" /> <person posts="2" size="5" who="Peter Birch" /> <person posts="2" size="4" who="Francois Gouget" /> <person posts="2" size="4" who="Jason Edmeades" /> <person posts="2" size="4" who="Jon Bright" /> <person posts="2" size="3" who="Tom" /> <person posts="1" size="8" who="Lars Segerlund" /> <person posts="1" size="7" who="Troy Rollo" /> <person posts="1" size="6" who="David Miller" /> <person posts="1" size="4" who="Brian Vincent" /> <person posts="1" size="3" who="Martin Wilck" /> <person posts="1" size="3" who="Mike Hearn" /> <person posts="1" size="3" who="Zsolt Rizsanyi" /> <person posts="1" size="3" who="Supphachoke Suntiwichaya" /> <person posts="1" size="3" who="Thomas Mertes" /> <person posts="1" size="3" who="Joerg Mayer" /> <person posts="1" size="2" who="(dmiller)" /> <person posts="1" size="2" who="Marcelo Duarte" /> <person posts="1" size="2" who="Fabian Cenedese" /> <person posts="1" size="2" who="Ove Kaaven" /> <person posts="1" size="2" who="Bob Dixon" /> <person posts="1" size="2" who="Gerald Pfeifer" /> <person posts="1" size="2" who="biggun from the sun" /> <person posts="1" size="2" who="Fergus Henderson" /> <person posts="1" size="2" who="csy annie" /> <person posts="1" size="2" who="dd jj" /> <person posts="1" size="2" who="Shachar Shemesh" /> <person posts="1" size="2" who="Steven Edwards" /> <person posts="1" size="1" who="Hetz Ben Hamo" /> <person posts="1" size="1" who="Robert Shearman" /> </stats> <section title="News: CrossOver Plugin 2.0, Linux Mag Blurb" subject="News" archive="http://www.winehq.com/hypermail/wine-devel/2003/07/00.html" posts="2" startdate="08/02/2003" enddate="08/09/2003" > <topic>News</topic> <p>CodeWeavers announced <a href="http://www.codeweavers.com/about/press_releases/?id=20030805">CrossOver Plugin 2.0</a>. I found bits from the changelog more interesting than the press release, so I'll quote parts of that:</p> <quote who="Codeweavers"><p> Change Log For CrossOver Plugin <br /> <b>2.0.2</b> - August 5, 2003 <ul> <li>This release is now built from the same codebase as CrossOver Office which means that compared to Plugin 1.x you get <ul> <li>a major update of the Wine code </li> <li>a major update of PluginSetup</li></ul></li> <li>Support for glibc 2.3 based distributions, including NPTL-based ones. This adds out-of-the-box support for RedHat 9.0, Mandrake 9.1 and SuSE 8.2. </li> <li>Added support for Acrobat Reader 5. </li> <li>Added support for the Cortona VRML plugin.</li> <li>Added support for the ebrary Reader plugin. </li> <li>Added support for the Quick View Plus viewer and plugin. </li> <li>Improved printing support: CUPS support, better compatibility with printers, especially HP4000, improved print speed, etc. </li></ul></p> <p>Interestingly enough, this release is 2.0.2 which alludes to some beta versions receiving widespread testing. Moving over to the LGPL codebase is a very significant change; perhaps its an indication a bunch of patches are on the way from CodeWeavers. Oh, and this release also has support for <a href="http://www.codeweavers.com/products/crossover/embedded.php">embedded devices</a>. </p> <p>Linux Magazine put together a small article about <a href="http://www.linux-mag.com/2003-05/linuxdesktop_01.html">Linux on the desktop</a>. TransGaming is briefly mentioned on the first page. The third page has quotes from CodeWeaver's Jeremy White and Alexandre Julliard.</p> </section><section title="Disney Uses Wine" subject="wine in the press :)" archive="http://www.winehq.com/hypermail/wine-devel/2003/07/0070.html" posts="9" startdate="08/05/2003" > <topic>News</topic> <p>Normally I put articles like this in the News section, however I felt this was more signicant than most and didn't want the importance to get lost in the headlines. Plus, a thread did spawn on wine-devel about it. </p> <p>There's a nice writeup over at eWeek <a href="http://www.eweek.com/article2/0,3959,1210083,00.asp">about Disney</a> rolling out CrossOver Office to support Photoshop. It's a great case study in how to effectively use Linux on the desktop and how Wine can help achieve that goal. Some selected paragraphs:</p> <quote who="eweek"><p> The project has paid off tremendously for Disney this year alone. Development of the porting solution, including site licenses, cost Disney less than $15,000. Had he opted to run Photoshop on Windows machines, it would have cost upward of $50,000 just in annual licensing fees, said Brooks. He estimates support would have been an additional $40,000 a year. </p><p> Although Linux has proven success on servers, it is just beginning to gain ground on enterprise desktops, experts said. Much of this has to do with emulators such as Wine, which enable companies to run Windows-only applications on Linux, said Chad Robinson, an analyst at Robert Frances Group Inc., a research company in Westport, Conn. </p><p> "Wine has always been an important element in considering Linux deployment on the desktop in corporate environments because desktop product vendors have simply not kept pace with server product vendors in porting their products," Robinson said. "Although there are a few methods of emulation available, Wine is one of the most complete and effective; and while not every application runs perfectly, enough do that many companies end up using it at some point." </p></quote> <p>This also started a long thread on Slashdot. I find it amazing that so many people "get it" now. People were quick to point out Wine really isn't an emulator and it doesn't require Windows. Vincent Beron wondered if they were using a special version of CrossOver Office. Mike McCormack said they weren't, <quote who="Mike McCormack"> They are using standard Crossover Office version 2.0.1. </quote></p> </section><section title="Beginnings of Microsoft Installer Support" subject="partial implementation of msi.dll" archive="http://www.winehq.com/hypermail/wine-devel/2003/08/0039.html" posts="4" startdate="08/06/2003" enddate="08/07/2003" > <topic></topic> <p>Mike McCormack posted a patch with a lot of new code and announced, <quote who="Mike McCormack"> This is a partial implementation of the Microsoft Installer (msi.dll). At the moment, it is capable of querying an MSI database with read only SQL queries, but can't use it to install anything.</quote></p> <p>Greg Turner was glad to see the work:</p> <quote who="Greg Turner"><p> Cool! </p><p> But "Micorosft Installer" might not be the most appropriate name for this implementation, eh? :P How about "Mike's Sexy Installer" ;) </p><p> Having clearly delved into this deeper than most of us, how complete would you say the documentation for MSI is? What do you think is the future outlook of this work? </p></quote> <p>Mike wrote back with more details on the MSI work and it's direction:</p> <quote who="Mike McCormack"> The documentation for MSI is fairly incomplete. The file format was mostly undocumented, but it looks like things get better as they get more abstract ;) </p><p> Fortunately it seems fairly well structured. The database and installer parts are cleanly seperated from each other. </p><p> The next steps are: <ul> <li> create a second parser for MSI conditional expressions (and figure out how to get two parsers into the code and keep Alexandre happy ... since pure parsers require a fairly new version of bison :) </li> <li> make the database read/write - not immediately important, but necessary later </li></ul> </p><p> There's undocumented interaction with shell32 to create "Advertised Shortcuts", which are evil shortcuts that contain an identifier that only MSI can understand. If you look through SHELL32.DLL from Windows 2000, you can see it links to MSI.DLL. </p><p> However, now that the database is understood, the main installer loop is a little easier... it appears that you just iterate over the "Action" tables, and do the actions in the order specified. </p><p> I don't have lots of time to work on this at the moment, so if somebody wants to have a go, I'm happy to help them out. </p><p> ps. maybe we can just call it the Wine installer... </p></quote> <p>Greg thought maybe the code generated by the second parser would be fine to include even if it wasn't portable <quote who="Greg Turner">so long as the sources to regenerate them are available to those who have the right tools </quote>. </section><section title="Windows API DB" subject="Windows API db / find APIs missing for a given app" archive="http://www.winehq.com/hypermail/wine-devel/2003/08/0035.html" posts="10" startdate="08/03/2003" enddate="08/05/2003" > <topic>Documentation</topic> <p>David Miller announced:</p> <quote who="David Miller"><p> Recently I spent some time on this again and would like anyone interested in the database to take a look and email me comments. (What's good, how it can be better, and what features could be there, but aren't) Currently the web interface consists of a few forms which do the following: <ol> <li> Compare imports or exports between two windows versions. This will output all APIs imported or exported by a dll you specify along with which version exports that API. Example: you specify wine and windows95 as windows versions. Each API will say it is exported by wine only, win95 only, or both. It is color coded in the hope of making it slightly more readable.</li> <li> Perform general queries. This just does SQL queries based on the criteria you specify. You can query by any or all fields.</li> <li> Find unimplemented APIs for a given program. This locates all APIs imported by a specified application and outputs the ones which are unimplemented or stubs in wine. This is broken down by dll which the app tries to import from. Red APIs are not in wine spec files while blue APIs are listed as stubs in the spec files. There are only a couple of apps listed right now. Leave the application field empty for a complete list. I intend to make the output hyperlinks which will query for all apps importing that specific API. Maybe that will help find test cases when tracking down a bug.</li> </ol> </p><p> The forms are currently at <a href="http://24.229.94.2">http://24.229.94.2</a> Unfortunately I can't keep this as a permanent location. The PC is just too slow and the scripts really hog CPU. They do lots of SQL queries. :) </p></quote> <p>Several people had suggestions for improving it. Juan Lang asked for:</p> <quote who="Juan Lang"><p> personally I'd like to see: <ul> <li> which DLLs exist under which versions of Windows/WINE. I'm thinking a table which lists each DLL (the union of all of them) in a row, and column for each Windows version indicating whether it exists.</li> <li> for each DLL, which functions it exports under which versions of Windows/WINE.</li></ul> </p> <p>David replied:</p? <quote who="David Miller"><p> I have completed work on a script which makes an export table. That is, it's completed if noone discovers a problem or feature that should be added. This table will have all windows versions in a row across the top, and dlls in a column down the left side. Each dll has an X for versions of windows - including wine which export that dll. The X is a link to one of the CGIs which queries for all APIs exported by that dll in that particular windows version. The script is currently generating the table and it seems it will take a good 8 hours or so to finish!! There is a HUGE number of dlls. I think some .ref files might not be from clean installs. If anyone can identify for certain dlls which are not part of windows please let me know so I can clean up the database and the table. You can check it's progress at <a href="http://24.229.94.2/export_table.html">http://24.229.94.2/export_table.html</a>. I think when finished it could use some color, maybe a style sheet. Any other comments? </p><p> The compare.cgi script now has a checkbox which toggles all output vs only differences as Dimi suggested. </p><p> In case anyone noticed winnt40-sp6a queries did not return any results. The version field was truncated. I fixed it by dropping the 0. :) </p><p> A windows NT 3.51 version has been added to the database. </p></quote> </section><section title="DirectX / Operation Flashpoint" subject="Re: [dx73b] Try3: Performance of texture states" archive="http://www.winehq.com/hypermail/wine-devel/2003/08/0049.html" posts="3" startdate="08/03/2003" enddate="08/04/2003" > <topic>DirectX</topic> <p>More DirectX work hit wine-patches this week. 3DMark 2000 is now reported to run. All in all, DirectX has seen massive improvements over the past 6 months. Jason Edmeades posted a patch and commented:</p> <quote who="Jason Edmeades"><p> (Try#3 - Also fixes Operation Flashpoint problem which was introduced AND includes the patch... oops!) </p><p> This is the first patch which looks at the performance of changing the textures on a texture unit. As was pointed out to me by Lucho, certain information is per texture unit and hence not affected when a different texture object is bound. This patch on my machine changes the displayed fps by the Billboard sample from 30.6 to about 42.6. [Actually it was 43.0 with patch b, but I dont see why!] </p><p> There is still more optimization which can be done here, but this is a start. </p></quote> <p>Greg Turner remarked:</p> <quote who="Greg Turner"><p> My goodness... Flashpoint works? How long has that been? Good $*^!$#^@ work!! </p><p> But: you should /not/ have told me this as I will be much less productive now. </p></quote> <p>Jason was quick to point out that "working" was a very subjective term:</p> <quote who="Jason Edmeades"><p> I should define 'work' - The graphics appear ok now, but I always run with sound disabled (I have enough problems without adding to them) so I have no idea if sound works. However, this is the game I mention has a weird mouse cursor which does silly things like jumping and not liking diagonals! </p><p> Therefore it is viewable (I started the tutorial and it all seems to display fine), but I wouldnt call it playable... </p><p> Get on with the OLE/DCOM stuff instead :-) </p></quote> </section></kc>