DreamWorks latest entry in the animated movie genre opened this past weekend in US theaters. Robin fills us in on what the studio has been up to lately, Linux-wise.
Last summer we visited the DreamWorks SKG Glendale studio where the animated motion picture Spirit, Stallion of the Cimarron was in production using Linux. Spirit, the story of a wild mustang's adventures in the untamed American West, will be in US wide release on Memorial Day, May 27th, 2002. Let's find out what's happened with Linux at DreamWorks since our cover feature in the August 2001 issue of Linux Journal.
“For Spirit the Ink and Paint department was entirely Linux, as was half of rendering”, says DreamWorks Head of Animation Technology Ed Leonard. “Now all the departments have been converted. For our current production, Sinbad, every workstation and the entire renderfarm is Linux.” Linux gained its first toehold in the motion picture industry on servers for rendering and has now become a standard desktop for artists. For Spirit DreamWorks utilized more than 150 Linux desktops. More than 350 are in use for Sinbad.
Leonard describes the DreamWorks Linux conversion as a two-step process: porting an extensive library of internal proprietary tools and convincing vendors of commercial tools to do the same. Alias|Wavefront's Maya 3-D animation package already had a Linux port underway, but DreamWorks' core 2-D system based on Cambridge Systems Animo came to Linux later. In the DreamWorks production pipeline Adobe Photoshop is the sole Linux holdout.
So how does DreamWorks use Photoshop with Linux desktops? “We're running Photoshop in VMware”, reports DreamWorks Technologist Skott Miller. “That combination makes a 2GHz P4 feel like 1.5GHz, but the NVIDIA drivers work accelerated at full screen.” Miller notes that VMware runs Windows Photoshop in Linux without trouble, but the tricky part is the Wacom tablet. “Each OS wants raw pen input. Users have to turn off the tablet in X first to enable it in VMware.”
HP has been working with DreamWorks on Linux for some time, and in January 2002 DreamWorks formally announced selecting HP as its preferred technology provider. Leonard reports DreamWorks is very happy with Red Hat and has a close relationship with them through HP. DreamWorks has made Red Hat upgrades in two phases: 6.2 to 7.1 with 2.4 kernel, then to 7.2 to get better Alias|Wavefront support. Going to 7.2 provided enhanced XFree86 and NVIDIA support. For the first two years DreamWorks was using the proprietary HP/UX X server on Linux, not XFree86.
“With Linux I miss the clear SGI release roll-ups”, says Miller. “With Red Hat it seems like every day you get errata. You don't know what those changes may break.” DreamWorks is adopting Red Hat's Advanced Workstation Edition to gain greater stability.
“On the front end we still use Windows and Macintosh for some preproduction”, notes Leonard. “But, we don't see OS X as a core platform for us. We're very committed to Linux.” Leonard says a key feature of Linux is that being open source allows it to be tuned for performance. Miller says, “We're really happy with what Linux is allowing us to do with commodity software.”
DreamWorks has over 350 Linux desktops, plus 250 dual-Pentium Linux renderfarm servers. The desktops are Pentium dual-P3 1GHz 2GB machines with 100-BASE-TX to a gigabit switch. DreamWorks has just started to upgrade to dual-P4 2GHz 2GB desktops, the HP x4000—the June 2002 Linux Journal cover story. For servers, 1.26GHz dual-P3 PCs are housed as a tower of 42 1RU rackmounts together with a switch and a Cyclades terminal management system. DreamWorks has six of these renderfarm tower units with plans for at least six more.
The workstations for Spirit used HP FX5 or FX10 graphics cards, but the FX cards are since discontinued. For dual-head display two FX cards are used, one AGP and one PCI. “We're still using the FX cards on Sinbad and are scrounging for additional P3 FX machines”, says Miller. DreamWorks is switching to the NVIDIA Quadro4 that supports two monitors from just one AGP card.
For rendering, DreamWorks uses the batch queuing package LSF by Platform Computing. “LSF is a distributed load manager that we and Disney and Wild Brain use”, says Miller. “In fact, Wild Brain's Jim Meyer originally worked at LSF.” LSF provides a job submission API with UI that lets artists draw dependency graphs to be rendered. A final composite step at the end brings partial frames together. For that composite DreamWorks used internally developed compositor Matte for Shrek, Animo for Spirit, and is using Shake for Sinbad. Miller is seeking more artist productivity out of the network between Glendale and Palo Alto, but workflow obstacles include that a given scene might require hundreds of files spread across multiple file servers.
“Our ambition two years ago was to get on Linux”, says Miller. “Now it is to double our film production based on Linux. We're trying to do four pipelines for less than the cost of four films.” Each pipeline is a production unit working on one film.
Pipeline 1: Glendale, California: Spirit, now SinbadPipeline 2: PDI Palo Alto: Shrek, now Shrek 2, then MadagascarPipeline 3: Aardman England: Chicken Run (not Linux)Pipeline 4: Glendale PDI South: Sharkslayer
DreamWorks' new Linux pipeline 4 uses Pentium P4s with dual-head NVIDIA displays. Sharkslayer (July 2004) is simultaneously in production with Sinbad (May 2003). Like Shrek and Spirit, Sinbad and Sharkslayer will be two more DreamWorks animated motion pictures produced primarily using Linux.
Animo: www.animo.com/products/animo.htm
Cyclades: www.cyclades.com
DreamWorks: www.dreamworks.com
HP x4000: www.hp.com/workstations/products/linux/x4000/summary.html
PDI: www.pdi.com
Platform Computing: www.platform.com
Spirit: www.dreamworks.com/spirit
VMware: www.vmware.com
Robin Rowe is a partner in the motion picture technology company MovieEditor.com. He has led video R&D at a Fortune 500 IT company, taught C++ at two universities and was an NBC-TV technical director. He leads two users groups, LinuxMovies.org and OpenSourceProgrammers.org.