WineHQ

World Wine News

All the news that fits, we print.

08/08/2003
by Brian Vincent
Issue: 182

XML source
More Issues...

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 www.winehq.org


This week, 118 posts consumed 336 K. There were 48 different contributors. 23 (47%) posted more than once. 20 (41%) posted last week too.

The top 5 posters of the week were:

  1. 10 posts in 31K by Antony Gelberg
  2. 8 posts in 20K by Dimitrie O. Paun
  3. 8 posts in 18K by Dustin Navea
  4. 7 posts in 17K by Dmitry Timoshkov
  5. 7 posts in 30K by Duane Clark

News: CrossOver Plugin 2.0, Linux Mag Blurb 08/02/2003 Archive
News

CodeWeavers announced CrossOver Plugin 2.0 . I found bits from the changelog more interesting than the press release, so I'll quote parts of that:

Change Log For CrossOver Plugin
2.0.2 - August 5, 2003

  • This release is now built from the same codebase as CrossOver Office which means that compared to Plugin 1.x you get
    • a major update of the Wine code
    • a major update of PluginSetup
  • 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.
  • Added support for Acrobat Reader 5.
  • Added support for the Cortona VRML plugin.
  • Added support for the ebrary Reader plugin.
  • Added support for the Quick View Plus viewer and plugin.
  • Improved printing support: CUPS support, better compatibility with printers, especially HP4000, improved print speed, etc.

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 it's an indication a bunch of patches are on the way from CodeWeavers. Oh, and this release also has support for embedded devices .

Linux Magazine put together a small article about Linux on the desktop . TransGaming is briefly mentioned on the first page. The third page has quotes from CodeWeavers' Jeremy White and Alexandre Julliard.


Disney Uses Wine 08/05/2003 Archive
News

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.

There's a nice writeup over at eWeek about Disney 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:

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.

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.

"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."

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, They are using standard CrossOver Office version 2.0.1.


Beginnings of Microsoft Installer Support 08/06/2003 Archive

Mike McCormack posted a patch with a lot of new code and announced, 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.

Greg Turner was glad to see the work:

Cool!

But "Micorosft Installer" might not be the most appropriate name for this implementation, eh? :P How about "Mike's Sexy Installer" ;)

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?

Mike wrote back with more details on the MSI work and its direction:

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 ;)

Fortunately it seems fairly well structured. The database and installer parts are cleanly separated from each other.

The next steps are:

  • 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 :)
  • make the database read/write - not immediately important, but necessary later

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.

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.

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.

ps. maybe we can just call it the Wine installer...

Greg thought maybe the code generated by the second parser would be fine to include even if it wasn't portable so long as the sources to regenerate them are available to those who have the right tools.


Windows API DB 08/03/2003 Archive
Documentation

David Miller announced:

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:

  1. 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.
  2. Perform general queries. This just does SQL queries based on the criteria you specify. You can query by any or all fields.
  3. 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.

The forms are currently at http://24.229.94.2 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. :)

Several people had suggestions for improving it. Juan Lang asked for:

personally I'd like to see:

  • 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.
  • for each DLL, which functions it exports under which versions of Windows/WINE.

David replied:

I have completed work on a script which makes an export table. That is, it's completed if no one 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 http://24.229.94.2/export_table.html . I think when finished it could use some color, maybe a style sheet. Any other comments?

The compare.cgi script now has a checkbox which toggles all output vs only differences as Dimi suggested.

In case anyone noticed winnt40-sp6a queries did not return any results. The version field was truncated. I fixed it by dropping the 0. :)

A windows NT 3.51 version has been added to the database.


DirectX / Operation Flashpoint 08/03/2003 Archive
DirectX

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:

(Try#3 - Also fixes Operation Flashpoint problem which was introduced AND includes the patch... oops!)

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 don't see why!]

There is still more optimization which can be done here, but this is a start.

Greg Turner remarked:

My goodness... Flashpoint works? How long has that been? Good $*^!$#^@ work!!

But: you should /not/ have told me this as I will be much less productive now.

Jason was quick to point out that "working" was a very subjective term:

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!

Therefore it is viewable (I started the tutorial and it all seems to display fine), but I wouldn't call it playable...

Get on with the OLE/DCOM stuff instead :-)


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.