Wine’s solutions

As I blogged yesterday, I had some trouble with Wine while trying to play Total Annihilation: Kingdoms.

Today I want to blog about the solutions of the troubles I exposed yesterday.

The first problem is the one with PulseAudio, as I said I hit a bug already opened in Bugzilla about the ESounD wrapper that didn’t work. I fixed this today in Portage with 0.9.8-r2 and -r3 (respectively standard and experimental baselayout 2 init script). I prepared the patch to be applied to the upstream repository too but I want to discuss it with Lennart first. So if you want the ESounD wrapper for PulseAudio, make sure to use a new enough version of it. Older versions (0.9.7 series and earlier) aren’t affected by the problem as far as I know.

The other problem was with TA:K fullscreen not working natively, and the map scrolling not working properly when using the windowed mode. The solution, as I foresaw yesterday, is to change the X settings so that Wine’s virtual desktop is ran fullscreen. To do this I decided to simply start the X instance with just xterm running, and then run wine on TA:K executable, after setting the virtual desktop to my desired resolution (1280×1024). I actually had to change the X resolution too, as I’m using two monitors and thus I had to switch from 2560×1024 to a single monitor duplicated.

When playing the game at the same resolution as wine’s virtual desktop and of Xorg itself, you get a “virtual fullscreen”that is 100% working: it’s fullscreen so I can’t move the mouse outside the game window, and thanks to the fact I am fullscreen I don’t even get distracted while playing.

Unfortunately I’m afraid I won’t be able to enjoy it for long, I need to start working on another project now (for my job), even if I’m quite tired, and today I really didn’t feel well.

I hope the Wine trick can be useful to other people too. Maybe I’ll be able to make a script that actually sets that up and runs the game you ask it to.