Wine

As I mentioned previously, Ubuntu doesn’t always have an application that fits my needs. Sometimes what I really need is a Windows application but I don’t want to have to boot back in to Windows to get it. The surefire solution to this kind of dilemma is to set up a Windows installation in a virtual machine (Parallels, VMWare, or VirtualBox), but virtual machines are slow to boot, and consume fair amounts of both disk space and RAM. As it turns out, there’s a better solution: Wine.

“Wine is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems.” Unlike a virtual machine, Wine doesn’t install or run a complete copy of Windows in the background, rather it’s an implementation of the Win32 API designed to sit on top of *nix operating systems. The compatibility isn’t nearly as good as a virtual machine, but the trade-offs of lower resource usage and faster loading times are worth it. If I can use Wine rather than a virtual machine, then that’s the way I want to go.

I should note that Wine is anything but new (it’s some 16 years old now) and it’s pretty common too. Fully supported versions of it are sold as a product focusing on business applications (Crossover) and there’s quite a number of not-quite-native Mac games that are really Windows games with a Wine-based wrapper (Cider). But it’s definitely new to me. And I should note (having learned this the hard way) that Wine is not an emulator – the Ubuntu community really hates having it called that.

I originally intended to use Wine for 3 things:

  1. iTunes, so that I could sync my iPhone
  2. Games, in order to avoid the primary reason I dual boot
  3. Microsoft Office

iTunes was a long-shot in the first place, and it should not come as a surprise that it didn’t work. I had to settle on dual booting whenever I needed to sync (a virtual machine would have also worked, but I didn’t want to have to deal with two sync databases).

Gaming was a crap-shoot. I’m actually not going to spend too much time talking about this because we’re going to go much more in depth on this in our next piece, but I’ll mention it quickly to discuss usability. The two games I had a particular interest in were Supreme Commander: Forged Alliance, and Team Fortress 2.

The performance on both games was below that on Windows. In the case of Team Fortress 2 running it with DirectX 9 graphics (Shader Model 2/3) was unbearably slow, and with DirectX 8.1 graphics it’s unbearably ugly (this being a product of TF2 simply looking a great deal worse without DX9 functionality). Technically I could play TF2, but it was going to be rougher than I could settle for.

As for Supreme Commander, the speed issue can be particularly problematic. The game is a CPU-eating monster, and it takes nearly everything it can get for its intricate simulations and AI routines. The loss here is that for whatever reason when bogged down the simulation speed was noticeably slower than under Windows, which while not technically unplayable can make a game so slow that it’s not practical to finish it. The other issue was minor graphical corruption with the icons; this was not a game breaker, but it was another sign to go back to Windows.

Now to the credit of the Wine development community, there are a number of games that apparently work well under Wine according to their application database, however the games I wanted on the hardware I had were not functioning as well as I’d like. Wine wasn’t going to meet my gaming needs. When we do Part 2 of our Ubuntu series and take a look at 9.04 Jaunty Jackalope, we’ll take a more concentrated look at gaming inside and outside of Wine.

Finally, we have the success story in my use of Wine, Microsoft Office. As I stated previously when discussing OpenOffice, in spite of its abilities I missed Microsoft Office’s Ribbon UI. As Wine supports Word and Excel well enough to meet my needs, I was able to install those applications and use them as I would regularly use them under Windows. Their behavior under Wine isn’t perfect, as Wine’s application database will attest to, but the problems are not something that I encountered on a day-to-day basis. The biggest difference is that Wine + Ubuntu doesn’t have the same fine level of font anti-aliasing that Vista does, which makes it look slightly different. Meanwhile Outlook wasn’t as well behaved, but I already had Evolution which covered my needs in the first place.

Along with Microsoft Office, I also threw a few other assorted applications at Wine, which it handled without an issue. This includes some .Net 2.0 applications, which after installing the .Net framework in to Wine worked, and was not something I was seriously expecting. Although I wasn’t able to use Wine for everything I needed, it had a lot to do with keeping me in Ubuntu more often.

Things That Went Right The User Experience
Comments Locked

195 Comments

View All Comments

  • ioannis - Wednesday, August 26, 2009 - link

    ...sorry, I think it's Alt+F2 by default. I'm talking about the 'Run Command' dialog.
  • Eeqmcsq - Wednesday, August 26, 2009 - link

    Oh, yes you're right. I stand corrected.
  • sprockkets - Wednesday, August 26, 2009 - link

    Ubuntu doesn't ship with the firewall on eh? Weird. SuSE's is on, and that has been the default for quite some time. GUI management of it is easy too.
  • clarkn0va - Wednesday, August 26, 2009 - link

    For incoming connections I don't quite grasp what good a firewall will do on a system with no internet-facing services. With no open ports you stand little to gain from adding a firewall, and any internet-facing service you might add, well, you don't want to firewall that anyway.

    I can see two theoretically plausible arguments for a host-based firewall, but even these don't really stand up in real-world use: 1) a machine that has open ports out of the box (I'm looking at you, Windows), and 2) for the folks who want to police outgoing connections.

    In the case of the former, why would we open ports and then block them with a firewall, right out of the box? This makes as much sense to me as MS marketing their own antivirus. Third-party firewalls were rightfully introduced to remedy the silly situation of computers listening on networks where they shouldn't be, but the idea of MS producing a host-based firewall instead of just cleaning up their services profile defies common sense.

    In the case of outbound firewalling, I've yet to meet a home user that understood his/her outbound firewall and managed it half-way effectively. Good in theory, usually worse than useless in practice.

    db
  • VaultDweller - Wednesday, August 26, 2009 - link

    Just because a port/service is open, doesn't mean you want it open to the whole world.

    Examples:
    SMB
    NFS
    VNC
    RDP
    SSH
    Web (intranet sites, for example)

    And the list could go on... and on and on and on, really.

    Also, it's erroneous to assume that only 1st party software will want to open ports.

    And that is to say nothing of the possibility of ports being unintentionally opened by rogue software, poorly documented software, naughty admins, or clumsy admins.

    Host-based firewalls help with all of these situations.
  • clarkn0va - Wednesday, August 26, 2009 - link

    Windows firewall doesn't filter by source. In other words, if you want SMB or any other service open to some peers and not others, Windows firewall can't help you; you'll need a more sophisticated product or a hardware firewall for that.

    I'm not saying there's no case for host-based firewalls, I'm just saying it's pointless for most users out of the box, where Ubuntu doesn't need it and Windows should be looking at fixing the problem of unneeded services running, rather than just bolting on another fix.
  • VaultDweller - Wednesday, August 26, 2009 - link

    "I can see two theoretically plausible arguments for a host-based firewall, but even these don't really stand up in real-world use"

    That sounds to me like a claim that there is little or no case for a host-based firewall; at least, that's how I interpreted it.


    "Windows firewall doesn't filter by source. In other words, if you want SMB or any other service open to some peers and not others, Windows firewall can't help you"

    That is incorrect, and you should check your facts before making such statements. The Windows Firewall can filter by source. Any firewall exception that is created can be made to apply to all sources, to the local subnet only, or to a custom list of IPs and subnets.

    The firewall in Vista and Windows 7 goes a step further, as it is location aware. Different ports and services are opened depending on the network you're plugged into, as exemplified by the default behavior of treating all new networks as "Public" (unknown and untrusted) until instructed otherwise.
  • clarkn0va - Wednesday, August 26, 2009 - link

    "The Windows Firewall can filter by source. Any firewall exception that is created can be made to apply to all sources, to the local subnet only, or to a custom list of IPs and subnets. "

    In that case I retract my assertion that an out-of-the-box firewall makes no sense in the case of Windows.

    As for Ubuntu, or any other desktop OS having no open ports by default, I still see including an enabled firewall by default as superfluous. Meanwhile, firewall GUIs exist for those wishing to add them.
  • Paazel - Wednesday, August 26, 2009 - link

    ...not enough pictures. admittedly my interest additionally waned when i read the newest ubuntu isn't be reviewed.
  • philosofool - Wednesday, August 26, 2009 - link

    I'm not done with this article, which I'm loving. However, there's a grammatical/spelling quibble that's driving me nuts: "nevertheless" is one world.

Log in

Don't have an account? Sign up now