WineHQ

World Wine News

All the news that fits, we print.

08/26/2008
by Zachary Goldberg
Issue: 351

XML source
More Issues...

This is the 351 issue of the World Wine News publication. Its main goal is to update the community on the status of the patchwatcher and other major august developments. If this issue also helps to spread peace in the world the editor will be very content. 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, 509 posts consumed 764 K. There were 113 different contributors. 63 (55%) posted more than once. 28 (24%) posted last week too.

The top 5 posters of the week were:

  1. 60 posts in 75K by dank at kegel.com (Dan Kegel)
  2. 32 posts in 34K by dmitry at codeweavers.com (Dmitry Timoshkov)
  3. 24 posts in 24K by juan.lang at gmail.com (Juan Lang)
  4. 21 posts in 34K by truiken at gmail.com (James Hawkins)
  5. 19 posts in 21K by julliard at winehq.org (Alexandre Julliard)

News: Wine 1.1.3, gOS bundling 1.0, Wine Popularity Archive
Wine

Alexandre Julliard was out on vacation for a week or so in early August and so we missed a revision bump week. Wine 1.1.3 was released on August 22nd, with a hefty few weeks worth of changes. The following list only does it the tiniest bit of justice:

 * Beginnings of ddraw overlay support.
 * Many more crypt32 functions.
 * Improved support for tables in Richedit.
 * Support for NETWM window maximization.
 * Many installer fixes.
 * Tweaks for better PulseAudio support.
 * Various bug fixes.

In other news, gOS , the 'good' OS, has announced their most recent beta which includes Wine 1.0 built in. We mentioned building up to 1.0 that we suspected that more and more packagers would incorporate Wine into their products and it seems to be coming to pass.

Dan Kegel sent in a link to a Linux Journal survey of what Linux users use to run their windows applications. As of this publication it looks like Wine is in the lead with approximately 40% of the vote, followed by VirtualBox, 'none' and VMWare each with 15-20%.

Scott Ritchie wrote in to ask about Steam usage statistics. Steam, valve's gaming hub offers users an opt in survey about their system. In the past we were able to poll this data to determine an approximate number of steam users who are using Wine. This time Alfred Reynolds responded with information about the survey:

We recently switched our survey system from a monolithic bi-yearly survey to a monthly rolling survey with a subset of the userbase each month, so we can get a continuous view of changes in hardware amongst our users.

We have 2 months of good data to date, Wine usage has increased from 0.33 to 0.36% over that month, but given the small number of Wine responses any increase would be in the margins of error. So Wine usage looks steady since last year amongst the Steam usebase as a whole.

As always the Steam Survey is an opt-in system so usual reporting biases could apply.


The PatchWatcher Archive
PatchWatcher

In early August Dan Kegel proposed that he begin work on a 'Patch Watcher'. A daemon which would monitor the wine-patches mailing list, test each submitted patch for problems and report its status. Well a few weeks have passed and we have seen a lot of progress. Lets start the story at the beggining, Dan's original post:

After some discussion with Jeremy and Alexandre about how nice it would be to have some automated way to check patches before Alexandre commits them, I decided to have a go at creating one.

What I have so far is a script that watches wine-patches and applies each patch to current git, then builds, and sends email with a subject line saying whether it worked, and a body containing a short "I'm a build robot" note, the patch, and the build log.

You can see the code at http://code.google.com/p/winezeug/source/browse/#svn/trunk/patchwatcher Its main failing is that it doesn't understand patch series yet, but I should be able to get that going by rewriting get-next-patch.pl to take a bit more context into account.

Right now it only emails the results to me, but it's probably nearly good enough to show results to other people.

Question: where should the results go? I could put them up on a web site and/or email them to the patch's author and/or email them to a dedicated mailing list (e.g. [email protected]?) and/or email them to wine-devel.
- Dan

The immediately following discussion was a lot of praise for the idea, and a consensus that emailing the patch author and posting results to a website were the two appropriate actions the patchwatcher should take. Additionally there were some pretty serious security concerns from Ambroz Bizjak:

Just where are you going to run that? To me, a script that builds just every patch is a serious security flaw; I suppose it wouldn't be very hard for someone to send a naughty patch that would take control of your machine. Something like editing a Makefile. I suggest you make it build patches in a chroot as a regular user, and copy over the chroot from a template every time a new patch is being built.

Dan agreed about the security issues, but mentioned that it might be difficult to do. Ambroz offered his assistance as he's familiar with OS architecture. A few days later Ambroz delivered a version 1 patch for patchwatcher to use a chroot:

I've written some code for the chroot, though it has proven to be harder than I taught it would, especially because of all the development tools and libraries that need to be copied into the chroot. Right now it will only work on Gentoo, other distributions will require some fine-tuning of paths, especially the toolchain. Dan, if you tell me which distro you use, I'll try to get it working there as well.

To use it, you first need a second user in the system (not the one you're using!) that has read-access to files you create with default permissions (but no write access). Specify that user in the file "config" and run "patchwatcher.sh initialize_chroot". If everything goes well you will be able to get a shell inside the chroot with "patchwatcher.sh chroot-shell" or "patchwatcher.sh chroot-shell-owner" after running some commands displayed as root. After having a working chroot, use the initialize_tree command to setup the wine source (it's inside the chroot), and the "run" option to start continuous building.

Aside from security concerns there were also concerns about performance, and if it would be possible to simply keep up with the mailing list. In the end it was decided that we would wait and see if it's a problem, if so maybe consider using Dan Kegel's parallel test suite patches.

About a week after Dan's original thread he began another one, this time with information about the patchwatcher's online results.

For the moment, the results only go to a web page, http://kegel.com/wine/patchwatcher/results/ Most of the results there right now are just test messages so you can see how it will look when real patches with various problems are received. The scripts are a bit ugly, so expect problems to linger for the next week or so while I work out the kinks.

Much praise followed, along with a tiny bit of bikeshed painting about the colors on the site. There also seems to be desire for a way to signal to patchwatcher to ignore the patch.

Finally there remained two issues with the patchwatcher. Patch series and character set corruptions (from mail clients, from the patchwatcher itself). As of 8/22, exactly 20 days from the introduction of patch watcher Dan proclaims the patchwatcher to be mostly satisfactory:

I think I fixed the charset munging, so patches of non-english stretches of code should work now. That was the last big source of false failure reports, so I'm going to enable email notification to people whose patches fail.

I'll probably clear the results page tonight to get rid of all the bogus failure notices caused by the charset conversion bug.

You can view the patchwatcher's results online here: http://kegel.com/wine/patchwatcher/results/.


DiB Engine Status Archive
DiB Engine

Huw davis kicks off a discussion about the current state of implementing a DiB engine. See WWN archives for more history about the DiB engine and why its so important.

Hi folks,

Here's an update on the DIB engine that I've been working on for the last few months. This work has been made possible by the generosity of Google - so thanks go to them and of course to Dan.

You can find the code at http://repo.or.cz/w/wine/dibeng-hd.git

What's supported
---------------
- All dib section depths (including BI_BITFIELD support).
- Single pixel solid and dashed pens.
- The 16 rop2s.
- Solid and dib pattern brushes.
- A brunch of primitives for drawing onto all dib section surfaces.
- GDI32 apis: LineTo, Rectangle and PatBlt.
- An extensive test suite for all of the above.

What needs to be done
----------------
- Blitting (eg BitBlt, StretchBlt and StretchDIBits) - I have some hacks for these in my tree.
- ExtTextOut
- Many more GDI32 apis - a lot of these should be easy given that we have a set of underlying dib drawing primitives.
- Non-MM_TEXT mapping modes and world transforms.
- The initial interaction with GDI32 in BITMAP_SelectObject is hacky and needs some work.
- Lots more...

Note that at the moment it's essentially useless because of the lack of blitting, so unless you fancy hacking on that yourself then you probably don't want to bother fetching the tree.

I'm going to stop working on this for a while (lots of fun Outlook 2007 bugs for me to look at!), but will endeavour to keep the tree up to date with respect to WineHQ. If someone *does* want to hack on this then feel free to send me patches!

Thanks,
Huw.

Serge writes in:

Hello, Huw!
Did you hear anything about Jesse Allen's version of DIB Engine: http://article.gmane.org/gmane.comp.emulators.wine.devel/53234 (His version - http://repo.or.cz/w/wine/dibdrv.git ) Do you know why it was neccesary to restart solving this problem with your work instead of accepting and developing that version? We'd like to continue develop your version. When are you going to remain this project?

Thanks, Serge.

Jesse Allen

Mainly because I don't have time, I only have access to that git, and I have another job :) I did a bit of work on it last december that I didn't release. It's still on my hard drive. Huw's DIB tree is similar in concept to what I did. He was my mentor if you remember. But it doesn't mean what I was doing was usable. I trust Huw can manage building the basis of a DIB engine alot better than me. But I will likely download his tree and play around with it before school starts again.

Francois Gouget

An important thing to note about this work is that its architecture should be acceptable to Alexandre. So it can go into WineHQ, the only blocker being that it's not quite complete enough yet.

So that leads to the most important question:

what's needed to allow it to go into WineHQ?

Blitting I guess. Everything else in the list below? Can we avoid having to implement everything before we can commit it?

Jesse Allen

Could we forward unimplemented stuff back to x11drv now? That's one thing I never really did so my code seemed like it broke alot of stuff because of how much was missing.

Huw Davies

Great! Please send me patches and I'll apply them. I'll probably merge with WineHQ on every WineHQ release.

I'm not planning on doing any work on it for a while, but will probably return to it at some point in the future.


Kernel bug inhibiting force feedback Archive
Kernel

Vitaliy Margolen encountered an interesting kernel bug in working on some force-feedback issues:

While debugging some force-feedback issues ran into an interesting problem. The size of one struct from include/linux differs between 32-bit and 64-bit. That wouldn't be a major problem except that size is the part of the ioctl() request. Which results in EINVAL.

In more details:

input.h: #define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, sizeof(struct ff_effect))

The simple test program: #include linux/input.h #include stdio.h int main(int argc, char * argv[]) { printf("sizeof(struct ff_effect) = %d EVIOCSFF=%#x\n", sizeof(struct ff_effect), EVIOCSFF); return 0; }

$ gcc test_size.c -o test_size && ./test_size sizeof(struct ff_effect) = 48 EVIOCSFF=0x40304580 $ gcc -m32 test_size.c -o test_size32 && ./test_size32 sizeof(struct ff_effect) = 44 EVIOCSFF=0x402c4580

The question is what do we do about it? I'm sure there are might be more cases like that.
Vitaliy

A couple devs. wrote in with the notion that it's likely a Kernel bug, Dmitry Timoshkov writes in definitively:

64-bit kernel should take care of translating the parameters between native 64-bit and emulated 32-bit modes. If that's not the case that's a kernel bug, and should be reported appropriately.


Wine Development Guide Archive
Development Process

Dan Kegel pointed out an interesting guide over in Linux land about development and community which he felt might be a good role model to have for Wine.

This guide seems rather well written: http://ldn.linuxfoundation.org/how-participate-linux-community Wine could probably use something similar.

Discussion following seemed to be positive on the idea of creating such a guide. Even based on some confusion in this discussion itself it seems to indicate just how useful such a guide would be. However, at the end of the discussion nobody had volunteered to put one together.

If anybody familiar with the Wine development community is interested in working on a guide for new developers please email [email protected]!


Spore and Wine Archive
Spore

So single applications don't usually get much WWN coverage but Spore has been so outstandingly high profile in the gaming world that this may be interesting to many a reader. The AppDB entry for Spore indicates that gamers have had some success with the game. A very interesting bug was filed with some details on some fixes that are in progress.

A patch was submitted to wine-patches but rejected by Stefan Dösinger due to a lack of conformance tests. The discussion is slightly technical but not so much that its unreadable. I think its at just the right level to be interesting reading. Andrew Fenn:

By looking at both Rico's patch (http://bugs.winehq.org/attachment.cgi?id=15501) and this patch here by [email protected] (http://bugs.winehq.org/attachment.cgi?id=15361) I made a new patch which is kind of a combination of the two.

The patch gets rid of the UI bug (http://bugs.winehq.org/show_bug.cgi?id=13988), the part descriptions not showing bug (http://bugs.winehq.org/show_bug.cgi?id=14818) and the problem with the creature being hidden behind the grass. The problem with there being black squares on the creature when in windowed mode still exists (http://bugs.winehq.org/show_bug.cgi?id=14921).

I have run the program over 20 times and it runs every time correctly even if I change all the settings in ConfigManager.txt to "$High".

Regards,
Andrew

Stefan Dösinger

These changes may be correct, but they need a test. Take a look at dlls/d3d9/tests/device.c to see how the other tests look. I guess the changes are likely to be correct, but they have to be tested

A couple comments about coding style later and Andrew writes in with an interesting question

I'm alittle confused, are you suggesting that if SetScissorRect receives a null value that if should default to the window size? or do you mean that perhaps GetScissorRect should call SetScissorRect and return a correct value instead of null?

If I understand you correctly it sounds like another problem and I think that checking should still be done on SetScissorRect as currently there is no checking being done where as the documentation states that D3DERR_INVALIDCALL is returned if SetScissorRect gets an invalid or null rectangle.

I'm currently rewriting the tests and patch so I'll let you know when I am done.

PS: I just looked at wine's implementation of GetScissorRect and it looks wrong as well. It should be returning D3DERR_INVALIDCALL if there is no value and perhaps maybe if scissor test hasn't been enabled.

Rico Schüller responds

No. {0,0,0,0} is a valid scissorrect. You could set it and get it. It is valid. Wines default scissorect is wrong, it has to be the size of the first swapchains backbuffer. I have a patch for this one. I'll send it later today.


Summer of code wrap up Archive
Summer of Code

Maarten Lankhorst writes in with a reminder to submit evaluations for GSoC students:

Hi all,
As you may know yesterday was the pens down for summer of code 2008 Students are still allowed to write code, but it won't count for the mentors evaluation any more.

I would like to request from the mentors to fill in the final evaluation form and from the students to give a final write up: What went well? Did you meet the goals you set? Did you have fun? Is there anything we can do to make wines summer of code better and do you feel like you've become part of the wine community?

I also believe that students will have to fill in a final evaluation form as well, so get writing. ;-)

Cheers,
Maarten.

Gal Topper:

Hi everyone, I'm glad to say that my project to implement PrintDlgEx* went very well, as I've implemented almost everything by the deadline, and have test cases for every meaningful non-interactive scenario, AFAICT. The only feature that I have not had time to implement and test is the lpCallback member (see here: http://msdn.microsoft.com/en-us/library/ms646844(VS.85).aspx ), which is tricky due to the COM involved, and to the fact that there is nothing to test against. The only application that I know of that uses it is Windows Address Book, which does not work in Wine. The up side of this situation is of course that no application is affected by the stubbing of this feature, at least for now.

The list of applications that benefit from this new implementation includes mostly Microsoft software, such as IE6 (and probably IE7, for anyone who can get it running in Wine), Paint, and (Microsoft's) Notepad. Bibleworks has also been reported to require this function.

Plans for now and beyond: Get all this SoC code committed into trunk, then stick around for whatever maintenance that may be needed, and hopefully find another piece of the codebase that I would like to work on.

Overall, this summer of code has been a great learning opportunity for me and a great a experience.

Thank you!
-Gal

Owen Rudge

Hi all, I'd say my project has gone quite well. I've completed the main objectives of my project, including fixing the shell namespace implementation of Control Panel, improving the built-in control panel, and working on some new control panels to improve Wine's configuration options (Add/Remove Programs, plus a new Desktop control panel that I'm just tidying up ready to submit this week). While I will have university-related things to carry on with in September, I'm not intending to disappear completely - I'm hoping to split off and tidy up the multimedia settings in winecfg to its own control panel, too, and then tidy up winecfg a bit, making it more logical by restricting it to panels that are specific to Wine itself. So hopefully you'll still see me around a bit. :-)

Overall, I rather enjoyed Summer of Code, and learnt a lot about how to go about getting things done in an open source environment. Thanks to all, particularly my mentor Juan, for help and support along the way!

Cheers,

Piotr Caban

I think that my Summer of Code worked well. My task was to implement SAX reader and fix other bugs from bugzilla. SAX reader is currently complet enough for apps that I've tested. I've fixed many bugs from bugzilla. My main problem was that I couldn't reproduce many bugs. Also there are many bugs that wait for retesting or are not actual.

Regards, Piotr Caban

Adam Petaccia

I greatly enjoyed summer of code, and I would like to think that I emerged a much better programmer than when I started, and yes, it was a lot of fun. A lot of bugs I saw for Gdiplus were installer bugs, so hopefully many more applications are installable under Wine -- but when people discover that there may be even more bugs opened :-)

While it can be annoying to have a patchset rejected five times, it's satisfying to fix myself it rather than see "based on a patch from..."; also I love the quality standards and peer-review that Wine has, as that made the code a lot easier to work with, because just about everything was in good shape when I got it, and I hope that the next person who looks at Gdiplus will think so too.

I will try to stay a part of the Wine community, but now that Summer of Code is done I have a lot fewer itches to scratch (Quicktime is my new target, but I have no idea how long that will take with school).

All in all, its been a blast. I would like to thank my mentor, Lei for helping me when I was completely stuck, Alexandre for dealing with me over IRC when I ask "why?", and everyone else who's posted comments saying "You can't do it like that".

Ismael Barros

My project didn't go bad, but I was only able to complete around 40% of what I expected to do in the begining, it turned out to be bigger than I thought. I'll try to finish it, but I probably won't be able to start working on it again until mid-september (exams, other projects abbandoned due to GSoC, etc), and then my progress will be much slower.

I really enjoyed this SoC, I was able to update my skills and learn to work in a big project. Thanks to kblin and to all the people who reviewed my code and bothered to suggest improvements :)

Cheers

Dylan Smith

I am happy that I got the complete main task that I wanted to get done, which was adding support for tables in richedit controls. There are some finer details that I would still like to finish, such as the selection behaviour within tables. I also need to fix a regression that has come to my attention, and review any of my patches that weren't accepted yet. All of this will be easier to do once I get back to my development computer, since I am still away from my home in Ottawa.

I was also able to spend time on plenty of other richedit control issues that weren't related to implementing tables. I found this helped me to get to know the richedit code quite well, as well as the code for wordpad which I often used for ad hoc testing. I did end up spending more time on this than expected, so I decided not to attempt working on windowless richedit controls during the GSoC coding period, however I only mentioned that I would work on windowless richedit controls if sufficient time were available.

I have also managed to learn a lot during this project, which was the first open source project that I had contributed to. I have also learned a lot more about development in a unix environment since windows was my main operating system until 9 months ago when forced myself to use linux primarily and confine windows to a VM.

I am also glad that I have the opportunity to continue working on Wine, since it is open source. Hopefully I will find enough free time during my Masters to continue contributing to Wine.


Google's Lively Archive
Lively

Dan Kegel sent in a modified patch stemming from a bug report for Google's Lively. Nothing about his post is particularly exciting however the bug report itself provides for a pretty insightful read for anybody interested in how the process of making an application work in Wine goes.


Unreliable Conformance Tests Archive
Test Suite

As part of the patchwatcher rush certain tests which inconsistently fail began to cause issues. Dan Kegel:

So, one of the things one learns when writing a patch robot is that flaky tests are very annoying.

Each time it gets a new git tree, the robot does five baseline "make -k test" runs, remembers the tests that fail, and doesn't penalize patches for failing any of those tests. See http://code.google.com/p/winezeug/source/browse/trunk/patchwatcher/patchwatcher.sh#92

Annoyingly, that's not enough. Some tests stubbornly refuse to fail during the baseline test runs. So I added a second, manual blacklist for those tests; see http://code.google.com/p/winezeug/source/browse/trunk/patchwatcher/patchwatcher.sh#63 The list is currently user32:msg.c user32:input.c d3d9:visual.c ddraw:visual.c urlmon:protocol.c kernel32:thread.c and will continue growing as I keep plugging away at getting the patch robot happy.

Henri Verbeet and Stefan Dösinger both agreed that some of the d3d test failures are likely due to driver bugs, and that the patchwatcher might have better luck using mesa drivers. The other tests though havn't gotten much attention and are still on the blacklist!


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

Category Total Bugs Last Issue Total Bugs This Issue Net Change
UNCONFIRMED 2282 2391 +109
NEW 1852 1879 +27
ASSIGNED 35 36 +1
REOPENED 80 80 0
RESOLVED 918 889 -29
CLOSED 9582 9740 +158
TOTAL OPEN 4249 4386 +137
TOTAL 14749 15015 +266



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
Age of Empires II The Age of Kings: 2.x Gold (1.0.0) Garbage (1.1.3)
-3
Bookworm Adventures Deluxe 1.0.1.100 Platinum (1.0.0) Garbage (1.1.1)
-4
Call of Duty 4: Modern Warfare 1.6 Gold (1.1.2) Garbage (1.1.3)
-3
Civilization II: Multiplayer Gold Edition 1.3 Bronze (1.1.2) Garbage (1.1.3)
-1
Drakensang: Das Schwarze Auge Demo Garbage (1.0.0) Bronze (1.1.2)
+1
EditPlus 3.X Silver (0.9.58) Platinum (1.1.2)
+2
Emperor: Rise of the Middle Kingdom 1.x Gold (1.1.2) Platinum (1.1.3)
+1
Global Operations 2.0 Silver (1.1.0) Gold (1.1.2)
+1
Gox Box 2.5 Bronze (1.1.0) Platinum (1.1.2)
+3
Guild Wars All Versions Gold (1.0.0) Platinum (1.1.2)
+1
Halo: Combat Evolved 1.0x Silver (1.0-rc1) Garbage (1.1.2)
-2
Heavy Weapon Deluxe 1.0 Gold (1.0.0) Garbage (1.1.2)
-3
Insaniquarium Deluxe 1.1 Gold (1.0.0) Garbage (1.1.2)
-3
Kaspersky Anti-Virus 7.x Garbage (1.0-rc3) Silver (1.1.2)
+2
Marvel Ultimate Alliance 1.0 Silver (1.0-rc2) Gold (1.1.3)
+1
Myst IV: Revelation 1.03 Garbage (1.0-rc2) Bronze (1.1.1)
+1
Peggle Deluxe 1.0 Platinum (0.9.49) Garbage (1.1.2)
-4
Photoshop CS2 Silver (1.1.0) Platinum (1.1.3)
+2
Soulbringer 1.x Garbage (0.9.55) Gold (1.1.2)
+3
SpongeBob SquarePants: The Movie 1.0 Platinum (1.1.1) Gold (1.1.2)
-1
Star Trek: Bridge Commander 1.1 Platinum (1.1.2) Garbage (1.1.3)
-4
Sword project from crosswire 1.5.11 Silver (1.1.0) Platinum (1.1.2)
+2
TablEdit V2.65 Gold (0.9.51) Platinum (1.1.2)
+1
Touhou Fuujinroku ~ Mountain of Faith 1.00 Gold (0.9.50) Platinum (1.1.3)
+1
Typer Shark Deluxe 1.02 Gold (1.0.0) Garbage (1.1.2)
-3
Unreal Tournament 3 Retail Garbage (1.1.1) Bronze (1.1.3)
+1
Warhammer Online Beta 3.3 Bronze (1.1.1) Garbage (1.1.2)
-1
WinRAR 3.x Silver (1.0.0) Platinum (1.1.2)
+2
Ys origin 1.1.0.0 - Adol Version Silver (1.0-rc1) Platinum (1.1.0)
+2
Zuma Deluxe 1.0 Gold (1.0.0) Garbage (1.1.2)
-3
mIRC 6.xx Silver (1.1.1) Gold (1.1.2)
+1
Total Change
-7

Updates by the Public

Application Old Status/Version New Status/Version Change
18 Wheels of Steel: Across America 1.0 Platinum (0.9.46) Silver (1.0.0)
-2
3D GameStudio 6.31.4 / WED V.269 Silver (0.9.13) Platinum (1.1.2)
+2
AVR Studio 3.56 Gold (0.9.46) Garbage (1.0.0)
-3
After Effects 6.5 Silver (1.0-rc1) Garbage (1.0.0)
-2
Age of Mythology 1.0 Gold (0.9.61) Garbage (1.0.0)
-3
America's Army: Special Forces 2.8.3.1 Silver (0.9.61) Bronze (1.1.2)
-1
AmiBroker AB 5.10 Bronze (1.0.0) Gold (1.1.2)
+2
Armada Online Alpha Bronze (0.9.52) Garbage (1.1.2)
-1
Arx Fatalis 1.x Garbage (0.9.59) Bronze (1.0.0)
+1
Audiosurf Steam 2008-05-09 Silver (1.0-rc1) Bronze (1.1.2)
-1
Battlezone 2 1.3 Public Beta Silver (1.1.0) Garbage (1.1.3)
-2
Betrayal in Antara 1.1.0 Garbage (0.9.46) Gold (1.0.0)
+3
Bionic Commando: Rearmed 1.0.0 Garbage (1.1.2) Bronze (1.1.3)
+1
Black & White 1.0 Garbage (0.9.58) Bronze (1.1.2)
+1
Blood Omen: Legacy of Kain 1.0 Silver (0.9.39) Bronze (1.0.0)
-1
BookWorm Deluxe 1.13 Garbage (1.0.0) Platinum (1.1.2)
+4
Breath of Fire IV 1.0 Gold (1.0.0) Bronze (1.1.2)
-2
Bridge Base Online 5.x Platinum (0.9.61) Silver (1.1.1)
-2
Call of Cthulhu: Dark Corners of the Earth 1.0 Gold (1.1.0) Bronze (1.1.2)
-2
Call of Duty 4: Modern Warfare 1.0 Garbage (1.1.0) Gold (1.1.2)
+3
Chip's Challenge 1.0 Platinum (1.1.0) Silver (1.1.3)
-2
City Life 1.0 Garbage (0.9.32) Silver (1.1.2)
+2
Codename: Panzers Phase Two 1.06 Gold (0.9.50) Silver (1.0-rc4)
-1
Colin McRae Rally 2005 1.1 Garbage (1.1.2) Gold (1.1.3)
+3
Command & Conquer 3: Tiberium Wars Kane's Wrath: 1... Gold (1.0-rc2) Silver (1.1.0)
-1
Command & Conquer Gold Global Defense Initiative D... Gold (0.9.58) Platinum (1.1.1)
+1
Command & Conquer: Red Alert 1.0-3.03 Platinum (1.0.0) Gold (1.1.0)
-1
Command & Conquer: Red Alert 2 1.00x Platinum (1.0.0) Garbage (1.1.2)
-4
Conquer Online 2.0 Garbage (1.0-rc1) Gold (1.1.2)
+3
Creatures 3 1.0 Gold (0.9.44) Garbage (1.1.2)
-3
Crusaders of Might and Magic 1.x Garbage (0.9.41) Silver (1.0.0)
+2
Delphi 6 Gold (0.9.59) Garbage (1.1.1)
-3
Dungeon Siege 1.11.1462 Garbage (1.0.0) Bronze (1.1.2)
+1
Dungeon Siege II 2.x Platinum (1.0-rc2) Garbage (1.1.3)
-4
Dusk 1.1 Gold (0.9.44) Silver (1.1.2)
-1
EDuke32 1.4.0 SVN Silver (0.9.52) Gold (1.1.2)
+1
Earth 2150 2.8.7 Silver (0.9.41) Bronze (1.1.2)
-1
Emperor of the Fading Suns 1.4 Bronze (0.9.31) Garbage (1.0.0)
-1
Emperor: Battle for Dune 1.0x Gold (1.1.0) Garbage (1.1.2)
-3
EndNote 9.0 Gold (0.9.44) Garbage (1.0.0)
-3
Enter the Matrix 1.52 Platinum (0.9.51) Gold (1.1.2)
-1
Eudemons Online 1115 Bronze (1.1.2) Garbage (1.1.3)
-1
Evil Genius 1.00 Gold (1.0.0) Bronze (1.1.2)
-2
FAR Manager 1.7 Garbage (0.9.55) Gold (1.1.2)
+3
FL Studio 7.0 Gold (0.9.52) Garbage (1.1.2)
-3
FL Studio 8.0 Demo Bronze (0.9.59) Silver (1.1.2)
+1
Far Cry 1.x (32-bit) Gold (1.1.0) Silver (1.1.2)
-1
FileMaker Pro 5.0 Bronze (0.9.22) Gold (1.1.2)
+2
Final Fantasy 8 1.0 Bronze (1.0-rc4) Gold (1.1.2)
+2
Final Fantasy XI Online PlayOnline Viewer and Tetr... Garbage (1.1.0) Bronze (1.1.3)
+1
Finale NotePad 2007 Bronze (0.9.35) Platinum (1.1.2)
+3
Flash CS3 Garbage (0.9.61) Bronze (1.0.0)
+1
FreeLancer 1.x Silver (1.1.0) Bronze (1.1.2)
-1
Freescale Code Warrior Development Studio R8.0 Bronze (0.9.25) Gold (1.1.2)
+2
Galactic Civilizations II: Dread Lords 1.x Silver (1.0.0) Gold (1.1.2)
+1
Geometry Wars: Retro Evolved 1.0.0.3 Garbage (1.1.2) Bronze (1.1.3)
+1
Gigaget (or XunLei / 迅雷) 1.0.0.23 Gold (0.9.53) Silver (1.0.0)
-1
Google SketchUp 6.x Garbage (1.0.0) Bronze (1.1.3)
+1
Grand Theft Auto III 1.1 Garbage (1.1.1) Gold (1.1.2)
+3
Grand Theft Auto: San Andreas 1.01 Gold (1.1.0) Silver (1.1.2)
-1
Greedy Torrent v1.01 Beta Gold (1.1.1) Bronze (1.1.2)
-2
Guitar Pro 5.x Silver (1.0.0) Platinum (1.1.2)
+2
Guitar Rig (2 and 3) 3.XX Bronze (0.9.51) Silver (1.1.2)
+1
Halo: Combat Evolved Trial Platinum (1.0.0) Silver (1.1.2)
-2
Hearts of Iron II Armageddon Silver (1.0.0) Platinum (1.1.1)
+2
Hearts of Iron II Doomsday Garbage (1.0-rc4) Gold (1.0.0)
+3
Hitman 2: Silent Assassin 1.x Platinum (1.1.1) Silver (1.1.2)
-2
Homeworld 1.05 Garbage (1.0.0) Gold (1.1.2)
+3
IETester 0.2 Garbage (0.9.59) Bronze (1.1.2)
+1
Ikea Home Planner 2008.x Garbage (1.0-rc4) Bronze (1.0.0)
+1
Inno Setup 5 Platinum (1.0-rc1) Gold (1.0.0)
-1
IrfanView 4.x Gold (1.0-rc3) Platinum (1.1.2)
+1
King's Bounty: the Legend (new, 2008) 1.0 Garbage (1.0-rc1) Silver (1.1.2)
+2
LEGO Star Wars II: The Original Trilogy 1.01 Bronze (1.0.0) Gold (1.1.3)
+2
Lara Croft Tomb Raider: The Angel of Darkness 1.00 Garbage (0.9.30) Bronze (1.1.2)
+1
Learnkey 1.0 Gold (0.9.49) Garbage (1.1.2)
-3
Line6 Vyzex 1.05 Gold (0.9.59) Platinum (1.1.1)
+1
Lineage 2 The Chaotic Throne - Hellbound Gold (1.1.2) Garbage (1.1.3)
-3
Manhunt 1.x Garbage (1.1.0) Gold (1.1.2)
+3
Master of Orion 2: Battle at Antares 1.31 Silver (1.0.0) Bronze (1.1.2)
-1
Medal of Honor Airborne 1.0 Bronze (0.9.49) Garbage (1.1.2)
-1
Messiah 0.x Bronze (0.9.22) Silver (1.1.2)
+1
Microsoft Office 2000 Garbage (1.0.0) Platinum (1.1.2)
+4
Moto Racer 2 1.0 Platinum (1.1.0) Garbage (1.1.3)
-4
Mozilla Firefox 3.0.x Gold (1.1.1) Platinum (1.1.2)
+1
Myth III: The Wolf Age 1.0 Platinum (0.9.59) Garbage (1.0.0)
-4
NASA World Wind 1.4 Garbage (0.9.59) Bronze (1.1.2)
+1
Navicat for Windows 8.0.26 - Enterprise edition Bronze (1.0.0) Platinum (1.1.2)
+3
Need for Speed Most Wanted 1.3 Silver (1.0.0) Bronze (1.1.1)
-1
Need for Speed: Hot Pursuit 2 242 Platinum (0.9.55) Gold (1.1.2)
-1
Neverwinter Nights 1.68 Gold (0.9.59) Platinum (1.1.2)
+1
Oddworld: Abe's Exoddus 1.0 Silver (1.1.1) Platinum (1.1.2)
+2
Onimusha 3: Demon Siege 1.00.00 Garbage (0.9.46) Bronze (1.0.0)
+1
Operation Flashpoint GOTY 1.96 Bronze (1.0-rc3) Silver (1.1.1)
+1
Origin 7.0 Gold (0.9.37) Platinum (1.1.2)
+1
Pacific Poker Current version Garbage (0.9.37) Silver (1.1.2)
+2
Painkiller 1.00 Platinum (1.0-rc3) Garbage (1.1.2)
-4
Paint Shop Pro 9.x Silver (0.9.36) Bronze (1.1.2)
-1
Pegasus Mail 4.41 Gold (1.0-rc1) Bronze (1.1.2)
-2
Perfect World open beta Gold (1.1.0) Bronze (1.1.2)
-2
PhonerLite 1.x Garbage (0.9.23) Bronze (1.0.0)
+1
PhotoImpact PhotoImpact X3 Garbage (1.1.1) Bronze (1.1.2)
+1
Photoshop CS3 (10.0) Silver (1.1.1) Garbage (1.1.2)
-2
Pirates of the Caribbean 1.0 Bronze (1.1.0) Platinum (1.1.2)
+3
Portal 1.0 Gold (0.9.60) Bronze (1.0.0)
-2
Poser 7.0 Platinum (1.0-rc3) Bronze (1.0.0)
-3
Powerslide 1.02 Gold (0.9.2) Garbage (1.1.2)
-3
Pro Evolution Soccer 6 1.0.0.1 Silver (1.0-rc1) Gold (1.0.0)
+1
Pro Evolution Soccer 6 Demo Bronze (0.9.47) Silver (1.0.0)
+1
Psychonauts 1.x Gold (1.0-rc1) Silver (1.1.2)
-1
Race Driver : GRID Demo Bronze (1.1.1) Garbage (1.1.2)
-1
Ragnarok Online European (euRO) Client Silver (1.1.0) Bronze (1.1.2)
-1
Ragnarok Online Private Server Clients Gold (1.1.1) Silver (1.1.3)
-1
Rail Empires: Iron Dragon 1.031.2000.1223 Silver (0.9.22) Platinum (1.1.2)
+2
Rise of Nations 1.0.3 Garbage (1.0-rc1) Silver (1.1.2)
+2
Rome: Total War 1.x Bronze (1.0-rc3) Silver (1.0.0)
+1
SD-Jukebox 5 SD-Jukebox v5 Garbage (0.9.42) Silver (1.0.0)
+2
Sam & Max Episode 1: Culture Shock 1.0 Gold (1.0-rc1) Platinum (1.1.3)
+1
SecureCRT 4.x Gold (0.9.9) Platinum (1.0.0)
+1
Shaiya Closed Beta Bronze (0.9.50) Garbage (1.1.2)
-1
Shareaza 2.3.0.0 Bronze (1.1.0) Silver (1.1.3)
+1
Shogo: Mobile Armor Division v 2.2 Silver (0.9.56) Platinum (1.1.2)
+2
Sid Meier's Alpha Centauri 1.0 Silver (1.1.2) Garbage (1.1.3)
-2
Sid Meier's Civilization IV 3.17 (Beyond the Sword... Gold (1.0.0) Garbage (1.1.2)
-3
SimCity 4 SimCity 4 Deluxe Platinum (1.0.0) Gold (1.1.2)
-1
Sonic Adventure DX: Director's Cut 1.0 Gold (1.1.1) Platinum (1.1.2)
+1
Sound Forge 6.0 Platinum (0.9.59) Gold (1.0-rc4)
-1
Space Empires IV 1.x Gold (0.9.47) Platinum (1.0.0)
+1
SpellForce: The Order of Dawn Platinum 1.52 Gold (1.0-rc4) Bronze (1.1.2)
-2
Star Trek: Armada 1.x Bronze (0.9.53) Silver (1.0.0)
+1
Star Wars: Jedi Knight - Jedi Academy 1.x Silver (1.1.1) Platinum (1.1.2)
+2
Star Wars: Knights of the Old Republic II - The Si... Gold (1.0-rc3) Bronze (1.1.3)
-2
StarCraft Brood War: 1.x Platinum (1.1.0) Silver (1.1.2)
-2
Starport: Galactic Empires 1.0 Gold (1.1.0) Silver (1.1.2)
-1
Starry Night Starry Night Pro Plus 6 Garbage (1.0-rc1) Silver (1.1.2)
+2
Startopia 1.x Garbage (1.0-rc1) Platinum (1.1.2)
+4
Station Launcher Main-485686 (Beta) Garbage (1.0-rc4) Bronze (1.1.2)
+1
Steam All Versions Bronze (1.1.2) Gold (1.1.3)
+2
StepMania 3.9 Gold (0.9.53) Platinum (1.1.2)
+1
Street Wars: Constructor Underground 1 Platinum (0.9.52) Gold (1.1.2)
-1
Sun Java JRE 1.6.x Bronze (1.0-rc2) Silver (1.1.2)
+1
Super Columbine Massacre RPG! 1.0 Gold (0.9.25) Platinum (1.1.2)
+1
TeamViewer 3.0 Bronze (1.0.0) Platinum (1.1.2)
+3
Temple of Elemental Evil 3.0 Bronze (1.0.0) Gold (1.1.2)
+2
The Curse of Monkey Island 1.0 Gold (0.9.8) Garbage (1.0-rc4)
-3
The Hobbit Retail CD Gold (1.0-rc3) Bronze (1.0.0)
-2
The Incredible Machine: Even More Contraptions 1 Gold (0.9.31) Garbage (1.0.0)
-3
The Matrix: Path of Neo 1.0 Garbage (0.9.40) Bronze (1.1.2)
+1
The Witcher 1.0 Bronze (1.1.1) Silver (1.1.3)
+1
Titan Quest Immortal Throne 1.30 Garbage (0.9.58) Gold (1.1.0)
+3
Tomb Raider Anniversary 1.0 Platinum (1.1.1) Silver (1.1.2)
-2
Tony Hawk's Pro Skater 2 1.0 Gold (1.0-rc4) Silver (1.1.2)
-1
Train Simulator 1.2 Gold (0.9.52) Garbage (1.0.0)
-3
Tribes: Vengeance 1.0 (client) Garbage (0.9.57) Silver (1.0.0)
+2
Twinsen's Odyssey release Gold (0.9.38) Bronze (1.1.0)
-2
UnrealEd 3.0 Garbage (0.9.44) Bronze (1.1.2)
+1
VLC media player 0.8.x Bronze (1.1.2) Silver (1.1.3)
+1
Ventrilo Client 3.0.x Silver (1.1.1) Garbage (1.1.3)
-2
Virtual Infrastructure Client 2.5 Garbage (1.0.0) Bronze (1.1.2)
+1
Visual C++ 6.0 Gold (0.9.12) Silver (1.1.2)
-1
Warhammer 40,000: Dawn of War SoulStorm Garbage (0.9.59) Gold (1.1.2)
+3
Webmon 1.09 Silver (0.9.20) Platinum (1.1.2)
+2
Westward II Demo 1.002 Silver (0.9.59) Platinum (1.1.2)
+2
WinAce 2.65i Garbage (0.9.33) Platinum (1.0.0)
+4
WinUHA 2.0 RC1 (2005.02.27) Bronze (0.9.32) Gold (1.1.2)
+2
Word Viewer 2003 Gold (1.1.1) Silver (1.1.2)
-1
World Snooker Championship 2005 1.x Garbage (0.9.36) Platinum (1.1.0)
+4
World of Warcraft 2.4.X Silver (1.1.0) Platinum (1.1.2)
+2
X: Beyond the Frontier 1.9 Garbage (0.9.24) Bronze (1.1.2)
+1
XIII 1.3 Bronze (1.0-rc1) Silver (1.1.1)
+1
blooploader 0.7 Garbage (1.0.0) Bronze (1.1.1)
+1
e-Sword 7.9.8 Silver (1.0.0) Gold (1.1.2)
+1
ePSXe 1.7.0 Platinum (1.1.1) Bronze (1.1.2)
-3
iTunes 7.7 Silver (1.1.1) Bronze (1.1.2)
-1
nullDC 1.0.0 Beta 1.6 Gold (1.0-rc5) Bronze (1.1.2)
-2
uTorrent 1.8 Platinum (1.0.0) Silver (1.1.2)
-2
yWriter 4 Gold (0.9.61) Garbage (1.0.0)
-3
Total Change
+10

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.