Linux DevCenter    
 Published on Linux DevCenter (
 See this if you're having trouble printing code examples

CrossOver Brings QuickTime Movies to Linux: Part 1

by Derrick Story

Editor's note: CrossOver is a plug-in designed to bring native QuickTime and Shockwave Director functionality to the Linux platform. When properly installed, the product's developers claim that Linux users can play QuickTime movies and experience the same performance that Windows and Mac users currently enjoy.

CrossOver incorporates another technology developed by CodeWeavers called Wine, that is a collection of libraries that have been built from scratch and that provide specific functions that standard Linux installations lack.

This article is part one of a two-part series. Part one is the introduction to the CrossOver plug-in, and part two will evaluate its performance.

At this year's LinuxWorld SF, CodeWeavers released the 1.0 version of its CrossOver plug-in for the Linux platform. Among other things, the plug-in enables high-performance playback of .mov files in Linux browsers and with Apple's QuickTime Player.

As a QuickTime author (and a fan of online QT movies), this couldn't be better news. If indeed CrossOver performs as advertised, then we finally have an ubiquitous multimedia platform for Linux, Windows, and Macintosh. Content creators can assemble their movies once and stream them to the majority of computers connected to the Internet.

Apple strengthens its multimedia cross-platform position

When I interviewed Jim Graham, CodeWeavers CTO, at LinuxWorld SF, he told me that Apple had provided them with great support during the CrossOver project.

"Not only was Apple helpful with the technology issues," Graham said, "but they even changed the QuickTime license to accommodate CrossOver. The previous license stated that the QuickTime plug-ins could only run on the native platform they were designed for. That wouldn't work for CrossOver because we're using the Windows QT plug-in on the Linux platform. Apple changed the license so we could do that."

A smart move by Apple. The Linux audience continues to grow, but licensing issues often stand in the way of bringing popular proprietary applications from other platforms to the open-source community.

QuickTime has been one of those tools that Linux users have wanted. It is a versatile set of multimedia goodies assembled into one package. Once installed, users can display virtually every still image format available including .jpg, .tiff, .png, .psd, .pict, .bmp, and .gif. Video playback is often handled via .mov files that are native QuickTime format, but the player can also handle MPEGs and most versions of Avis. Even popular MP3s can be decompressed and played with a QuickTime player.

Over the last few years, competing technologies by RealNetworks and Microsoft have dominated the online multimedia market. RealNetworks has fallen off the pace a bit, but Microsoft continues to improve its products and bundle them with its operating system. Media Player 7 is terrific if you're on the Windows platform. The Mac version isn't quite as user-friendly and not nearly as popular as QuickTime for the Mac OS.

But Media Player isn't even available for Linux, and I think it's safe to say, never will be. The RealNetworks product isn't as well-designed as either Media Player or QuickTime, and its codecs (compressors/decompressors) are inferior to those of its rivals.

Now, with QuickTime available for the Linux platform, we finally have a high-quality, versatile, multimedia tool available to nearly everyone on the Internet. QuickTime movies can be authored on any of its platforms and played on the others without further adjustment. When the movies are served via HTTP, they can be downloaded, stored on the hard drive, and played over and over.

Comment on this articleIf you had the ability to download and play QuickTime content on your Linux box, would you use it?
Post your comments

As of version 4, Apple introduced the QuickTime Streaming Server (under its public source license) that uses the Real Time Streaming Protocol (RTSP). And in version 5 "skip protection" was added so that network traffic wouldn't interrupt the smooth playback of multimedia streams.

In addition to independent QuickTime servers popping up all over the Net, this new capability allowed Apple to launch its own streaming project, QuickTime TV, that supports dozens of "live" channels and is available for free to everyone who has a QuickTime player.

A closer look at CrossOver

The best way to install CrossOver is to follow the prompts for the default package. By doing so, you will obtain the necessary Linux libraries for the second phase: the installation of the Windows version of QuickTime.

If you've ever installed QuickTime on Windows, you know that it's a very easy process. It's exactly the same process on Linux (via CrossOver) because you're using the actual licensed Windows installer. That's all there is to it.

Screenshot--click for full-size view.
QuickTime running standalone using the player. (click for full-size view).

I'll talk more about performance in part two, but I do want to give you a basic feel for the system resources this product demands. According to CodeWeavers, because CrossOver is not an emulator (per se), there shouldn't be the typical sluggish playback issues often experienced with virtual machines. In other words, the movies should play the way they do on their native platforms because the code is executing directly to the processor.

That being said, we did notice some lag on older machines that adversely affect QuickTime's performance via CrossOver. We're still testing, but preliminary results indicate that the Wine / CrossOver / QuickTime combination requires as much CPU horsepower as you can muster.

Different results with different browsers

CrossOver also behaves better with certain browsers than others.

Performance is best in Netscape. You can expect generally good playback using the Konqueror browser if you use version 2.1.1 or newer. During CrossOver beta-testing, some Konqueror users reported a good experience while others had some problems.

The situation is similar with the Mozilla browser, especially with version 0.8 and earlier. If you want to use CrossOver with Mozilla, make sure you have a current build of the browser. Even so, some testers reported plug-in crashing. In all instances, however, the browser is protected even if the plug-in does crash.

CrossOver does not work at all with the 1.0 version of Opera.

Screenshot--click for full-size view.
QuickTime running under Mozilla via CrossOver (click for full-size view).

The CodeWeavers development team states that CrossOver will soon work on Konqueror and Mozilla as well as it does on Netscape. Future Opera compatibility is less clear at the moment, but CodeWeavers is interested in working with them to provide compatibility up the road.

Mixed licensing

The CrossOver package is a licensing hodge-podge. The Wine libraries that are the foundation of CrossOver are similar to the X11 License. CrossOver does have two proprietary components built on top of the Wine libraries: the installer and the Linux Netscape browser plug-in. CodeWeavers President Jeremy White argues that their hybrid licensing approach is reasonable and doesn't inhibit the use or the evolution of the software.


CodeWeavers has packaged all the components and made them available as a download for USD$20 or on a CD that can be purchased for $29. The package includes the necessary Wine libraries, CrossOver components, and the QuickTime installer.

What's next?

In part two I'll discuss CrossOver performance in a variety of situations plus take a look at how many standard QuickTime functions are actually enabled in this Linux package.

Derrick Story is the author of The Photoshop CS4 Companion for Photographers, The Digital Photography Companion, and Digital Photography Hacks, and coauthor of iPhoto: The Missing Manual, with David Pogue. You can follow him on Twitter or visit

Return to the Linux DevCenter.

Copyright © 2009 O'Reilly Media, Inc.