Memory issues:
Running 16-bit applications that require the first 64k of memory doesn't work. You run an old DOS game, any .com program, or even a Windows 98 era program that used an older version of Install Shield, and it flat-out refuses to work while giving a cryptic error in the terminal about the preloader being unable to access DOS memory. To avoid this error you have to manually edit /etc/sysctl.conf in a way sure to frighten everyone.
How I am fixing this. I already have, at least in the Wine package. Wine now installs an override setting to allow the early memory to be accessed in the (new) /etc/sysctl.d/ folder. However, this bug also needs to be closed, which I suspect is a relatively simple fix that I can do myself. This change unfortunately cannot be backported to Hardy because it lacks the newer procps.
Sound issues:
Sound and Wine don't work well. You run a Wine application and then other programs can't use audio. Flash movies won't go past 2 seconds. You stop hearing IM beeps. You fire your gun in Half Life and don't hear the shot until over half a second later.
How I am fixing this. All of the above problems came with Hardy's change to PulseAudio. Wine doesn't have a pulseaudio driver, and pulseaudio 9.10 itself doesn't handle Wine's requirements very well, even through the pulseaudio-alsa translation layer. I've already filed an upgrade request bug for the newer PulseAudio, which can likely be included before freeze. The automatic use of Wine's alsa library and PulseAudio's alsa-compatibility module would then be sufficient. If this still doesn't work due to latency issues even in the new PulseAudio (which was supposed to fix things), we can look into including the experimental pulseaudio driver for Wine. If THAT doesn't work, another alternative is to have Wine suspend pulseaudio at launch, or use padsp and the oss sound module by default. At worst, things will be just as bad as Hardy.
Application issues:
You run a Windows application, and it doesn't work. These are all problems with Wine itself. At this point, other than the above I'm not aware of anything that doesn't work in Wine because of something Ubuntu-specific.
How I am fixing this. My main responsibilty as a packager is to select the best version of Wine available for the distribution. For Hardy that meant using a recent version of Wine and backporting fixes for whatever regressions I could find before release, and then backporting 1.0 when it was released. For Intrepid, this means either sticking with 1.0.1 and backporting various fixes that have since come out, or personally stabilizing a Wine release around beta-time.
Usability issues:
Double clicking .msi files doesn't work. You go download steam, and then you double click on the installer, and Gnome freaks the hell out and doesn't know what to do with it. You then have to manually tell it to open with Wine, or, worse, run wine msiexec /i in a terminal window.
How I am fixing this. After having my bug report fixed in shared-mime-info with my patch for recognizing .msi files included, all Ubuntu needs is to use that newer version (or just that patch). The preferred way to do this is to fix the package in Debian and then ask for a sync of the package, however the Ubuntu package is already many versions ahead of the Debian one. The best way forward is to simply update the package myself and then let the Utnubu team try and shove the update back to Debian.
Installing Gecko is annoying, and sometimes fails so fake Internet Explorer doesn't work.
How I am fixing this. Creating a new wine-gecko package and bundling a local copy of Gecko alongside Wine. Wine can be configured to search the local filesystem for Gecko before downloading it off the internet, and this is the surest way to ensure a working copy everywhere. Unfortunately, the Wine still requires the Windows version of Gecko that in turn requires Visual Studio to build; since it can't compile on Linux with free software, the wine-gecko package will have to go in Multiverse.
Things in the Wine menu aren't integrated into the desktop. Winecfg is too complicated and is a big mess. Wine uninstaller is ugly and not in the normal place for uninstalling applications. The browse C:\ drive link isn't in the Places menu.
How I am fixing this. When I got lucky enough to be sponsored to attend FOSSCamp and the subsequent Ubuntu Developer Summit in Boston for the Hardy release, I came up with some good ideas for further integration. One of them was to have Wine configurable from the command line so that we could write our own custom UI on top, and make it work perfectly elsewhere within the desktop. It's taken a while, but another developer has made serious progress with this (via the Wine reg.exe module). We made an informal agreement: I'd design the interfaces and make all the GUI widgets, and he'd make the backend work. Things are looking promising so far, and with some serious work these next two months we may be able to hide Winecfg and the Wine Uninstaller completely by Intrepid. Configuration would instead be done through a simplified System->Preferences->Windows Applications or by right click->Properties for individual apps. Uninstallation, similarly, would be done by adding a Windows Applications section to Gnome-App-Install.
I appear to be making negative progress with Wine. Wine is getting better, and I'm accomplishing some things, but my todo list is growing even faster. I've been considering asking the community for donations so I can afford to work on Wine full time. If I had enough cash to cover food and rent, I'd be willing to work on Wine nonstop right up through Wineconf at the end of September. Right now, however, it's almost 6am, three people have already asked me where this blog entry is, and I need to go to sleep so I don't miss the tutoring job I have tomorrow.
Note: The above was supposed to be posted days ago, however I am stuck with Comcast as an Internet Service Provider. On the third day of the outage, they were kind enough to call me reminding me to pay my bill online.