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 Sinbad
Pipeline 2: PDI Palo Alto: Shrek, now Shrek 2, then
Madagascar
Pipeline 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.
Resources
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.
|