Linux in Hollywood
Sep 1, 2003 12:00 PM, by Robin Rowe
A Brief History of Open Source and the Movies
ILM developed proprietary facial animation software based on commercial 3D package SoftImage to make Yoda into a digital actor for Star Wars: Episode II.
For Star Wars: Episode II, Linux made Yoda a light saber-wielding action figure. In Lord of the Rings 2, waves of Orcs attacking the colossal fortress at Helm's Deep are not thousands of human extras, but digital actors created using Linux. To consumers, Linux may rank third after Windows and Macintosh, but Linux dominates motion pictures more than anyone but studio insiders may realize. It has been used to produce more than 30 blockbuster films, including Lord of the Rings, Star Wars: Episode II, Harry Potter, Shrek, and Titanic.
In short, the big news in Hollywood about Linux is it is no longer big news. Linux has won not only renderfarm servers, but the artist desktops of the top studios. It's hard to find a large studio that does not rely upon Linux as its primary animation and special effects OS, and many smaller film studios have adopted Linux, too.
At the software level, studios are using Linux versions of some of the leading commercial applications for 3D animation, compositing, special effects, and rendering — Alias Maya, Apple Shake, and Pixar RenderMan. Internally, the major studios have ported millions of lines of proprietary code to Linux and are creating their new programs in Linux.
Linux began in 1991 as grad student Linus Torvalds' personal hobby. How did it become a professional graphics powerhouse in the most demanding of CG industries?
Linux got its commercial boost as a platform to serve web pages. During the Internet boom Linux captured a third of the ISP server market on its effectiveness powering Apache web servers. What Internet companies like about Linux servers is they are fast and cheap. Movie studio technologists saw the parallel between a rack of Apache servers outputting web pages and a rack of renderfarm servers outputting movie frames. It begged the question: could Linux make movies faster and cheaper?
Linux got its big Hollywood break in 1997 when Digital Domain (D2) used Linux to render the special effects for Titanic. D2 has now used Linux for more than two dozen motion pictures, including best visual effects Academy Award winners Titanic and What Dreams May Come.
Before taking the plunge (so to speak) with Titanic, effects studio Digital Domain had proven that Linux could coexist with its existing SGI renderfarm in tests on Dante's Peak. Being able to transition smoothly from UNIX on SGI was key to the adoption of Linux.
ILM created its own proprietary compositor, CompTime, shown here working on a scene in Star Wars: Episode II, rather than rely upon a commercial package such as Shake.
Since then, Linux renderfarm technology has matured to the point a studio such as Sony can install a hundred Linux Intel renderfarm servers and have them up and running in one hour. Linux machines come from the manufacturer (such as HP or IBM or Dell) with software preloaded to each studio's specification.
Linux on the Graphics Desktop
Making Linux a success on servers and renderfarms was simple compared to the next step — the desktop.
The chief obstacle: graphics drivers. Linux graphics performance was terrible, much slower than other operating systems. Linux lacked the proprietary accelerated 3D graphics drivers available on SGI workstations. Breakthroughs by nVidia and other PC game card manufacturers had made graphics performance on Windows stellar. Microsoft Windows seemed poised to take over Hollywood.
When large studios tried converting to Windows it was much harder than expected. Rewriting millions of lines of internal UNIX code to run on Windows would take forever.
Meanwhile, nVidia created a new graphics driver for Linux, using the same high-performance code in both its Windows and Linux versions (and now FreeBSD, too). Linux went from having the worst graphics performance to the best. In addition to nVidia, many PC graphics card manufacturers began offering high-performance Linux drivers.
So what did the availability of high-performance graphics cards for Linux mean in the working world of ILM? “More than 350 Linux boxes were deployed during Episode II,” says ILM production engineering manager Ken Beyer. Six hundred Linux desktops will be used for Star Wars: Episode III to be released summer 2005.
DreamWorks' Shrek, released in 2001, was the first blockbuster to be both authored and rendered using Linux. In fact, DreamWorks SKG did more than convert their existing studios in Palo Alto and Glendale. They built a second Linux production pipeline to double their Glendale capacity. “For production of Sinbad every workstation and the entire renderfarm was Linux,” notes DreamWorks head of animation technology Ed Leonard.
DreamWorks created a proprietary plug-in for Maya called Calypso to animate oceans for Sinbad.
Back at ILM, sequence supervisor Robert Weaver noticed a tremendous performance boost upgrading from RISC workstations to Linux PCs during Star Wars: Episode II. “The old system was so slow that the clones firing lasers appear to be throwing javelins,” says Weaver. “We've seen about a 5x speed improvement in Linux. I'd say Linux is one of the most successful efforts we've had. I can't say enough good things about it. It is intuitive, incredibly stable, and we can get stuff fixed at a moment's notice.”
DreamWorks' Ed Leonard says the performance of Linux-based machines makes artists more productive. “To dramatically reduce costs was one of the big motivating factors in moving animators to Linux,” says Leonard. “But it is our animators' productivity that really counts.”
The transition at Weta Digital to Linux occurred during production on Lord of the Rings. Weta Digital used software called Massive to create the hordes of digital Orcs in Lord of the Rings 2. “Autonomous characters could only be done in a limited way before,” says Massive developer Stephen Regelous. “There's no way you can animate a hundred thousand characters in any other software in a reasonable amount of time,” says Regelous. “Massive runs twice as fast on Linux as it does on Windows.”
Why Open Source Rocks Hollywood
It seems ironic that Linux dominates at studios known for building secret proprietary technology to gain competitive advantage. What's happened is Hollywood has recognized that having a standard open platform to develop upon enables them to dedicate more of their resources to creating their secret sauce, the technology that sets them apart as a studio.
Contrary to common sense, to build the best secret proprietary software you need an open-source platform underneath it. The reason is that proprietary software can require tweaks to the operating system itself that no proprietary operating system vendor would be interested in implementing. Moreover, motion picture production is a very time-sensitive business. A problem in the operating system can't be allowed to hold up production. With open source, studios can throw programmers at anything, whether at the software or OS level.
CinePaint is an open-source deep paint and image retouching program available for free to anyone at www.cinepaint.org. CinePaint handles standard motion picture image formats such as Kodak Cineon as shown here and ILM OpenEXR.
Some studios have more than a hundred Linux programmers, normally working on internal proprietary software. Although not inclined to do so because of the expense, in an emergency a studio can re-task a small army of Linux programmers. Linux companies supporting the studios are often tiny by comparison. Studio technologists are bemused by Linux vendors trying to impress them with their “large engineering staff” of five or 10 programmers.
Top Software Vendors Join Linux
Of course, not all motion picture CG is done on proprietary software. Commercial software packages have a long history and vital role in motion picture production. When DreamWorks/PDI produced Shrek on a Linux platform, it was done using internally developed software. Little commercial software for making movies was available for Linux then.
Now, three of the most popular 3D animation drawing packages are available in Linux versions: SideFx Houdini (Linux in 1999), Alias Maya (Linux in 2001), and SoftImage (Linux in 2001). The Linux conversion touched off an unusual amount of software upgrade activity at the major studios, which will often stick with an older version indefinitely as long as it works. When ILM switched to Linux it meant upgrading all of the studio's old copies of SGI-based SoftImage software to Linux all at once.
An irony of the migration of software to Linux is that Apple and Pixar became leading suppliers of Linux software. The most popular motion picture compositing software — Apple Shake (Linux in 2000) — and the most popular renderer — Pixar RenderMan (Linux in 1999) — are both sold by companies headed by Steve Jobs. Jobs hasn't made any pro-Linux statements regarding the future of his products (and recently Apple dropped the price of the Apple version of Shake so much that the Apple computer to run it seemed free). How the Mac/Linux equation will play out remains a concern for studios intent on controlling their destiny by staying with an open-source operating system rather than beholden to a proprietary third-party platform.
The Next Open-Source Platform?
Another irony of Linux software proliferation is that, unlike Linux itself, only one popular motion picture production tool is open source. Will more open-source software applications eventually gain popularity as well? As the official (but unpaid) project manager of the most popular open-source motion picture software application — CinePaint — I have a front row seat to observe how that question plays out.
CinePaint is an image paint and retouching program with features similar to Photoshop. Like Linux, it is open source and anyone can download it for free. The checkered history of its development includes high hopes, bitter disappointment, abandonment, and resurrection.
CinePaint was based on a software project called Film Gimp, launched in 1998 to meet the practical requirement for a deep paint package for Linux. Deep paint, with more than 8 bits per channel of color depth, is necessary to support the higher dynamic range of film. Could the Hollywood market support a commercial deep paint tool tailored to motion picture production? Considering the small market niche, studio technologists didn't think so.
Hollywood came up with a novel solution. What if the popular Linux open-source GIMP program was enhanced for motion picture work? Although the industry couldn't justify developing a deep paint program from scratch, it could support a few open-source programmers to make a deep GIMP. Starting in 1998, technology company Silicon Grail (later acquired by Apple) and movie studio Rhythm & Hues footed the bill to enhance GIMP to become Film Gimp. The sponsors intended Film Gimp to become GIMP 2.0 in 2000, but that was not to be.
Linux anarchist-style GNU programmers and deadline-driven capitalist studio executives didn't mix well. The Film Gimp project was shelved in 2000, seemingly forgotten. As part of a story I wrote about Rhythm & Hues in 2002, I revealed that Film Gimp was still in use there and had been used on Harry Potter and many other films. It was even available for download for free by anyone who wanted it. Studios seemed to want it.
Film Gimp was subsequently used by Rhythm & Hues for Scooby-Doo, Dr. Dolittle 2, and Planet of the Apes. Sony Pictures Imageworks picked up Film Gimp for use in Stuart Little 2. Hammerhead Productions used it in Showtime, Blue Crush, and 2 Fast 2 Furious.
In February 2003, I chaired the first Linux Movies Conference in Los Angeles. (For more on that conference go to millimeter.com). A panel session on Film Gimp reunited many of the original Film Gimp developers. (With volunteer programmers spread all over the world, it isn't unusual for open-source projects to never meet in person.) Getting together the Film Gimp team resulted in an unexpected but unanimous decision — to rename Film Gimp because it had nothing to do with GIMP anymore. The new name became CinePaint.
The open source mantra is to “release early and release often.” That keeps a project alive and vibrant. GIMP never made a release of Film Gimp, but the CinePaint project has made more than a dozen releases since the launch on SourceForge on July 4, 2002. CinePaint isn't only on Linux, and has been ported to Mac OS X and Windows. Although not yet to a 1.0 release (currently 0.18), CinePaint continues to spread to more studios, including ComputerCafe (League of Extraordinary Gentlemen) and Flash Film Works (Duplex).
Why Fund Free?
Open-source software is available for free. Users don't have to send a check or credit card number. Yet software is not, of course, free in the development sense — open source, commercial, or proprietary.
Studios spend a lot on software development internally, but that software is typically for their own use and jealously guarded. Some studio programs are written from scratch and others are special plug-ins for use with commercial tools such as Alias Maya or Apple Shake. Although commercial programs are closed software to most users, studios make special agreements with software vendors to have access to the source code.
As a rule, no major studio will rely on a tool without access to the source code. The risk is too great. It's not that the studios want to putter around modifying commercial programs, rather it's insurance that they can do so if they must to meet a production deadline. That insurance can be expensive, and the relationship with vendors is sometimes strained. Software companies are often uncomfortable with studios holding their source code. Sometimes they won't make source available at any price.
In the case of deep paint software, Adobe has very limited deep paint support in Photoshop 7, but that is expected to improve in upcoming versions. Last year, DreamWorks and Disney funded Linux developer CodeWeavers to make the CrossOver emulator run Windows Adobe Photoshop 7 on Linux — without Windows. Can Photoshop with CrossOver meet the motion picture industry's need for Linux deep paint?
Not without the source code, and it remains to be seen whether Adobe would make its source code available to studios just to sell a few more copies of Photoshop. Enabling support for Photoshop on Linux through CrossOver seems stop-gap. Will open-source CinePaint turn out to be the long-term solution? If nothing else, it will show whether the movie industry can get behind building open-source software.
An open-source OS has clearly earned its place in Hollywood. A similar transition in software poses much more complicated and interesting issues. Stay tuned.
Robin Rowe writes about Linux for Linux Journal, is the unpaid project manager for Cinepaint Software, and a partner in MovieEditor.com.
The First Linux Movies Conference
The first Linux Movies Conference was held on February 18, 2003, in Los Angeles. Chaired by Robin Rowe, a partner in MovieEditor.com and leader of the open source CinePaint project, the conference presented a full day of success stories for Linux in the motion picture industry, as told by the experts themselves.
Nathan Wilson of DreamWorks SKG led off the day with "Linux beyond the renderfarm," describing the construction of the effort to use Linux as a complete solution from the artist's desktop to the final output onto film, and in the process creating the largest desktop Linux installation in the world.
Dan Novy of Flash Film Works presented "Channel-bonded Ethernet and other capabilities," delving into the technical nitty-gritty of Linux technical issues.
Alan Boucek of Tippett Studio presented "Using off-the-shelf Linux effects software," describing the many commercial packages available for Linux, including Shake and Maya.
Mathew Lamb of Asylum Visual Effects presented "Digital oceans," a mathematical odyssey into the techniques to create computer-generated oceans.
Rod Bogart of Industrial Light & Magic presented "What does 'one' mean?" a description of the implementation of ILM's recently released open-source OpenEXR file format and how high dynamic range rendering programs smash the widely held view that 1.0 represents the brightest that a pixel can possibly be.
Jack Brooks of Walt Disney Feature Animation presented "Using Linux to move to a range of platforms," which discussed how to combine Linux seamlessly with other operating systems and how to choose which operating system is best for a particular situation.
Thad Beier of Hammerhead Productions presented "Color, the look of film" and how to take control in Linux animation systems to simulate the look of film.
The Film Gimp panel discussed where this open-source painting and retouching program came from and where it is going. The panel consisted of Film Gimp user Thad Beier (Hammerhead), programmer Caroline Dahllöf (Rhythm & Hues), release manager Sam Richards (Sony Pictures Imageworks), project leader Robin Rowe, and project founder Ray Feeny (RFX). An unexpected development during the panel discussion was a unanimous decision to rename Film Gimp. The name eventually adopted was CinePaint, suggested by Sam Richards.
A Sampler of Linux Movies
Dante's Peak (Digital Domain)
Titanic (Digital Domain)
What Dreams May Come (Digital Domain)
Armageddon (Digital Domain)
Stuart Little (Rhythm & Hues)
Ed TV (Digital Domain)
Lake Placid (Digital Domain)
Fight Club (Digital Domain)
Little Nicky (Rhythm & Hues)
The Grinch (Rhythm & Hues)
The Sixth Day (Rhythm & Hues)
Supernova (Digital Domain)
Rules of Engagement (Digital Domain)
X-Men (Digital Domain)
Red Planet (Digital Domain)
Dr. Seuss' How the Grinch Stole Christmas (Digital Domain)
O Brother, Where Art Thou? (Digital Domain)
Enemy at the Gates (Double Negative)
Cats & Dogs (Rhythm & Hues)
Shrek (DreamWorks SKG)
The Fast and the Furious (Hammerhead)
Dr. Dolittle 2 (Rhythm & Hues)
Final Fantasy (Square)
Planet of the Apes (Rhythm & Hues)
Captain Corelli's Mandolin (Double Negative)
Harry Potter (Rhythm & Hues)
A Beautiful Mind (Digital Domain)
Vanilla Sky (Digital Domain)
Lord of the Rings (Weta Digital, Digital Domain)
Collateral Damage (Flash Film Works)
Blade II (Tippett Studio)
Star Wars: Episode II (ILM)
Spirit: Stallion of the Cimarron (DreamWorks)
Scooby-Doo (Rhythm & Hues)
Blue Crush (Hammerhead)
Star Trek: Nemesis (Digital Domain)
Lord of the Rings 2 (Weta Digital)
We Were Soldiers Once (Digital Domain)
The Time Machine (Digital Domain)
The Matrix Reloaded (Tippett)
2 Fast 2 Furious (Hammerhead)
Junglebook 2 (Disney)
Incredible Hulk (ILM)
Pirates of the Caribbean (ILM)
Some Motion Picture Studios Using Primarily Linux
Flash Film Works
Industrial Light & Magic
Rhythm & Hues
Sony Pictures Imageworks
Continue the discussion on “Crosstalk” the Millimeter Forum.