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

  • LittleMic - Wednesday, August 26, 2009 - link

    http://en.wikipedia.org/wiki/NTFS_symbolic_link">http://en.wikipedia.org/wiki/NTFS_symbolic_link
    Well, Windows 2000 had symbolic links for a long time :-p (only for directory until Vista though)
  • ekul - Wednesday, August 26, 2009 - link

    ntfs has symlinks but the windows shell can't create or manipulate them. Pretty pointless. MS can (and does) use them in vista/7 but you can't make your own
  • Eeqmcsq - Wednesday, August 26, 2009 - link

    "hint: symlinks are your best friend. My home dir is littered with links to places on the filesystem I visit a lot to avoid a lot of clicking/typing"

    I use Gnome's bookmarks for that. Those bookmarks even include SMB shares on my other computers.
  • ekul - Wednesday, August 26, 2009 - link

    gnome bookmarks are very handy I just find symlinks to be more flexible since they work regardless of gnome vs kde, gtk vs qt and gui vs cli. Even wine can take advantage of them
  • jigglywiggly - Wednesday, August 26, 2009 - link

    one more thing you should have covered is battery life on laptops. Linux in general is pretty awful at managing battery life. Just web browsing 4 hrs on Vista on my vostro 1310(not using 7) but with Ubuntu 2 1/2. It's a huge difference, but oh well.
  • Ryan Smith - Wednesday, August 26, 2009 - link

    Laptops are out of our domain, that would be Jarred. If this two-part series is successful, I'll see what I can do about talking him in to putting some Ubuntu (or any Linux for that matter) battery benchmarks in. But I'm told a complete workup takes a while.
  • strikeback03 - Wednesday, August 26, 2009 - link

    On my Thinkpad T43, battery life is essentially equal between XP and Ubuntu. Ubuntu may even be slightly better, though I have never bothered with a formal test to put real numbers on both. Have you looked at whether the processor is throttling down properly or not while in Ubuntu?
  • sprockkets - Wednesday, August 26, 2009 - link

    "Now we have yet to touch on hardware accelerated playback, which is something we’re going to hold off on until we take a look at Ubuntu 9.04. Linux does not have a common media framework like Windows and Mac OS X have DirectShow/DXVA and QuickTime respectively. Rather the desktop environment that Ubuntu is based off of (GNOME) includes a lesser framework called GStreamer, which is closer to a basic collection of codecs and an interface to them. As such hardware accelerated playback is not as easy to do under Ubuntu as it is under Windows and Mac OS X. We’ll take look at the APIs and the software for this in our look at Ubuntu 9.04."

    Well, not exactly. There is this: http://en.wikipedia.org/wiki/VaAPI">http://en.wikipedia.org/wiki/VaAPI, which is not exactly widespread yet. nVidia's VDPAU, which provides hardware acceleration for h.264 and if you have the latest version of PureVideo in your card, it does VC-1 as well. It can work with this or alone as well.

    Also, while it is wacky that bin or binaries are in one spot, and lib or libraries are in another, and anything you install is in a /usr/lib/local, it does keep all related files in one spot. Keeping all your libraries registered as packages also makes it easy to repair.

    Also, one click installs are possible on openSuSE as well, though it does involve a small gui process and adding a repository as well. But doesn't any program require this?

    Also, I believe your problem with SMB shares is something I run into as well, but only on GNOME. On KDE, browsing shares is quite normal. Since I never bother mounting the share, I can't directly access it without KDE caching the file locally.

    Isn't /home/$Your Name$ intuitive as to where your stuff would be? That is very nice, as I can keep my stuff separate from the OS, thus I can reformat the OS partition without having to touch my data. Imagine reinstalling Windows and finding all your apps working exactly as before with no work. Can OSX do that (not rhetorical)?

  • Ryan Smith - Wednesday, August 26, 2009 - link

    VDPAU is something we'll specifically be covering in the Part 2; in fact it's what I'm working on at this moment.
  • GeorgeH - Wednesday, August 26, 2009 - link

    I'm sure the comment section will quickly be swamped with quibbles, so I just wanted to say that I found this article to be very informative, accurate (WRT my own Ubuntu experiences), and thorough. Kudos - now it's time to ask for a raise. :)

Log in

Don't have an account? Sign up now