WineHQ

World Wine News

All the news that fits, we print.

03/14/2014
by André Hentschel
Issue: 365

XML source
More Issues...

This is the 365th issue of the World Wine News publication. Its main goal is 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, 239 posts consumed 279 K. There were 32 different contributors. 18 (56%) posted more than once. 11 (34%) posted last week too.

The top 5 posters of the week were:

  1. 9 posts in 11K by julliard at winehq.org (Alexandre Julliard)
  2. 7 posts in 9K by jwhite at codeweavers.com (Jeremy White)
  3. 6 posts in 6K by hverbeet at gmail.com (Henri Verbeet)
  4. 6 posts in 7K by nsivov at codeweavers.com (Nikolay Sivov)
  5. 6 posts in 8K by nerv at dawncrow.de (André Hentschel)

Google Summer of Code 2014 Archive
Student application period

Wine is an accepted organization for GSoC 2014, would-be students should now submit project proposals at google-melange.com . See the timeline to learn how much time is left.

See our Wiki for more informations and project ideas.


Valve released ToGL Archive

Valve has open sourced their DirectX to OpenGL translator named ToGL . The media and even some developers wondered if this is useful for Wine. Stefan Dösinger had a quick look at the code and gave an answer:

No, it's not. It is *very* limited. It doesn't even have stateblock interface declaration, and its surface implementation is pretty much nonexistent. It doesn't care about any of the corner cases that make d3d9 interesting.

Note that this is not an exhaustive review of this code. It's just the first two things I found in a 2 minutes look.

Those limitations make sense as design decisions for Valve's purposes, but they make this wrapper useless for anything other than a cheap compile-time abstraction layer between d3d and gl. Releasing this code may be useful for other developers who want to port a game to Linux though.


Fixing long-standing test failures Archive

Jeremy White finally got annoyed enough by the remaining test failures on Windows and pushed people to fix them. This also had the effect of making other developers afraid of getting shamed and so they too fixed test failures :)

We already made good progress, but there are some strange behaviours of Windows, other hard to analyze failures and problems caused by the way the WineTestBot works. It seems often enough we trigger corner cases in Qemu and upgraded raises even worth problems, so we need to trace them down and fix them.

But what is Wine testing on Windows you might ask, here is a short answer. Well, the Windows API is a huge set of functions, to replicate them we need to know how they work without disassembling them (and MSDN is mostly wrong). So we write tests. A test calls a function and checks e.g. the return value, if that value is not expected then this is a failure. We run the tests on different Windows Versions and on Wine, that means the chance of getting a non-expected value is good.:)

In the end the benefits of our test suite are:

  • Documentation of the Windows API behavior.
  • Making sure the Wine implementation conforms to the Windows behavior.
  • Detect and prevent Wine regressions.

See our Wiki for more information.


WineTestBot Archive
First month with the new TestBot

In 2009 Gé (Greg) van Geldorp introduced the WineTestBot, a set VMware ESX VMs running various Windows versions. As he worked for VMware, the system was mostly based on their technology.

WineTestBot even lured developers to contribute to Wine, e.g. Peter Rosin (a libtool contributor):

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

Sadly Gé passed away 2011, but he asked his brother Arno to run the WineTestBot for some more years. So early last month Jeremy White wrote at wine-devel:

Folks,

Arno van Geldorp has let us know that this will be the last month that the original test bot continues to run. We will be redirecting the 'testbot' urls to the new wine test bot as a result.

These intervening years have made clear just how great Gé's gift to us was. It has taken us multiple people many years to begin to replicate his work. But I think we'll be okay; Francois has done a lot of hard work, and once Huw is a qemu expert, I think we will come out of the woods.

We also owe a great deal to the van Geldorp family for so graciously paying to host the old wine testbot, long after the time that Gé had asked for. That, too, was a very generous gift.

So please join me in thanking the entire family of Gé van Geldorp for their incredible gifts to Wine over the years.

Cheers,

Jeremy

Mostly for licensing reasons François Gouget redid all the work based on libvirt and Qemu. Now that the old WineTestBot is turned off, the new one is running at testbot.winehq.org and is also the one used for the Patches list . Thanks François for all the hard work!

So let these words from the Wine 1.4 Announcement express our gratitude:

This release is dedicated to the memory of Gé (Greg) van Geldorp, who

passed away in May 2011. Greg single-handedly designed, built, and

maintained the Wine Testbot, which has become a cornerstone of our

development process. The high quality of this release owes a lot to

his work. He is greatly missed by us all.


Weekly AppDB/Bugzilla Status Changes Archive
AppDB / Bugzilla
Bugzilla Changes:

Category Total Bugs Last Issue Total Bugs This Issue Net Change
UNCONFIRMED 4039 4043 +4
NEW 3426 3421 -5
ASSIGNED 18 18 0
REOPENED 119 122 +3
RESOLVED 182 195 +13
CLOSED 27911 27969 +58
TOTAL OPEN 7602 7604 +2
TOTAL 35695 35768 +73



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
ICQ 2003b Silver (1.4) Platinum (1.6.1)
+2
Battle.net App Open Beta Garbage (1.7.13) Gold (1.7.14)
+3
Gnomoria Alpha Silver (1.7.12) Gold (1.7.13)
+1
Rappelz Philippines EPIC 8.3 Silver (1.4.1) Gold (1.6)
+1
Vampire: The Masquerade: Redemption 1.1 G.O.G Gold (1.4.1) Silver (1.7.13)
-1
Phantasy Star Online: Blue Burst 1.24.3 Garbage (1.3.29) Bronze (1.7.13)
+1
4Phantasy Star Online: Blue Burst 1.25.10 (Tetheal... Garbage (1.6-rc5) Bronze (1.7.13)
+1
Battle.net App Open Beta Gold (1.7.11) Garbage (1.7.13)
-3
Total Change
+5

Updates by the Public

Application Old Status/Version New Status/Version Change
1Command & Conquer 3: Tiberium Wars Kane's Wrath: ... Gold (1.3.24) Platinum (1.7.13)
+1
Command and Conquer: Red Alert 3 Retail 1.x Silver (1.4.1) Platinum (1.7.13)
+2
Command and Conquer: Red Alert 3 Uprising Silver (1.5.3) Platinum (1.7.14)
+2
Making History II - The War of the World Steam Garbage (1.5.5) Platinum (1.7.14)
+4
Adobe Photoshop CC Garbage (1.7.11) Gold (1.7.13)
+3
Asterix Mega Madness 1.0 Garbage (0.9.40) Gold (1.7.14)
+3
Medal of Honor: Allied Assault 1.11 Garbage (1.5.28) Gold (1.6.1)
+3
Quicken 2012 Premiere Bronze (1.7.10) Gold (1.7.13)
+2
STM Flash Loader Demonstrator 2.0 Silver (1.0.1) Gold (1.4.1)
+1
Sacrifice Steam Garbage (1.5.31) Gold (1.7.13)
+3
South Park: The Stick of Truth Steam Platinum (1.7.13) Gold (1.7.14)
-1
DesignSpark PCB 5.0 Garbage (1.4.1) Silver (1.6.2)
+2
Microsoft Outlook 2007 Garbage (1.3.34) Silver (1.4.1)
+2
3The Witcher 2: Assassins of Kings Enhanced Editio... Gold (1.5.7) Silver (1.7.14)
-1
Total War: Shogun 2 1.1.0 Platinum (1.5.17) Silver (1.7.13)
-2
USAPhotoMaps 2.76 Bronze (0.9.34) Silver (1.6.2)
+1
Battlefield Bad Company 2 Retail BFBC2 Silver (1.7.10) Bronze (1.7.14)
-1
Dolby Axon 1.5.1.0 Garbage (1.6-rc5) Bronze (1.7.13)
+1
PDFXChange Editor 3.0.304 Garbage (1.4.1) Bronze (1.6.1)
+1
Rayman Origins 1.3 Silver (1.5.10) Bronze (1.7.12)
-1
Sid Meier's SimGolf 1.03 Garbage (1.5.4) Bronze (1.6.2)
+1
Star Trek Online Current Version Gold (1.6-rc3) Bronze (1.7.10)
-2
Age of Empires II The Conquerors Expansion Silver (1.6) Garbage (1.7.13)
-2
City Car Driving 1.2 Gold (1.5.24) Garbage (1.7.13)
-3
Medieval 2: Total War Retail CD 1.x Gold (1.3.30) Garbage (1.7.13)
-3
SimCity 3000 Unlimited Silver (1.6-rc4) Garbage (1.7.13)
-2
Star Trek Online Current Version Gold (1.6-rc3) Garbage (1.7.10)
-3
The Master Genealogist 8.00.000 Silver (1.6) Garbage (1.7.13)
-2
Total Change
+9

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.