LJ Interviews Thomas Roell
Thomas Roell is one of those multi-titled, multi-talented kind of guys. He is the Co-Founder, President and Chief Technology Officer of Xi Graphics. Mr. Roell developed the original source code for X display servers on Intel PCs for the MIT X Consortium. I interviewed him by e-mail on June 18, 1997.
Marjorie: Let's start off with some personal information: country of birth, education, fun things, etc.
Thomas: I was born in Bavaria, Germany and lived most of my life in a small town there. There was nothing fancy in my formal education—I took the standard route to a degree in computer science. I have to admit that, back then, I thought the activities outside of school were more important than the knowledge I got in the classroom. College and the emerging Internet certainly opened up an incredible playground. Remember, we're talking about 1989 where the uVAX II was thought to be state-of-the-art.
I do try to maintain a balance between work and fun. Moving to Colorado really transformed me into a sports-nerd. Colorado is actually an outdoor paradise, offering scuba diving, hiking, biking, paragliding, roller blading and skiing. It's said around the company that, after Christmas, I missed only one possible ski weekend on the slopes!
Marjorie: When and why did you move to the U.S.? How does Colorado compare to Bavaria?
Thomas: I moved to the U.S. in May of last year—quite a change for me. However, Colorado compares very well with Bavaria. There are lots of mountains around here with an incredible number of peaks waiting to be climbed.
Marjorie: I understand that your original X server code is the basis for XFree86. Can you tell us something about the transition from non-commercial to commercial product? Why you made the decision to go this route?
Thomas: This is a very interesting question. I made the decision to go commercial in 1992. The computer world back then was totally different from today. There was essentially no high-end graphics hardware available, except in a very few niche markets. Writing good software on PC-type hardware to compete with the workstations was always a challenge to me. The only way for me to finance development (which involved buying the board, for example) was to go commercial.
Also, remember that there was no Linux or FreeBSD movement, so the phenomenon that other people would contribute as we currently see with Linux was simply unheard of at that time. The transition itself was fairly easy—suddenly the limitations on how to get hardware were gone. The original X Server quickly moved forward during this time, both in technology and in driver support.
Marjorie: Did your X server code always support Linux? Why did you choose to port to Linux?
Thomas: Initially, Linux was not supported, since all of that predates Linux by quite some time. We had an experimental Linux port running in late 1994. Keep in mind that an X Server is, to a large extent, really independent of the underlying operating system. To be honest, back then we did not expect the “Linux Phenomenon” at all.
Marjorie: Do you intend to stay with Linux as a platform of choice?
Thomas: Linux today addresses all the issues which the commercial Unix systems in the early 90s did not address. Systems such as SCO and UnixWare attempted to become players in the desktop arena, but were not too successful. Linux, however, definitively succeeded in the desktop arena and now is a viable alternative to the Microsoft-based systems. Our move to support CDE under Linux clearly shows that we do view Linux as one of the key cross-platform operating systems of today and tomorrow.
Marjorie: Tell us something to the origins of Xi Graphics. How you met Jeremy Chatfield and how you reached the decision to found a company together?
Thomas: I have known Jeremy for quite a while. He actually gave me my first job in the U.S., a short three-month stint during a summer break from college. Our paths crossed quite frequently after that, so he was the obvious choice when it came time to found this venture. He was living in Denver at the time, which was the reason the company was headquartered here. It turned out to be one of our best choices.
Marjorie: Why did you change your company name from X Inside to Xi Graphics? How has the name change affected business?
Thomas: I've been so involved in working on our new product release for this Fall, I haven't given much thought to the name change, which was designed to distance ourselves from X-rated Internet hits. But, I do know that as Xi Graphics we're certainly keeping busy!
Marjorie: Tell us about the design decisions for AcceleratedX, in particular, why you chose a design that features client, server and window manager as separate entities. Would you change it, if you were designing it today?
Thomas: Actually this is not a decision we made. This is inherently built into the X Windows system. The separation of clients, server and window-manager makes a lot of sense. In order to make them interact, you need to have very well-defined and understood interfaces. The X Windows system has a network protocol with an exact specification of the operations and semantics. If you compare this to Windows 95 where the interface is only loosely defined, if at all, you'll see a big advantage since you don't have to guess. It is true that this separation initially caused problems. The separation meant that there were many different window-managers available, and there were two major GUI toolkits—OpenLook and Motif—out there. This competition, on the other hand, helped move the whole system forward in a short time. Those issues are now resolved and the Motif GUI style is the de facto standard.
Marjorie: Just how fast is AcceleratedX? How does it compare to XFree86?
Thomas: This actually comes down to the question of “what is speed?” We at Xi Graphics are always faced with a two-fold challenge. First, to make our product as stable as possible and comply with the X-Protocol specification, which is quite strict about what should and should not appear on the screen. Speed comes in second. If there is a trade-off between speed and correctness, we do sacrifice speed. This does not mean our drivers are slower. It just means they could be even faster if we would ignore some hardware problems of the graphics devices.
Now to the tricky point—how do you compare speed? Obviously, we want to have a fair benchmark that represents a real world scenario, rather than a meaningless number. With new and faster hardware, older benchmarks that gave meaningful results in 1989 are not appropriate anymore. The X Performance Characterization group (XPC) observed this dilemma a few years ago and came up with a new benchmark that exercises a lot of different operations in a real world scenario. This is one of the reasons why we are not especially focusing on measurements such as stones or engine, but rather those real world numbers which give real results.
The other key question is—how to compare performance if one X Server performs the correct way and the other one doesn't? For example, what if one X Server draws lines using software because the hardware does not comply with the X-Protocol specs, and the other X Server uses the hardware, but produces incorrect results? Putting all those issues aside, AcceleratedX usually is more than two times faster than competing products.
Marjorie: What improvements have been added in the latest release? Exactly what is “overlay technology”?
Thomas: We are constantly improving our products in many areas that traditionally do not appear on a feature list. In the latest release, we've focused on getting memory usage down, which is prompted by certain applications such as Netscape being down significantly. Issues like inter-activity have been addressed by making the X Server virtually multi-threaded. Color correctness, which is especially well supported within the X Windows system by the Xcms API, has been significantly enhanced. We now offer hardware gamma corrected visuals, along with the software that is required for programmers to take advantage of this feature, so that one application displaying the same image on two different monitors will look identical.
The most important new feature, however, is the introduction of overlays or “multiple visuals” as I prefer to call it. Everyone using applications similar to Netscape will at some time experience those nasty pop-up messages stating that the application could not get enough colors and is not willing to run. On the other hand, if a configuration with more than 256 colors is selected, other applications won't run at all. With our new release we do address this problem by allowing both application classes to run at the same time. Basically, an application can choose whether it wants to run within a 256 color PseudoColor scenario or a 16 million TrueColor mode. Because most color-intensive applications will choose the 16 million color visual, all the “Technicolor” effects are gone as well. Everyone in our office started using this special mode (which only Xi Graphics has on Intel UNIX) after seeing it the first time.
Marjorie: Give us your thoughts on the evolution of hardware from “slow and expensive” to “fast and cheap”.
Thomas: It's the traditional story in the PC market. A couple of years ago there was no market for high-end graphics solutions, except maybe in the CAD sector. So, quite naturally, there were only a few highly specialized and expensive solutions. GUIs around 1992 were mostly text-based (if you want to call that GUI), so there was really no need for more and faster graphics hardware.
The turning point was really the original IBM 8514/A graphics accelerator. This was the first fixed-function graphics accelerator for the IBM PC. Fixed-function means here that there is not an extra general purpose CPU on a huge printed circuit board with a lot of additional logic. Almost all the hardware today has its roots in this design. The real revolution came in late 1992 when “S3”, a then-unknown company, created a single chip solution that combined the VGA standard with an 8514/A clone graphics accelerator. Similar developments then made the MS-Windows desktop system usable. This in turn started the whole rush of making graphics subsystems faster, and fostered the attitude, “if you can't beat your competition with performance, make it cheaper.”
When I look back to the first graphics system for which I wrote an X Server (which, of course, was top of the line then) and what is now available for about $300, there is an increased performance factor of 250.
Marjorie: What about your other product, CDE, Common Desktop Environment? Exactly, what kind of environment are you providing the user? Which platforms does it support?
Thomas: As outlined above, the X Windows system actually consists of a number of different components. CDE provides a robust standard for both programmers and end users that utilize the different components. The normal user sees a desktop manager and a number of essential productivity utilities—such as calendar manager, note pad, file manager and help system, to name a few. So it's way more than the fancy window manager to which it is compared.
Even the brief description I gave does not address the key potential, which is that CDE is completely network-oriented. The calendar manager, for example, can contact other machines and coordinate appointments with other people. Technologies such as ToolTalk and remote execution are integral parts of CDE, and CDE is not available just for Linux and FreeBSD. Basically, every major workstation vendor picked up CDE as the standard Unix desktop interface. It does not matter whether you use a Sun SPARCStation, an IBM RS/6000 or your Linux system at home, CDE will work for you. Much emphasis has been placed on the aspect of internationalization. CDE is the first Desktop Environment that allows application developers to develop truly internationalized applications. A single program is able to support Japanese as well as German or English. Of course, the desktop itself comes with support for a wide variety of out-of-the-box supported languages.
Marjorie: What does the future hold for Xi Graphics? for Linux? for yourself?
Thomas: We continue to focus on being the prime supplier of networked graphics solutions. This will not be limited just to the core X Server and the Desktop. We are positioning ourselves to provide a Desktop solution that is a valuable alternative in the Microsoft dominated PC market. Linux is certainly the operating system of choice to do that on a cross-platform level. As for myself, there are a lot of things I haven't tried yet. Currently, my team at Xi Graphics is trying to convince me that base jumping* is not the thing to try out next weekend.
Marjorie: Any thoughts you'd like to leave us with?
Thomas: Live long and prosper!
*Mr. Roell seems to like danger. Base jumping is parachuting off buildings, mountains and other things with only a few hundred feet for the parachute to open fully.*