WineHQ

World Wine News

All the news that fits, we print.

1/6/2008
by Zachary Goldberg
Issue: 338

XML source
More Issues...

This is the 338 issue of the Wine Weekly News publication. Its main goal is to provide big bugzilla updates. 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, 117 posts consumed 183 K. There were 51 different contributors. 23 (45%) posted more than once. 21 (41%) posted last week too.

The top 5 posters of the week were:

  1. 9 posts in 8K by julliard at winehq.org (Alexandre Julliard)
  2. 7 posts in 9K by dank at kegel.com (Dan Kegel)
  3. 7 posts in 9K by donpedro at tdcadsl.dk (Peter Dons Tychsen)
  4. 6 posts in 5K by dmitry at codeweavers.com (Dmitry Timoshkov)
  5. 6 posts in 7K by stefan at codeweavers.com (Stefan Dösinger)

News via Wine Review: Microsoft Office, Bordeaux Archive
Wine

Tom Wickline over at Wine Review has been busy lately working on showing Microsoft Office 2003 and even Office 2007 running under wine.

Tom provides a full install guide for Office 2003; which from my first read through looks pretty darn simple and straight-forward. Office 2007 on the other hand provides a pretty good challenge to get working, Tom writes:

I installed Microsoft Office 2007 on a computer with Windows XP and then moved everything over to this box that has Linux on it. After moving Office 2007 over to the Linux box I had the joys of importing the registry settings from the XP install into Wine. After a week of working on this and tweaking Wine with dll overrides and registry settings I finally got most of Office 2007 to run in Wine.

Tom also highlights a new bit of wine software, Bordeaux . Bordeaux is a new wine-package manager (for apps running under wine). I haven't yet had a chance to use it, however many of the wwn's readers may find this interesting and useful.

Someone sent me a small Wine Configuration Manager that has a GUI for native Wine applications. This is a 0.1 release so it's still a work in progress, proof of concept. I ask if I could post it here and they said sure... So here it is!

The app is built with GTK and should run on any system that has GTK installed.

Quit has not been implemented yet so you will have to X to quit the program. I placed it in my home directory and executed it from there, the features that are currently implemented seem to work fine.


Number of commits per year Archive

Hans Leidekker has found an interesting way of keeping track of the rate of progress of wine; tallying the number of commits per year:

$ for y in {2002..2007}; do \
  n=$( git log | grep ^Date: | grep $y | wc -l ); \
  echo "Number of commits in $y: $n"; \
  done
Number of commits in 2002: 3094
Number of commits in 2003: 3283
Number of commits in 2004: 3851
Number of commits in 2005: 6006
Number of commits in 2006: 8431
Number of commits in 2007: 9513

 -Hans


Recent BugZilla changes Archive
BugZilla

There have been a couple threads in recent weeks regarding changing of some categories within bugzilla. Vitaliy Margolen has been on the ball pushing for these changes.

Ok we talked and talked and talked and where did it all go? Where are the
agreed upon changes?

If we can't agree on everything, then lets do parts that everyone is ok
with. Then decide on more changes.


So far this what everyone was happy with:

wine-misc -> unknown (default selection)

test -> test (change description to "Conformance tests")
wine-advapi32 -> advapi32
wine-atl -> atl
wine-comctl32 -> comctl32
wine-console -> console
wine-crypt32 -> crypt32
wine-dbghelp -> dbghelp
wine-debug -> winedbg
wine-directx* -> directx*
wine-documentation -> documentation
wine-dos -> dos
wine-gdi-(printing) -> gdi32
wine-gdiplus -> gdiplus
wine-help -> hhctrl - Help viewer implementation
wine-kernel -> kernel32
wine-loader ->loader
wine-msi -> msi
wine-msvcrt -> msvcrt
wine-msxml -> msxml3
wine-ole -> ole
wine-opengl -> opengl
wine-quartz -> quartz
wine-richedit -> richedit
wine-setupapi -> setupapi
wine-shdocvw -> shdocvw
wine-shell32 -> shell32
wine-urlmon -> urlmon
wine-user -> user32
wine-usp10.dll -> usp10
wine-winelib -> winelib
wine-x11driver -> x11driver

Add new components:
-> wininet - Internet connectivity and Layer-7 protocols
-> wintrust - Cryptography and trust verifications
-> advpack - INF file based installation engine
-> imagehlp - PE binary file manipulations, signed file handling
-> shlwapi - Various shell helper functions
-> vdm - Wine 16-bit compatibility layer
-> comdlg32 - Common dialogs such as open/save/print/font

Remove:
Wine-Rebar

Jan Zerebecki, a bugzilla admin, writes in confirming that these changes look good and they will go through soon.

I think I will be able to do the changes next weekend.

If no one objects until Friday, I'll assume that everyone is fine with the changes as proposed in this thread.

I'll furthermore assume that I can modify the descriptions of categories as I see fit (I explained in a previous mail on this topic on how those could be made to convey more exactly which parts of wine they cover).

I just saw that there still are overlaping categories in at least one case, but that can be fixed in another step.

In other bugzilla news: Dan Kegel points out that bugzilla is capable of creating some pretty cool graphs


WineConf Videos released Archive
WineConf

Six videos from wineconf have finally made it from the editing studio the realm of the internet (youtube). Thanks to Lei Zhang for putting these videos together and making them available on the web. The six videos:

Alexandre's Keynote http://www.youtube.com/watch?v=GqEp8psjv5s Detlef Riekenberg - Printing in Wine http://www.youtube.com/watch?v=1-n6mClDdBQ Kai Blin - Wine and Samba http://www.youtube.com/watch?v=ToKeJbQ87c0 Martin Pilka - CxTest http://www.youtube.com/watch?v=VBZNOTngyeo Maarten Lankhorst - Wine and Sound http://www.youtube.com/watch?v=qKaYqsm4I_Q Stefan Dösinger - Wine and Direct3D http://www.youtube.com/watch?v=eJ-zyKR1N2A

Most of the videos are actually quite long and worth watching. I watched most of them, but only took notes on the keynote. Here is my summary of the keynote:

WINE Conference 2007

Keynote by Alexandre Julliard
After about 2 and a half minutes audio gets MUCH better

Lots of 1.0 jokes

Last year's focus: getting games to work (mostly success)
This year's focus:
 -getting copy protection to work (many will never work)
 -Window management
 -sound support
 -crypto etc.

This year saw the Big switch to git which has 
proved a good one with tools like git-bisect being
extremely helpful.


Update to Software Freedom Law Center (Slow progress)
Author-tracking website almost done

Release 1.0 official info
-Running out of excuses!
--Fixing bugs is one of the biggest things left

Bug Stats
--Lots more bugs being fixed but even more new ones coming in
--Lots of old bugs being fixed too

Post 1.0 List
(64-bit), DIB Engine, Quartz Driver, D3D 10, .Net


Setting windows version automatically Archive
Wine

Robert Millan expressed some interesting in writing an application to automatically set the windows version for certain applications which are known to require such a change. However, in the interest of not duplicating information or code he wanted to move some functions:

Hi

I'm writing a small application to automate the process of setting Windows version for executables that are known to require a specific one. I'd like it to use the knowledge about defining Windows versions contained in winecfg/appdefaults.c instead of duplicating/forking code from it.

Would it be ok to move on_winver_change() and some of its friends like win_versions[] and set_reg_key() to libwine.so.1 for this purpose ?

--
Robert Millan

Steve Edwards thinks it can be more simply done

How about rather than writing another application to do this, you make winecfg take arguments on the command line so you could set something like winecfg foo.exe --winver win98 --dll=gdiplus.dll=n Then all you need is a script for your known bad applications....

Thanks Steven [Continued] Actually, another way you could do it is to use inf files and store them in a database. We discussed something like this for the appdb. Using inf's would be a cleaner method than hacking winecfg to automate importing this data in to the registry and then everyone can use it. I'd suggest if you know of an application thats buggy, needs the version and dll information hard set, you try the inf route and submit it to appdb if its an application listed there.

Alexandre Julliard thinks that this can all be done with regedit.exe and such changes are not necessary:

It's only a matter of setting a registry key, that can be done easily by calling regedit, there's no need to involve winecfg.

Steven Edwards agrees with AJ but points out a problem:

I think the solution to have multiple appdefaults with
programs having generic names like setup.exe and install.exe is to
enhance the support in wine and winecfg application/dlloverrides to
use md5sum/sha hashes. I don't know how julliard really feels about
this but this is similar to what was discussed with having a custom
Wine shim engine for application compatibly. If you were going to
change some code and he approves I think this is the route to go.....

So say rather than having

HKCU\Software\Wine\AppDefaults\setup.exe\Version win98

you would have something like

HKCU\Software\Wine\AppDefaults\b83fd2e8b34ba6b6f59e9f9cfbe129d9\Version win98
HKCU\Software\Wine\AppDefaults\b83fd2e8b34ba6b6f59e9f9cfbe129d9\filename
setup.exe

Roderick Colenbrander writes with an alternative to MD5

The system on windows doesn't use the md5sum (I think it has one) but it looks for the product ID which is buried into most executables first. It also checks for other things but in a hackier way. As there are a lot of different versions of a program but which all need the same override.

Roderick

Robert Millan doesn't think product ID's are such a good idea though

I think it's a bad idea to do that:

 - Product IDs may not necessarily be unique identifiers for every
 given program.  Hashes are.

 - It's easier for users to submit information about their apps if they
 can use tools they're familiar with such as md5sum / sha1sum.

Unfortunatly, before Robert could find a decisive "correct" way to proceed, the conversation finished with Steven's last comment:

I'd like to hear Alexandre's comments for my suggestions. The current application override system bothers me but maybe he has other ideas or I am missing something. The entire system seems to depend too much on the applications name which seems limited to me but maybe he has ideas for a more robust way of tracking dlloverrides and version settings when the application name conflicts.


Weekly AppDB/BugZilla Status Changes Archive
AppDB / BugZilla
BugZilla Changes:

Category Bugs Last Week Bugs This week Change
UNCONFIRMED 1724 1886 +162
NEW 1314 1475 +161
ASSIGNED 44 49 +5
REOPENED 63 72 +9
RESOLVED 2843 2958 +115
CLOSED 4490 4560 +70



AppDB Application Status Changes

*Disclaimer: These lists of changes are automatically generated by information entered into the AppDB. These results are subject to the opinions of the users submitting application reviews. The WINE community does not guarantee that even though an application may be upgraded to 'Gold' or 'Platinum' in this list, that you will have the same experience and would provide a similar rating.

Updates by App Maintainers

Application Old Status/Version New Status/Version Change
Goldfinger 6 Garbage (0.9.18) Platinum (0.9.52)
+4
Family Tree Maker 2006 Garbage (0.9.51) Bronze (0.9.52)
+1
Gothic II 1.30 Silver (0.9.33) Bronze (0.9.52)
-1
Aliens Versus Predator 1.0 Garbage (0.9.41) Bronze (0.9.52)
+1
Wakan 1.6x Gold (0.9.24) Platinum (0.9.52)
+1
Uplink: Hacker Elite 1.x Gold (0.9.46) Garbage (0.9.52)
-3
Icewind Dale 1.0x Garbage (0.9.29) Silver (0.9.51)
+2
Gothic 1.0x Garbage (0.9.50) Bronze (0.9.52)
+1
Star Wars: Jedi Knight - Dark Forces II 1.01 Platinum (0.9.44) Garbage (0.9.52)
-4
Darkstone 1.0 Garbage (0.9.38) Platinum (0.9.51)
+4
Axis & Allies (1998) 2.x Platinum (0.9.44) Garbage (0.9.52)
-4
Heroes of Might and Magic III Armageddon's Blade: ... Silver (0.9.15) Gold (0.9.49)
+1
MDK 1.00 Bronze (0.9.39) Garbage (0.9.52)
-1
openCanvas Plus 4 Silver (0.9.43) Gold (0.9.52)
+1
NBA Live 07 1 Bronze (0.9.37) Gold (0.9.52)
+2
Total Change
+5

Updates by the Public

Application Old Status/Version New Status/Version Change
Train Simulator 1.2 Garbage (0.9.41) Gold (0.9.52)
+3
StarCraft 1.x Garbage (0.9.50) Silver (0.9.52)
+2
Gothic II Night of the Raven: 2.6 Garbage (0.9.50) Silver (0.9.52)
+2
Snood 3.52 Garbage (0.9.48) Bronze (0.9.52)
+1
Hitman: Blood Money 1.x Gold (0.9.44) Silver (0.9.52)
-1
Photoshop CS2 Platinum (0.9.50) Silver (0.9.51)
-2
Call of Duty 4: Modern Warfare 1.0 Silver (0.9.49) Gold (0.9.50)
+1
Battlefield 1942 1.x Silver (0.9.49) Platinum (0.9.52)
+2
Need for Speed: Hot Pursuit 2 242 Platinum (0.9.48) Gold (0.9.52)
-1
Game Maker 5.3A Silver (0.9.36) Platinum (0.9.52)
+2
Half-Life 1.1.1.0 (non Steam) Silver (0.9.40) Platinum (0.9.51)
+2
Warcraft III Reign of Chaos: 1.x Platinum (0.9.51) Gold (0.9.52)
-1
The Witcher 1.0 Bronze (0.9.49) Garbage (0.9.52)
-1
The Elder Scrolls IV: Oblivion 1.2.x Silver (0.9.48) Gold (0.9.52)
+1
Photoshop CS3 (10.0) Garbage (0.9.51) Bronze (0.9.52)
+1
Total Annihilation Total Annihilation + Core Conti... Platinum (0.9.32) Gold (0.9.47)
-1
Star Wars: Republic Commando 1.0 Gold (0.9.43) Silver (0.9.52)
-1
Battlefield 1942 1.6x Bronze (0.9.49) Platinum (0.9.52)
+3
SPSS 6.0 Bronze (0.9.49) Platinum (0.9.52)
+3
Warcraft 3 World Editor 1.21 Bronze (0.9.42) Garbage (0.9.52)
-1
Half-Life Counter-Strike: 1.6 Platinum (0.9.49) Gold (0.9.50)
-1
Warcraft III The Frozen Throne: 1.x Gold (0.9.45) Silver (0.9.50)
-1
Unreal Tournament 3 Retail Garbage (0.9.51) Bronze (0.9.52)
+1
Aliens Versus Predator 2 1.0.9.6 Garbage (0.9.49) Bronze (0.9.52)
+1
Call of Duty 2 1.00 Garbage (0.9.49) Platinum (0.9.52)
+4
Bloodshed Dev-C++ 5 (Beta) Bronze (0.9.51) Platinum (0.9.52)
+3
Steam All Versions Gold (0.9.51) Silver (0.9.52)
-1
Star Wars: Jedi Knight - Jedi Academy 1.x Gold (0.9.49) Garbage (0.9.52)
-3
MapSource 6.11.6 Silver (0.9.47) Gold (0.9.52)
+1
Total Change
+18

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.