Then, in October, Codeweavers announced they were going to support Left 4 Dead 2 in their next release. I hemmed, I hawed, and I folded, on the rationale that supporting Codeweavers was good enough to qualify this purchase for the Twenty Bucks program. (For those who don’t know, Codeweavers is pretty much the commercial side of Wine, employing most of the key programmers.) I bought CrossOver Games, installed Steam, and bought the combo pack of L4D and L4D2. Then I anxiously awaited the demo and the CrossOver Games release that would support L4D2. When it arrived, the demo ran almost perfectly in regular Wine, after some initial installation issues. I played a bit with my son and was living the good life.
Then came the final release on Nov 17th. The installation was broken again, and when you could get the game to run, it would crash within a few minutes. I spent hours working on the installation, even figuring out that I could keep the crash from being a hard lock by enabling sound emulation in CrossOver Games. Codeweavers released three rapid patches, updating CrossOver games to support changes Valve was making in the game. Many CrossOver users and Wine users were experiencing different crashes, with a variety of fixes that fixed some people and not others. And we weren’t alone – hundreds of Windows users were also reporting the same kinds of crashes and the same kinds of random fixes.
I should have known, of course. I was growing suspicious when I noticed that after Steam verified and replaced files such as the client.dll file, the md5sums didn’t match the previous files or future versions. Clearly, these files were being altered somehow, and a crash would cause them to be messed up and then require a replacement from Steam. Then, in the CrossOver forums, Caron Jensen said this:
Some of the drm protection continues to check during gameplay. Usually CrossOver passes this check, but sometimes it does not. We can reproduce some of the crashes and issues at hand. The best thing you can do is file a support ticket.
Now, maybe it’s not the DRM, and Jensen is wrong – perhaps it is an anti-cheat mechanism or some other system. But I think it’s the DRM, because that explains much about how Valve is responding to this problem. I think this is why they are keeping almost entirely mum about the whole crashing issue, and mostly communicating in patch notes – they know if they explain why these crashes are happening there will be significant customer backlash. As long as they can pretend it’s a game problem, they can maintain the illusion that Steam DRM is transparent and prevent a PR fiasco. I’m also pretty sure at this point that they don’t know what the problem is, since there have been two patches to fix it and both simply caused more problems. Valve could probably fix this problem today, right now, by removing the DRM. But they won’t. Because to them, customers are thieves – even after they’ve paid.