WineHQ

World Wine News

All the news that fits, we print.

05/27/2009
by Zachary Goldberg
Issue: 357

XML source
More Issues...

This is the 357 issue of the World Wine News publication. Its main goal is to bring in the summer with a fine bottle of Wine! 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, 646 posts consumed 1089 K. There were 122 different contributors. 77 (63%) posted more than once. 32 (26%) posted last week too.

The top 5 posters of the week were:

  1. 65 posts in 93K by austinenglish at gmail.com (Austin English)
  2. 43 posts in 80K by Nicklas.Borjesson at ws.se (=?iso-8859-1?Q?Nicklas_B=F6rjesson?=)
  3. 38 posts in 87K by shacklein at gmail.com (Ben Klein)
  4. 31 posts in 52K by max at veneto.com (Massimo Del Fedele)
  5. 27 posts in 29K by julliard at winehq.org (Alexandre Julliard)

News: WWN Resurrection Archive
Wine

Goodness it's been a while since the last WWN. To all of the WWN's loyal readers I deeply apologize. Being a full time student and full time employee doesn't leave much room for open source unfortunately. I do have a bit more time now a days (hence this WWN) and will hopefully be getting back to a weekly / bi-weekly newsletter.

While we're talking about me and my contribution to the Wine community I think its appropriate to mention here that I have begged and pleaded with a system administrator friend of mine (who recently acquired a pair of octo-core 2.6Ghz Opteron servers for the STWing group at the University of Pennsylania) to give me a VM for running patchwatcher. He recently complied and I now have root on a VM with 8 cores! Patchwatcher will be up and running on this box (baring any major hiccups) within the week.

Now, on with the Wine news!

Wine 1.1.15 through 1.1.22 has been released since the last WWN. Some of the major highlights are extensive work on Wine64, a good start on DirectX10, "lots of bug fixes", OLE/GDI+ improvements and RPC over HTTP.

Thanks as always to Austin English and Vincent Povirk for help proofing this issue.


A Working DIB Engine Archive
DIB

Massimo Del Fedele has gotten the DIB engine to a point where all wine test-suite tests pass with the DIB engine enabled. This means many applications which depend on the DIB engine (MSN Messenger, Autocad to name a few) should now be faster/less buggy and should be tested with the DIB engine.

Before we continue it is important to note that in its current form it is unlikely this DIB Engine will make it into the main WineHQ tree. Builds of Wine with Massimo's work will likely be provided in the near future. Expect an in depth analysis of this situation in next week's WWN.

May 9th (Massimo "DIB Engine : Almost 100% working "):

Well, after some (many) bugfixes and additions, the mighty DIB Engine is almost 100% operational.
On one of tested apps (MSN Messenger) it behaves even better than original one :-)

For whom wish to test it, bug 421 page.

Ciao

Max

May 13th (Massimo, "DIB Engine - first set of fixings agains wine test suite "):

I started fixing failures against test suite. Most of bitmap ones are fixed, remaining are due to still stubbed funcs.

Now the problem is that it fixed also most todo_wines on bitmap suite....

As usual, on bug 421 page for who wants to test it.

Ciao

May 17th (Massimo, "DIB Engine - Mostly fixed against test suite ")

Remaining bugs are related to : 1) Some color on monochrome bitmaps.... here I guess nobody knows how to do it right. I fixed some todo wine (most) but have 2 failures which wine does right.Seldom used anyways, and happens only on weird palettes. I guess not ever Microsoft knows what they did on this respect :-)
2) an AlphaBlend() call which should fail and doesn't. Here I really don't know why it should fail..... Uninfluent, anyways.
3) GetDIBits on a source DIB with BPP less then 8 fails to retrieve the original DIB palette, and synthesizes a new one instead. For the moment I found no simple way to grab the palette from inside GetDIBits without maintaining a linked list of HBITMAP to internal bitmaps. Not worth the effort for the moment anyways. If somebody notices weird colors due to it, I'll try to fix.....
There are still some missing/buggy features rarely used that aren't spotted by testsuite; by now I've no time to fix them, anyways no one felt into them up to now :-)
Austin, could you please retest it against test suite ?
(code on Bug421 page)
Ciao
Max

May 22nd, (Massimo, "DIB Engine : passing all tests ")

I posted on bug 421 page (as usual) latest update of my engine. It suld pass all tests in wine suite.... also all bitmap's todo_wines, so expect some "false positive" signaled by tests.

Austin, could you please re-run it on your test machines ?
Ciao
Max


The future of Max's DIB Engine Archive
DiB Engine

There is a lot of talk going on as to why Max's DIB Engine should, or should not, make it into the official WineHQ tree. Executive Summary: Alexandre is still not content with the fundamental design and thinks it is likely a better idea for CodeWeavers to eventually task Huw Davies to complete his engine.

Now, for some details. Roderick Colenbrander has a very good way to look at this work on the DIB Engine even if it doesn't end up in the main tree

Unfortunately getting this code into Wine is not really possible (Alexandre would like to see Huw finishing the design and all the work but no time has been assigned to him for this) BUT I think work on this DIB engine even if it won't make it in Wine isn't wasted. This DIB engine even if not correct shows us what apps can benefit and by how much from the dib engine (before we only had guesses). If running photoshop on Wine is significantly faster using the DIB engine (it might be useful to do tests for that, there are ways to benchmark photoshop) CodeWeavers might work on it.

Roderick continues in another email:

Interpreting Alexandre his words Huw his design was the right way to continue (according to Jeremy he had worked on this for 4-5 months) but even for Huw it would take a similar amount of time to finish it. They didn't know well if continuing with the work was worth it for the apps they had to get working and during a discussion at WineConf they also weren't certain for which apps it would help and more important by how much (e.g. time is also fixing a lot issues as we are getting faster CPUs all the time). With your patches (even if they aren't clean and won't 100% correctly) we see how much a DIB engine (even unoptimized) can already help. Basically a lot of users should test it using different programs. We need benchmark results e.g. photoshop benchmarks and others.

If the DIB engine appears to do wonders for lots of apps (e.g. photoshop, office ...) then some company might sponsor CodeWeavers to work on this.

One idea, originally proposed by Joerg Mayer, is for package maintainers to bundle the DIB Engine.

Hello (mostly wine package maintainers),
To "solve" this problem from an end users view, I see two approaches:
1) Alexandre is willing to allow that code into the wine repository, so it can be maintained in sync with the existing wine code (it is my understanding that the modifications to existing code are quite small) and leave it to the user to choose which code to use.

2) We use the same solution that is used by the linux kernel developers: Keep the official source clean but add any (dearly wanted/needed) features as part of the distribution kernel.

As I think that Alexandre has stated his preference (and I can understand him taking a long term view), I want to ask the packagers for the distros out there: Would it be OK for you to add the necessary patch into the code that you distribute. Personally, that means Marcus and the openSUSE wine packages :-)

ciao
Joerg

Austin English, with another idea:

Perhaps a wine-experimental branch, with applicable warnings?

Getting a bunch of people to test it may give us good data on how much it improves things, which is currently lacking.

While these ideas seem promising, Marcus Meissner has doubts:

The distribution these days only accept stuff that has chances to be upstream.

Keeping it in a parallel repo forever will not fly.
Ciao, Marcus

Scott Ritchie, the Ubuntu package maintainer:

Distributions don't really "support" Wine anyway. At best we just make a new package every now and again.

As a packager, as long as Massimo is willing to keep the patches applying to the latest version and user-optional to enable, I'd be willing to bundle em. I'm normally averse to keeping deltas with Alexandre's main branch other than backports, but this one is specifically written to not do anything unless manually enabled.

Thanks,
Scott Ritchie

Henri Verbeet, with another reason to be wary of the distribution idea:

Yes, but the point is that bugs filed against such a package are potentially invalid. (People should use git for filing bugs, but not everyone does.)

Scott Ritchie:

We already expect our users to indicate if they've done any manual registry changes when reporting bugs. This seems like just another instance of that.
Thanks,

Ben Klien:

But they usually don't.

As the Debian package maintainer, I won't bundle the DIB engine until it makes it into Wine release sources. I have the same policy for any other patch (including my own simple, definitely-won't-hurt-anything-but-will-make-things-better patches) to assist in keeping bugzilla *and AppDB* "clean". Do we really want the users to submit AppDB posts that depend on who packaged the binaries?

At this point, a rather inflammatory post made it to slashdot pointing out that Wine was "frustrated" and "forking" over the DIB issue. Anybody in tune with the community can see that the validity of these points is somewhat questionable. The actual article aside, the commotion it created caused Alexandre to comment openly in a DIB thread about its acceptance into the tree.

Writing a DIB engine is not a fill-in-the-blanks exercise. A large part of the task is precisely to come up with a good design, validate it with a prototype, and then convince people (especially Huw and myself) that your design is good, that you know what you are doing, that you have anticipated the common objections and have good answers for them, that you are willing to make requested changes, that you have good test cases, etc. Showing that it more or less works on a couple of apps, or that it passes the (very few) existing gdi32 tests, is of course necessary, but by no means enough. If you want to tackle this, it will also help to have a good track record in getting simpler patches in first.

Once all of this is done and the proper design is in place in the tree, then there might be a number of fill-in-the-blanks tasks to implement the less common graphics calls that would probably be stubbed out in the first version. But we are nowhere near that point yet.

--
Alexandre Julliard

At which point I asked the somewhat obvious question:

Would you, Alexandre, say we are at this point? I.e. that Massimo's design is probably an alright prototype but he just hasn't convinced you/Huw yet and hasn't yet "anticipated common objections" etc.?

Alexandre's reply:

Well, the prototype doesn't show much evidence of a good design. Maybe Massimo has one in mind, but he hasn't explained it so far.

Massimo's response:

Well, I still think that the "goodness" of a design is a matter of taste. My design is *a* design, started because of a personal need and evoluted by *my* personal taste, which was the only way I had without proper roadmap.

Btw, I thought to have explained enough the reasons of the choosen design, but I may be wrong.... so I'll put again here the pursued goals :

1) Something usable. That means something that don't work "just for a couple of apps" but that work in general at least as current driver do. This goal il about 90% to be reached, imho. It'll be 100% in a couple of monthes, if my job will let me enough spare time.

2) Something optional. There's no point, imo, to make a driver that breaks even just one app without the ability to fall back to original gdi32/winex11. Goal 100% reached.

3) Provide a working engine that allow in deep testing of speed difference. We know that *some* apps do benefit of it (again, autocad speed gain on TT fonts is something like 50x - 100x), but I've seen that recent thoughts were those of a limited speed gain.... Well, I think that many important apps could benefit of it. Goal 80% reached, as mixed blitting is something slower than original driver. No simple way to make it as fast without touching winex11.drv.

4) "prepare the road" to a definitive migration to what I think should be the "right final design", so DIBs handled by gdi32 double buffered by DDB inside winex11.drv; mixed blitting done inside winex11. I think that one would be the only viable way if we want blitting speed *and* DIB drawing speed. My driver is doing the needed separation of 2 processes. Once completed, moving them into gdi32/winex11.drv should be quite easy and could be done stepwise.

5) for fun. Ops, that one should be the n. 1 :-)

About point 4, which, I guess, is the most important for you, the next step would be to make a winex11-2.drv on which DIB processing would be stripped away, and with added DDB buffering of DIBs and mixed blit operations. That driver could be connected to (and tested with) winedib.drv, always as an option in registry/environment.

Once ready and stable enough it should be made permanently enabled and remaining part of winedib.drv could be merged inside gdi32; that could also be made stepwise. Of course this design would mean some duplication of code in gdi32 and winex11.drv, at least if we don't want to change something in driver function tables.... which would be the best solution if it's not imposed by Microsoft behaviour (I didn't check that one, nor I think to do it for the moment).

A simple GetLine() * PutLine() that do translation between 32 bit RGBA <--> DDB inside winex11.drv and callable by gdi32 would of course avoid all code duplication needed for mixed blitting, keeping needed speed. That addition would be trivial.

I think my design has some advantages and some disadvantages to other ones, but it's superior to the "double pointer approach" taken before, for reasons already explained. The main "disadvantage", maybe the only one, is to have for some time 2 different drivers in wine..... but OTOH it allows deep testing without breaking anything.

I hope I explained enough about it. Technical details are in (maybe too abundants...) code comments.

Ciao,
Max

And Alexandre's Reply (Numbering added)

1) One of the main problems I see is that your design is based on the premise that there's only one graphics driver, the X11 driver. That's clearly not the case, DIBs can be used with any driver (and with multiple drivers at the same time). This is also why you can't have the DIB driver decide on when to forward/not forward to the X11 driver, it should go in the other direction.

2) I'm also very skeptical about mirroring DIBs with a DDB. But even if you do this that should be a purely internal x11drv decision, the DIB engine shouldn't have any notion about this at all. This means you can't expose DIB->DDB conversion routines, DDBs are entirely up to the graphics driver.

And finally Max again:

Well, I guess I expressed myself not completely corrected. [For 1) ] My engine do load the winex11 exactly as gdi32 does. That means that in must not be winex11, it can be any driver that gdi32 would have loaded. The loading phase is like this :

GDI32 <-- load any driver and gets function pointers for DC and bitmap (ORIGINAL)

GDI32 <-- load winedib.drv <-- load any driver (etcetera) (MY WAY)

The driver loading mechanics is the gdi32 one duplicated in winedib.drv. winedib.drv just intercept DIB calls and forward others to *any* other driver. Again, in my thoughts that is a "transient" phase, at the end all dib processing should go inside gdi32.

Well, that was just a thought. I think that maintaining a mirrored DDB copy would slow down just a bit drawing operations but would speed up a lot blitting. But it's not a need.

I was meaning exposing a "stripped-extended" version of GetDIBits and SetDIBits, allowing partial image transfers. Again, that's not a need, it will just avoid code duplication in gdi32 and winex11. That would allow gdi32 to read and write portions of DDB with a call to winex11.

Like it is now, you need knowledge of different DIB formats both in winex11 AND in gdi32; having this function would allow to move the "mixed blitting" stuffs almost completely inside gdi32. That's also just a suggestion.

In my engine I have a bunch of PutLinexxx and GetLinexxx that do conversion from any format do 32 bit RGBA and vice versa; the functions I spoke about are just extensions of them for handling DDB conversion to/from 32 bit RGBA, and should reside, of course, in winex11.

[For 2] I agree with you that the DDB caching of DIBs should be a winex11 stuff and totally transparent to gdi32.

Thanx for answers

Max


An Interview on DirectX 10 Archive
Direct3D

I sent off an email with a few questions to one of Wine's several DirectX experts, Stefan Dösinger who graciously replied with some enlightening information.

Q: What are some of the new things needed for DX10?

A: An HLSL compiler for one, although this language is very similar to GLSL. Microsoft moved the shader compiler out of d3d10 core, so we don't need a compiler for d3d10. However, we've a gsoc project going on to look at a HLSL compiler.

Q: What are some things which can be reused from existing WineD3D infrastructure?

A: We reused the existing wined3d code. There were some changes needed to add support for parsing SM 4.0 bytecode, merging buffers. More things are needed. Henri did a lot of work on this, he can give you more details.

Q: Did we ever find any really good use cases / apps that need dx10?

A: No, but dx11 will be out in a few months, and sooner or later there will be dx10 apps. We shouldn't fall too back behind.

Q: Also, while we're thinking about the future of wined3d, whats left in dx9? Is it mostly just edge cases / fixes left to really claim 100% full/working dx9 support or are there any major gaps in functionality/api that are missing?

A: It's mostly corner cases, and dealing with driver limitations. That can be a quite nasty thing though. e.g. take the texldd instruction. On ATI cards there's a GLSL extension for this. But on Nvidia cards, a similar feature only exists in GL_NV_fragment_program. So to properly handle this we have to prop up our ARB shader backend to shader model 3.0 using the NV specifc extensions. A lot of work for a tiny instruction. Other things are making sure that we work properly with more than just the nvidia driver. For example, I am tracking the memory manager based rewrite of the radeon mesa driver to test and file bugs, etc. The aim is that someday we can claim that "dx9 apps work", and not "dx9 apps work when you use card X driver Y on operating system Z".


XInput 2 Spec Archive
DirectInput

Paul Hampson has sent in an improved version of DirectInput based on the new XInput2 protocol in X. XInput2 (XI2) is set to be released with XServer 1.7 sometime in the second half of this year. XI2 is required for MultiPointerX (MPX) and also provides the needed support for relative mouse movements, something Wine has needed for a long time and the cause of several long standing bugs.

I've thrown together a rather-rough-but-working-in-a-limited-sense implementation of XInput2-based DirectInput.

It's got a fair few problems, I'm mainly interested in feedback on the approach, although obviously any code or style criticisms are welcome.

Current limitations:
* Doesn't check for XInput2.h, so it won't build without it. (Laziness) It will _run_ without XInput2, falling back to the current dinput WndProc hooks even if compiled with XInput2 support.

* Doesn't send button-ups; XI2 can't distinguish button up from down

* Doesn't send events after button-down until after button-up on a window. I'm pretty sure this is an XI2 bug, but it might be a design feature.

* Doesn't support exclusive mode. XI2 bug (grabs not yet implemented) Hopefully this can be implemented entirely within the dinput code in winex11drv (ie disabling and hiding the mouse on acquire. dinput already takes care of unacquiring when we are no longer the foreground app)

* Mouse buttons aren't remapped nicely downwards. Need to look harder at this, my mouse reports buttons 1, 2, 3, 4, 5, 8, 9, 10, 11 and 12 under X. 4 and 5 are scroll, 6 and 7 might be horizontal scroll in which case if this is always the case we can just remap downwards. Might need to implement device querying to confirm mouse button mapping...

* Only supports the Mouse. Adding keyboard support should be really trivial compared to actually getting the framework right.

* Doesn't detect capabilities... A mouse with a horizontal scroll wheel'd have four axes. I haven't looked to see if DirectInput can support that, or if our dinput code can easily accomodate more axes or buttons than the current 3/8 setup. This the point we'd need another callthrough from gdimouse to the graphics driver.

* Assumes a process will only try and acquire the mouse once. I'm not sure that this is a bad assumption, and it might be that dinput makes this a valid assumption for us.

* Assumes no one else wants GenericEvents. Some day we'll need a GenericEvent handler system inside WineX11, particularly if wintab gets converted to XInput 2 support. Easy enough to do now if wanted.

* gdimouse uses Wine Mouse GUID value. I'm not sure where these come from, if anywhere. Trivial to fix before submission.

If this format is fine, then the first patch is basically ready to go, the latter two patches may need to be re-split or merged more sensibly.

In the libs folder I've also attached a couple of fixes for the XI2 stuff if anyone wants to try it. One only affects 64-bit builds, and one fixes XCB locking assertions which you could probably otherwise ignore. So they're both kinda optional in the Wine context.

Also one more patch, against the xinput utility from whot's git tree, to fix a compile failure in the XI2 test functionality.

Following this there was an in depth discussion between Paul, Stefan Dösinger and Vitaliy Margolen on the proper place to implement warping and relative movement code in winex11.drv. See the full conversation .


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

Category Total Bugs Last Issue Total Bugs This Issue Net Change
UNCONFIRMED 2191 2555 +364
NEW 2098 2248 +150
ASSIGNED 39 40 +1
REOPENED 101 111 +10
RESOLVED 77 84 +7
CLOSED 12736 13589 +853
TOTAL OPEN 4429 4954 +525
TOTAL 17242 18627 +1385



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
Adobe GoLive CS2 (8.0) Silver (0.9.52) Platinum (1.1.17)
+2
Alldata 9.9 Garbage (1.1.20) Platinum (1.1.21)
+4
Day of Defeat: Source Steam Gold (1.1.18) Platinum (1.1.21)
+1
DigiSpel 1.1.10 Bronze (1.1.18) Platinum (1.1.21)
+3
DigitAal 1.1.1 Bronze (1.1.18) Platinum (1.1.21)
+3
1Space Quest 1: The Sarien Encounter Classic Colle... Gold (1.1.12) Platinum (1.1.18)
+1
Star Trek Legacy 1.0 Bronze (1.0.0) Platinum (1.1.21)
+3
Star Trek Legacy 1.2 Garbage (0.9.42) Platinum (1.1.21)
+4
Unreal 225f-226f Silver (1.0.1) Platinum (1.1.21)
+2
Alien Nations 1.0 Bronze (1.1.19) Gold (1.1.21)
+2
Demigod 1.0 Silver (1.1.15) Gold (1.1.20)
+1
F1 Challenge 99-02 Platinum (1.1.20) Gold (1.1.21)
-1
Final Fantasy XI Online Final Fantasy XI Silver (1.1.20) Gold (1.1.21)
+1
Postal 2 1.x Platinum (1.1.0) Gold (1.1.21)
-1
Train Dispatcher 3.5 Garbage (1.1.19) Gold (1.1.20)
+3
Age of Empires The Rise of Rome: Demo Bronze (0.9.45) Silver (1.1.21)
+1
Aliens Versus Predator 2 1.0.9.6 Bronze (1.1.14) Silver (1.1.21)
+1
EVE Online 6.12.* Platinum (1.1.21) Silver (1.1.22)
-2
MapInfo 8.5 Gold (1.1.18) Silver (1.1.21)
-1
Midnight Club 2 Demo Release Gold (1.1.10) Silver (1.1.21)
-1
Multiwinia 1.2.x and 1.3.x Garbage (1.1.20) Silver (1.1.22)
+2
Myst IV: Revelation 1.03 Garbage (1.1.21) Silver (1.1.22)
+2
Rome: Total War 1.x Garbage (1.1.16) Silver (1.1.21)
+2
Spore 1.0 Gold (1.1.17) Silver (1.1.21)
-1
AutoWikiBrowser 4.x Garbage (1.1.19) Bronze (1.1.21)
+1
Condor: The Competition Soaring Simulator 1.1.2 Silver (1.1.16) Bronze (1.1.21)
-1
MetaTrader 4.x Silver (1.1.21) Bronze (1.1.22)
-1
Spore 1.0 Gold (1.1.17) Bronze (1.1.21)
-2
The Responsa Project 14 Garbage (1.1.11) Bronze (1.1.15)
+1
X²: The Threat 1.4 Garbage (0.9.32) Bronze (1.1.21)
+1
Navy Field 1.x Bronze (1.1.20) Garbage (1.1.21)
-1
S.T.A.L.K.E.R. - Clear Sky 1.5.07 (1.007) Silver (1.1.15) Garbage (1.1.20)
-2
SlingPlayer 2.0 US Bronze (1.1.19) Garbage (1.1.20)
-1
Total Change
+26

Updates by the Public

Application Old Status/Version New Status/Version Change
1602 A.D. 1 Garbage (1.0-rc4) Platinum (1.1.21)
+4
3D Pinball - Space Cadet comes with win2k Gold (0.9.46) Platinum (1.1.15)
+1
After Effects 6.5 Garbage (1.0.0) Platinum (1.1.20)
+4
American Heritage Talking Dictionary 3.6a Gold (0.9.55) Platinum (1.1.16)
+1
Another World: Collector's Edition Demo 1.x Garbage (1.1.17) Platinum (1.1.21)
+4
BabasChess 4.0 Gold (1.1.19) Platinum (1.1.21)
+1
Batman Vengeance official demo (unknown version) Gold (0.9.38) Platinum (1.1.20)
+1
Battlefield 2142 1.x Gold (1.1.14) Platinum (1.1.20)
+1
Blitzkrieg 1.2 Garbage (1.1.10) Platinum (1.1.20)
+4
Call of Duty 4: Modern Warfare Demo Garbage (1.1.17) Platinum (1.1.20)
+4
ChessBase 10 Gold (1.1.20) Platinum (1.1.21)
+1
Command & Conquer: Red Alert 2 1.00x Gold (1.1.18) Platinum (1.1.21)
+1
DVD Shrink 3.2.0.15 Silver (1.1.19) Platinum (1.1.20)
+2
Diablo II Lord of Destruction 1.x Silver (1.1.20) Platinum (1.1.21)
+2
Family Tree Maker 4.0 Garbage (0.9.31) Platinum (1.1.20)
+4
1Foxit Reader Foxit Reader 3.0 for Windows - Build... Bronze (1.1.19) Platinum (1.1.21)
+3
Google SketchUp 7.0 Bronze (1.1.19) Platinum (1.1.20)
+3
Grand Theft Auto: San Andreas 1.00 Silver (1.1.19) Platinum (1.1.20)
+2
Heroes of Might and Magic II Gold (Polish) Gold (0.9.54) Platinum (1.1.22)
+1
Hitman 2: Silent Assassin 1.x Garbage (1.1.15) Platinum (1.1.16)
+4
Homeworld 2 1.x Gold (1.1.19) Platinum (1.1.20)
+1
ImgBurn 2.4.2.0 Gold (1.1.12) Platinum (1.1.20)
+1
KKND 2 Krossfire 1.0 Garbage (1.1.13) Platinum (1.1.21)
+4
Lineage 2 CT2 - Gracia: Part 1 Gold (1.0.0) Platinum (1.1.20)
+1
Medieval 2: Total War 1.x Silver (1.1.18) Platinum (1.1.21)
+2
Mystery of the Mummy NA Silver (1.0-rc4) Platinum (1.1.20)
+2
Penumbra 1.1 Bronze (1.1.14) Platinum (1.1.21)
+3
Red Faction 1.2 Gold (1.1.17) Platinum (1.1.21)
+1
Red Faction Pure Faction 2.1 Gold (1.1.18) Platinum (1.1.21)
+1
SeaClear SeaClear II Gold (0.9.53) Platinum (1.1.21)
+1
Serious Sam: The First Encounter 1.0x Silver (1.0.1) Platinum (1.1.20)
+2
Silkroad Online 1.x Garbage (1.1.20) Platinum (1.1.21)
+4
Silver Chaos 1 1.1 Garbage (1.1.0) Platinum (1.1.21)
+4
Star Trek: Armada II 1.1 Gold (1.1.13) Platinum (1.1.21)
+1
Star Trek: Voyager - Elite Force 1.x Gold (0.9.49) Platinum (1.1.20)
+1
The Elder Scrolls IV: Oblivion 1.2.x Gold (1.1.19) Platinum (1.1.20)
+1
Touhou Eiyashou ~ Imperishable Night 1.00d Gold (1.0-rc3) Platinum (1.1.21)
+1
Transcendence 0.99c Silver (1.1.0) Platinum (1.1.20)
+2
World of Warcraft 3.0.x Gold (1.1.20) Platinum (1.1.21)
+1
Zoo Tycoon 1.0-10.9 Gold (1.1.12) Platinum (1.1.20)
+1
jetAudio JetAudio 7.0 Silver (1.0-rc4) Platinum (1.1.20)
+2
mp3DirectCut 2.09 Silver (1.1.10) Platinum (1.1.21)
+2
pyscripter 1.9.9.6 Bronze (1.1.18) Platinum (1.1.21)
+3
Babo Violent 2 2.1 Platinum (0.9.54) Gold (1.1.21)
-1
Blitzkrieg II 1.5 Bronze (1.1.1) Gold (1.1.20)
+2
Braid 1.0 Platinum (1.1.15) Gold (1.1.21)
-1
ChessBase 10 Garbage (1.1.10) Gold (1.1.20)
+3
Civilization IV: Colonization 1.0 Garbage (1.1.15) Gold (1.1.20)
+3
Colin McRae Rally 2.0 1.09 Silver (1.1.21) Gold (1.1.22)
+1
Command & Conquer: The First Decade 1.x Platinum (1.1.17) Gold (1.1.21)
-1
Delta Force: Black Hawk Down 1.5.05 Platinum (1.1.10) Gold (1.1.20)
-1
EVE Online 6.12.* Platinum (1.1.20) Gold (1.1.21)
-1
Fallout 3 1.x Silver (1.1.19) Gold (1.1.20)
+1
Four Winds Mah Jong 2.09 Platinum (1.1.16) Gold (1.1.22)
-1
GMX SMS-Manager 1.15.4.01 Silver (1.1.10) Gold (1.1.17)
+1
Google SketchUp 6.x Silver (1.0.0) Gold (1.1.21)
+1
Grand Theft Auto: San Andreas Steam Silver (1.1.13) Gold (1.1.22)
+1
Grim Fandango 1.01 Bronze (1.1.17) Gold (1.1.21)
+2
Harry Potter & the Order of the Phoenix Full Bronze (1.1.19) Gold (1.1.21)
+2
Homeworld 2 1.x Platinum (1.1.20) Gold (1.1.21)
-1
Icewind Dale Heart of Winter: 1.42 Silver (1.1.16) Gold (1.1.21)
+1
Incubation: Time is Running Out 1.03 Silver (1.1.10) Gold (1.1.20)
+1
Just Cause 1.0 Platinum (1.1.14) Gold (1.1.21)
-1
Luna 2 Silver (1.1.2) Gold (1.1.21)
+1
Magic Workstation 0.94f Bronze (1.1.20) Gold (1.1.21)
+2
Manga Studio Manga Studio EX 4.0 Garbage (1.1.10) Gold (1.1.20)
+3
Mathematica 4.x Silver (0.9.54) Gold (1.1.19)
+1
Photoshop CS2 (9.0) Silver (1.1.19) Gold (1.1.20)
+1
Project 2003 Bronze (1.0-rc1) Gold (1.1.15)
+2
Rollercoaster Tycoon 2 1.00 Bronze (1.1.19) Gold (1.1.21)
+2
Shaiya latest version Garbage (1.1.20) Gold (1.1.21)
+3
Sid Meier's Civilization IV 1.74 Bronze (1.1.17) Gold (1.1.21)
+2
Spore 1.0 Silver (1.1.12) Gold (1.1.17)
+1
The Italian Job 1.0 Bronze (1.0-rc1) Gold (1.1.20)
+2
Trafiktesten 2 Silver (1.1.2) Gold (1.1.20)
+1
Tropico 2: Pirate Cove 1.2 Silver (0.9.59) Gold (1.1.20)
+1
Warcraft III The Frozen Throne: 1.x Platinum (1.1.18) Gold (1.1.19)
-1
Warhammer 40,000: Dawn of War Dawn of War Silver (1.1.0) Gold (1.1.20)
+1
World of Warcraft 3.0.x Platinum (1.1.21) Gold (1.1.22)
-1
XIII 1.3 Silver (1.1.1) Gold (1.1.20)
+1
1503 A.D.: The New World 1.0 Gold (1.1.2) Silver (1.1.21)
-1
3AaaaaAAaaaAAAaaAAAAaAAAAA!!! -- A Reckless Disreg... Platinum (1.1.16) Silver (1.1.21)
-2
Acrobat Pro 7.0 Bronze (1.0.0) Silver (1.1.20)
+1
Another War 1.0 Garbage (0.9.27) Silver (1.1.21)
+2
Assassin's Creed 1.2 Bronze (1.1.20) Silver (1.1.21)
+1
AutoCAD R14 Gold (0.9.56) Silver (1.1.19)
-1
Call of Duty 1.0 Platinum (1.1.11) Silver (1.1.20)
-2
ChemDraw 11 Bronze (1.1.10) Silver (1.1.20)
+1
Crescendo 1.0 Bronze (1.1.12) Silver (1.1.21)
+1
Diablo II Lord of Destruction 1.x Platinum (1.1.19) Silver (1.1.20)
-2
Doom: Collectors Edition Retail Platinum (1.0.0) Silver (1.1.21)
-2
Dragon Naturally Speaking 10 Preferred Garbage (1.1.14) Silver (1.1.21)
+2
Finale 2009 Platinum (1.1.18) Silver (1.1.21)
-2
Google Talk 1.0.0.104 Garbage (1.1.13) Silver (1.1.20)
+2
Gothic 3 1.x Bronze (1.1.17) Silver (1.1.21)
+1
Knights & Merchants 1.x Gold (0.9.53) Silver (1.1.21)
-1
Left 4 Dead Full (Steam) Gold (1.1.20) Silver (1.1.21)
-1
MetaTrader 4.x Platinum (1.1.16) Silver (1.1.21)
-2
Need for Speed: Hot Pursuit 2 242 Platinum (1.1.11) Silver (1.1.19)
-2
Photoshop CS2 (9.0) Gold (1.1.20) Silver (1.1.21)
-1
Photoshop CS3 (10.0) Garbage (1.1.20) Silver (1.1.21)
+2
PokerStars 2.* Platinum (1.1.17) Silver (1.1.20)
-2
Prince Of Persia 2008 1.0 Gold (1.1.10) Silver (1.1.20)
-1
Quicken 2009 Deluxe Garbage (1.1.18) Silver (1.1.21)
+2
SWAT 4 demo Garbage (1.0.1) Silver (1.1.20)
+2
Semagic 1.7.3.3 Garbage (1.1.2) Silver (1.1.20)
+2
Silent Hunter III 1.4b-EMEA Bronze (1.1.17) Silver (1.1.21)
+1
Sins of a Solar Empire 1.0 Bronze (1.1.12) Silver (1.1.17)
+1
Sins of a Solar Empire 1.05 Platinum (1.1.19) Silver (1.1.21)
-2
Slaves to Armok II: Dwarf Fortress 0.28.181.40d Garbage (1.1.19) Silver (1.1.21)
+2
Sonic Adventure DX: Director's Cut 1.0 Platinum (1.1.2) Silver (1.1.21)
-2
StarCraft Brood War: 1.x Gold (1.1.18) Silver (1.1.20)
-1
Touhou Hisouten ~ Scarlet Weather Rhapsody 1.06 Garbage (1.1.15) Silver (1.1.21)
+2
Vampire: The Masquerade - Bloodlines 1.x Bronze (1.1.13) Silver (1.1.22)
+1
Warhammer 40,000: Dawn of War SoulStorm Gold (1.1.2) Silver (1.1.21)
-1
Worms Forts: Under Siege! 1.0 Garbage (1.1.12) Silver (1.1.21)
+2
Zeno Clash April 21, 2009 Gold (1.1.19) Silver (1.1.20)
-1
mkv2vob 2.2.4 Bronze (1.0-rc4) Silver (1.1.21)
+1
ABC Amber LIT Converter 2.05 Garbage (0.9.49) Bronze (1.1.16)
+1
Adobe Flash Player 10 Platinum (1.1.14) Bronze (1.1.20)
-3
Alien Nations 1.0 Garbage (1.1.16) Bronze (1.1.19)
+1
Audiosurf Steam 2009-03-19 Gold (1.1.18) Bronze (1.1.21)
-2
AutoCAD 2005 Garbage (1.1.11) Bronze (1.1.20)
+1
Baldur's Gate II Throne of Bhaal Gold (1.1.17) Bronze (1.1.20)
-2
BloodRayne 1.0 Garbage (1.1.20) Bronze (1.1.22)
+1
Burnout Paradise - The Perfect Box 1.001 Garbage (1.1.19) Bronze (1.1.20)
+1
Call of Cthulhu: Dark Corners of the Earth 1.0 Gold (1.1.19) Bronze (1.1.20)
-2
Chaos Legion 1.0 Garbage (0.9.49) Bronze (1.1.22)
+1
Crashday 1.1 Gold (1.1.12) Bronze (1.1.21)
-2
Fallout 1.x Platinum (1.1.13) Bronze (1.1.21)
-3
Ghost Recon Advanced Warfighter 2 1.0 Silver (0.9.60) Bronze (1.1.22)
-1
GodsWar Online 1.0.205 Garbage (1.1.19) Bronze (1.1.20)
+1
Google SketchUp 7.0 Silver (1.1.18) Bronze (1.1.20)
-1
Grand Theft Auto: San Andreas 1.00 Platinum (1.1.20) Bronze (1.1.21)
-3
Hangul word process 2007 Silver (1.1.1) Bronze (1.1.20)
-1
Hellbender 1.01 Gold (0.9.55) Bronze (1.1.21)
-2
Magic Workstation 0.94f Gold (1.1.18) Bronze (1.1.20)
-2
MapSource 6.13.x Platinum (1.1.10) Bronze (1.1.20)
-3
Mirror's Edge 1.0 Garbage (1.1.18) Bronze (1.1.22)
+1
Navy Field 1.x Garbage (1.1.12) Bronze (1.1.20)
+1
Neverwinter Nights II 1.22 Garbage (1.1.19) Bronze (1.1.20)
+1
QuickTime Player 7.1.x Garbage (1.1.17) Bronze (1.1.20)
+1
QuickTime Player 7.3.x Garbage (0.9.53) Bronze (1.1.20)
+1
QuickTime Player 7.4.x Garbage (1.0-rc4) Bronze (1.1.20)
+1
QuickTime Player 7.5.x Garbage (1.1.14) Bronze (1.1.20)
+1
Rise of Nations 1.0 Gold (1.1.17) Bronze (1.1.20)
-2
Rome: Total War 1.6 (Barbarian Invasion addon) Silver (1.1.15) Bronze (1.1.18)
-1
Rome: Total War 1.x Garbage (1.1.16) Bronze (1.1.21)
+1
Runes of Magic Official Release Gold (1.1.17) Bronze (1.1.21)
-2
San Andreas Multiplayer 0.2X Garbage (1.1.14) Bronze (1.1.20)
+1
Star Wars: Episode I - The Phantom Menace 1.1 Silver (0.9.37) Bronze (1.1.20)
-1
Team Fortress 2 - Steam May 21, 2009 Gold (1.1.18) Bronze (1.1.20)
-2
The Elder Scrolls IV: Oblivion 1.2.x Gold (1.1.19) Bronze (1.1.20)
-2
The Witcher 1.0 Silver (1.1.12) Bronze (1.1.21)
-1
Acrobat Pro 8.0 Bronze (1.0-rc1) Garbage (1.1.21)
-1
BloodRayne 1.0 Gold (1.0-rc1) Garbage (1.1.20)
-3
Burnout Paradise - The Perfect Box 1.001 Bronze (1.1.20) Garbage (1.1.21)
-1
DVDFab Platinum 4.1.2.0 Silver (0.9.59) Garbage (1.1.17)
-2
Death Worm 1.04 Platinum (1.0-rc1) Garbage (1.1.20)
-4
FineReader 8.0 Professional Platinum (1.1.12) Garbage (1.1.21)
-4
Grand Theft Auto Free Download Gold (1.1.10) Garbage (1.1.21)
-3
Guitar Hero III 1.0 Silver (0.9.61) Garbage (1.1.20)
-2
5Harry Potter and the Chamber of Secrets Retail CD... Silver (1.1.0) Garbage (1.1.20)
-2
Internet Explorer 7.0 Bronze (1.1.16) Garbage (1.1.20)
-1
5MSN Messenger Service 8.5 (Windows Live Messenger... Bronze (1.1.19) Garbage (1.1.20)
-1
MapSource 6.15.x Gold (1.1.19) Garbage (1.1.21)
-3
Max Payne 1.05 Platinum (1.1.18) Garbage (1.1.21)
-4
Mortal Kombat 4 1.00 Gold (1.1.13) Garbage (1.1.20)
-3
Myst IV: Revelation 1.03 Bronze (1.1.1) Garbage (1.1.21)
-1
Photomatix 3.0.1 Bronze (0.9.58) Garbage (1.1.18)
-1
QuickTime Player 2.x 32-bit Platinum (1.1.2) Garbage (1.1.20)
-4
Quicken 2009 Deluxe Bronze (1.1.13) Garbage (1.1.18)
-1
Railroad Tycoon 3 CD Silver (1.1.18) Garbage (1.1.21)
-2
Revenant 1.0 Bronze (1.1.16) Garbage (1.1.21)
-1
Runes of Magic Official Release Gold (1.1.17) Garbage (1.1.21)
-3
S4 League 1.8.20 Platinum (1.1.11) Garbage (1.1.22)
-4
Shaiya latest version Gold (1.1.19) Garbage (1.1.20)
-3
Sid Meier's Civilization III 1.29f Silver (1.1.10) Garbage (1.1.21)
-2
Silkroad Online 1.x Platinum (1.1.16) Garbage (1.1.20)
-4
Simcity 3000 (UK Edition) 2.5 Bronze (1.1.14) Garbage (1.1.20)
-1
The Elder Scrolls IV: Oblivion 1.2.x Gold (1.1.19) Garbage (1.1.20)
-3
The Witcher 1.0 Silver (1.1.12) Garbage (1.1.21)
-2
WinMX 3.54 Beta 4 Gold (1.1.13) Garbage (1.1.19)
-3
X-Men: Legends II - Rise of Apocalypse 1.0 Silver (0.9.27) Garbage (1.1.20)
-2
XIII 1.4 Silver (1.1.15) Garbage (1.1.21)
-2
Yahoo Instant Messenger 9.0 release Bronze (1.1.20) Garbage (1.1.21)
-1
and yet it moves 1.04 Silver (0.9.50) Garbage (1.1.20)
-2
mingw 5.1.x Platinum (1.1.18) Garbage (1.1.21)
-4
nLite 1.4.x Platinum (1.1.17) Garbage (1.1.21)
-4
Total Change
+17

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.