Recent News Queue
This is the inbox for the World Wine News. The WWN editor invites Wine developers and users to submit articles here for inclusion in the next edition of WWN, but reserves the right to edit mercilessly. This page will be cleared each time a new WWN is published.
Add your articles below, and be sure to include your name and date. Use three equals marks around the title.
OpenAL 1.12 or later will be required for PulseAudio support
[I will have to do a brief update of my talk with Maarten above since it is a couple of weeks old now. I will try to merge this or I'll include it as a footnote. Alternatively it maybe included in an update on the progress of the current sound merge, that's active now, next fortnight. As a side note attributing everything you put up here would be great so if further details are required you can be contacted. - es]
Maarten Lankhorst has indicated that distributions will need to use a minimum of OpenAL version 1.12 or greater in order for Wine to be well supported on PulseAudio systems. Older versions are substantially broken for Wine's purposes, to the point of it being necessary to disable the OpenAL->Pulse subsystem entirely. Since 1.12 is relatively recent, there is a substantial chance that packagers will need to make sure their distro includes (or backports) the newer OpenAL before Wine 1.2 is released.
Ubuntu 10.04 users now have OpenAL 1.12 as I pushed it as a stable release update. Unsure of other distros status. - ScottRitchie
Ge van Geldorp was inspired by all the talk about testing during WineConf 2009. He noticed that bad tests were being committed because most Wine developers (OK, all Wine developers) find it hard to check their conformance tests on more than just one or two versions of Windows. His solution was to set up a battery of virtual Windows machines and a way for developers to submit jobs on them, and called it WineTestBot. It quickly because an indispensable part of my workflow. Thanks to Ge and to his employer (VmWare) for providing this awesome resource!
But wait, there's more. It seems that WineTestBot is luring developers to contribute to Wine! I noticed someone new contributing a patch for RtlSetThreadErrorMode and emailed the author to see what his interest in those functions was.
The author, Peter Rosin (a libtool contributor), replied "I recently noticed that GetErrorMode was added in Vista (or something like that) and added support for that to the LoadLibrary loader in libltdl (libtool). Then, about 2 seconds after pushing that patch, I noticed GetThreadErrorMode/SetThreadErrorMode (in kernel32), and figured that those are the ones I really want to use. But I didn't know how they worked (no Win7/2k8R2 machine) so I figured the simplest way to check how these new functions interact with plain old SetErrorMode was to use the WineTestBot. But having used that to dig out the info, I figured I might as well add the functions to Wine as well, so that I can go to bed without having "abused" the WineTestBot..."
So WineTestBot is helping in even more ways than Ge expected.
(Dan Kegel, 3 Feb 2010)
New Wine Shirts
Ismael Barros wrote: As the design seems to be liked, we just made the garments available for sale. As always, you can find them at http://www.freewear.org/?org=Wine
(This really needs a News Item itself i think, also we should Link it somewhere close to the donation as every Shirt sold is a donation of 3$ to Wine)
(André Hentschel, 15 June 2010)
[I will address this next fortnight - es]
New release, ton of new verbs and updates. -AustinEnglish
cmd conformance test suite
Because all good code needs a test suite.
Joel Holdsworth has replaced many of Wine's icons with Tango-compliant ones. Status: http://www.airwebreathe.org.uk/wine-icon/
Ubuntu users can also see (as of -rc4) new icons for executables and .dlls based on their embedded icons if they are using Gnome and the Wine PPA. See: http://yokozar.org/blog/archives/225 - I want this code to be shared across distros, ported to a KDE equivalent (it's technically a gnome icon thumbnailer), and even put upstream if possible. It can be obtained from the gnome-exe-thumbnailer source package at the Wine PPA. - ScottRitchie
Dynamic analysis cleanup progress
There has been a lot of progress recently in cleaning up errors found by various automated analysis tools.
Valgrind: Dan Kegel started doing daily valgrind runs again to look for memory errors, and lots of people (Huw, James, Nikolay, Rob, ...) pitched in to clean up problems. (Thanks especially to Wine alumni James Hawkins and Rob Shearman for their help here!) The valgrind error count dropped from around 2500 in early November to 682 at the end of December and 386 by Jan 8. Most of the big drops were from suppressing silly errors or fixing key noisy bits, but still, Yikes!
Static analysis cleanup progress
Coverity: they started scanning the Wine source code four years ago; their first run found 830 errors. Currently the count is something like 300, only 11 of which are not yet fixed or marked as false positives. Thanks to Marcus Meissner and the others who have been slowly chipping away at these errors!
Coccinelle: Paul Vriens has been playing around with http://coccinelle.lip6.fr lately and has cleaned up a few errors it caught.
Smatch: Michael Stefaniuc is still soldiering away with this.
Total fixes from each tool in month ending Jan 15: Coverity 14, Coccinelle 12, Smatch 1.
See Wiki page StaticAnalysis for more detail.
Visual C++ 2005 works
As long as you don't need to use the GUI too heavily, anyway. Thanks to Rob Shearman and Kai for fixing an obscure RPC bug that was keeping /Zi from working!
BuildAndTestChromium is proof you can build serious C++ apps with Visual C++ 2005 on Wine; it shows how to work around a few remaining bugs.
Ambroz Bizjak has written a wrapper for the commandline compiler and linker to accept Unix pathnames: http://code.google.com/p/wrapmsvc/
How not to get patches committed
Sometimes, a Wine developer wanders into areas he doesn't quite understand yet, and submits a less-than-elegant patch. Here's an IRC quote from 8 Jan 2010 showing what happens to that kind of patch:
Completion of 16-bit separation
On Release of Wine 1.1.36 Alexandre announced completion of separating all 16-bit code into own files.
Wine and Firebird Databases
In reply to this post http://www.winehq.org/pipermail/wine-users/2009-February/048883.html, I successfully tested a delphi 5 app using Firebird 2.1 databases (http://www.firebirdsql.org).
To achieve this:
- Install firebird 2.1 superserver from your distro package.
- Install, with wine, firebird (.exe win32 version). Select minimal client install. It will install GDS32.dll and MS VC 2005 runtime.
Configure your Delphi app with good database linux path (ex. ip_adress:/var/firebird/mybd.fdb).
When you upgrade wine, it seems you have to reinstall firebird win32 client.
(Vincent Hardy, 20 April 2010)
Internet Explorer in Wine
The native IE User Interface can be started in Wine (1.1.44), using our shell replacement, mshtml with gecko and all that low level stuff: Screenshot
The related COM interfaces for the IE 6 Style UI are implemented in shdocvw (IWebBrowser and IInternetExplorer) and browseui (Menu, Addressbar and other user elements)
You need to copy shdocvw.dll, browseui.dll and browselc.dll (needed by native browseui.dll) to ~/.wine/drive_c/windows/system32/ and override shdocvw and browseui to native.
WINEDLLOVERRIDES=browseui,shdocvw=n wine iexplore www.winehq.org
It works, but it's unstable and the Menu as well as the Addressbar are missing (COM Interface not registered in Wine).
To register the native browseui.dll: WINEDLLOVERRIDES=browseui=n wine regsvr32 browseui.dll
(IE8 has still the full IE6 style UI available) Happy testing, and don't forget to fill bugzilla.
(Detlef Riekenberg, 23.04.2010)
Wine on ARM
Finally Wine was ported to ARM. So you can run winelib apps on that more or less mobile platform. x86 support might be added in the future using qemu and also there are some thought in the CE direction.
Aug 29, 2010: Dave Phillips reviews Wine for audio apps: http://www.linuxjournal.com/content/new-wine-running-windows-music-sound-applications-under-wine-12