Houdini: Magic Doesn't Just Happen
Side Effects wanted to do their part to move things forward by providing the application. By providing a Linux solution, they felt they could provide their customers with the best of both worlds, low-cost Intel-based platforms and the familiar UNIX environment. Plus, having the kernel source offers the effects houses, which tend to have very technical needs, the opportunity to make modifications they might not otherwise be able to perform.
Part of the reason they considered doing the port was the interest shown by a number of effects houses for a Linux-based Houdini. The interest was “provisional”, considering the lack of workstation-class hardware support (i.e., the OpenGL hardware acceleration), but Side Effects took these requests to heart and felt they could help move the process along by providing the application side of the equation.
Although they didn't have any actual customers signed up for the port—just customers showing interest in its possibility—and even though no satisfactory 3-D hardware acceleration was available, Side Effects felt they had to move forward with the project. Mr. Salvini told me:
We did this as much because we felt it was the right thing to do as anything else. To sit around complaining that no one has developed proper hardware acceleration is kind of hypocritical if you're not providing the application that will take advantage of it. You've got to put your money where your mouth is and do the work.
Before starting work, Salvini said Side Effects spoke to Darryl Strauss at Digital Domain, Xi Graphics and Metro Link about the hardware support that might be forthcoming from the X server vendors. Initially, they started with XFree86, then moved to Xi's AcceleratedX to make use of support for overlay planes, something neither XFree86 nor Metro Link supported at the time. The overlay planes allowed them to speed displays by not having to continually redraw sections of the screen. The dependency on Xi's server is temporary, however, since both the other vendors are working on overlay planes, plus Houdini doesn't have a huge need for them. In fact, Side Effects may provide Houdini in a version that works without overlay planes. The drawback will be a hit in performance, but the program will still be fully compatible with the version supporting overlay planes.
Salvini couldn't talk about which 3-D cards they were looking at, due to non-disclosure agreements. He did say that on the NT port they had worked with IBM and Intergraph, 3-D Labs, Diamond Multimedia and Accel Graphics. Intergraph provides their Intense3D, also known as the Wildcat 4000 card, for the IBM Intellistation. He said response from all these vendors was very good for that port. Since all of these card manufacturers have shown varying interest in the Linux environment, one can only imagine what, if any, their involvement with upcoming hardware announcements for Linux might be.
Beyond hardware acceleration, other issues which the porting team had to deal with are easily recognizable to anyone who has done UNIX-to-UNIX porting in the past: sockets, shared memory work, clone vs. fork/vfork. These are the typical issues encountered when porting applications from IRIX to another UNIX platform (or vice versa). Linux, for all practical purposes, fits into the UNIX marketplace quite well in this respect.
As for doing the actual work, Side Effects was able to make use of all the tools they already had. Salvini told me:
The good thing about Linux was that the tools we did need—for debugging and memory checking, for example—were available for free and we already had a good idea what was going on there.
Even so, it apparently took quite a while to get all the graphics pieces working together, since they “were always downloading the latest bit of this or that.”
Salvini wouldn't term it “an easy port” from the SGI version, due to some tricky things they do concerning performance issues, but he did say it took two engineers about five weeks to do the work: “less time than moving to NT, but it was still longer than we had hoped.”
The port was actually done as a fun thing at first, and they'd figured it might be something they could finish in a weekend. We both laughed when I pointed out that, even with Linux, such a thing as a “weekend port” was still a bit of a Holy Grail for most packages.
At this point the main graphics work has been completed, but audio and MIDI support has not been done. MIDI is a fairly small portion of the product, but they'd still like to finish it sometime soon. Unfortunately, UNIX audio interfaces are fairly non-standard. The developers are looking at the Open Sound System as a possible way to standardize audio ports, but no decision in that arena has yet been made.
The Linux port is actually ready to deliver, minus the small audio issues, but they're waiting on a proper license manager. Houdini will go to beta when that tool is ready. Due to the bleeding-edge nature of this project, they don't feel they can use any of the available license managers, so they may go with one built in-house.
The lack of hardware acceleration on the Linux box means it does not compare to the IRIX boxes for performance. In terms of everything else—rendering, simple shading, wire frame preview—Linux stacks up fairly well. Salvini said:
It's surprisingly good without that one piece. I can't wait for that final chapter to close, for then it will be an amazing platform.
Houdini pushes OpenGL pretty heavily, and as Paul pointed out:
We'll be a pretty good test of OpenGL for vendors on Linux.
Many special effects shops use multiple packages for their work, one for modeling, another for animation, another for effects and another for compositing. Ultimately, you'd want to see all of those tools for Linux. The toughest one will be something like 3D Studio Max, because it has been designed specifically for the Windows platform, unlike many other tools that have their roots in the UNIX world. However, tools like 3D Studio Max are important for the graphic arts world on Linux because they're mid-range tools, where many people get their start. SoftImage and Alias/Wavefront will be easier ports, because they are used to the UNIX and X environment. SoftImage is owned by Avid, but neither the SoftImage nor the Alias products have been talked about lately for the Linux platform.
Many hardware vendors are aware of Side Effects' port, but Paul is under non-disclosure with those vendors and couldn't talk about their plans. Most of the software vendors who have talked to Side Effects have asked them about the port—they want to know what Side Effects knows that they don't. Most of this has to do with questions relating to hardware acceleration. That's the key for which many application vendors are waiting. Like the public, those other vendors will have to wait until the workstation, graphics card and X server vendors start to make their own announcements.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- Google's SwiftShader Released
- Interview with Patrick Volkerding
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Tech Tip: Really Simple HTTP Server with Python
- Non-Linux FOSS: Caffeine!
- Managing Linux Using Puppet
- SuperTuxKart 0.9.2 Released
- Parsing an RSS News Feed with a Bash Script
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide