Summary: Can Linux be a practical alternative OS to Windows for gamers? Paul investigates the issue by talking about the Simple DirectMedia Layer, the Linux equivalent to DirectX. We've also got a lengthy interview with Sam Lantinga, the man responsible for the SDL initiative. Read on and learn more about SDL!
The Little Engine That Could
I'm a big fan of Linux. Even though now and again I criticize it, I really like the operating system and want it to succeed. I think that all the releases of Mandrake since version 7.0 have been good, and the 8.x releases are particularly worthy of praise. Linux has so much going for it. It is free in almost all basic distributions, is not reliant on the Microsoft juggernaut and is heralded as being faster and more stable than any version of Windows except for Windows 2000. It is far more secure than Windows XP and is much less oppressive too. It does not try to shove a specific media player or instant messaging client down your throat. It does not try to force you to sign up for Passport or .Net services and no distribution I'm aware of spies on your activities and reports it back to the home base. On top of all that, there is no such thing as Product Activation and Forced Registration.
It's Time To Play The Game...
Why do I put up with Windows, even though I am totally angered at Microsoft corporate policies? Games. That is the primary reason. I think Windows XP is bloated spyware that shoves all things "Microsoft" down your gullet. I think that Windows 2000 Professional is pretty close to awesome, but it still does not have all the peripheral and gaming performance I would like. I stick with Windows 98 SE for simplicity and compatibility, not to mention raw speed. Almost all of my games play great on 98 SE, and I'm not about to upgrade if I have to leave my games behind.
Here We Go
These questions were sent to Sam Lantinga in March, 2002 and he responded quickly to the entire lot of them. Perhaps I did not put enough effort in. Maybe I'll have to bug him for a follow-up. Regardless, here is the interview for your wandering eyes to read:
1. FiringSquad: Did you initially envision SDL as a direct competitor to Direct X?
Sam Lantinga: No, SDL was originally designed as an API to provide the services that multimedia applications need across many different platforms. This is still the intent, it just happens that it works very well for developing games on Linux where there isn't a DirectX equivalent.
2. FS: Were you able to use Open GL and Open AL “as is” and then develop the rest of the SDL API around them?
SL: SDL doesn't really use OpenAL at all, although games have been written that use both. As for OpenGL, SDL just acts as a sort of cross-platform glx, setting up the window and GL context, but letting you do all your own work, and introducing no overhead. As such, the SDL API doesn't really interact with the OpenGL API.
3. FS: Was the development of SDL more of a solitary or team effort?
SL: I would call it more of a team effort. I wrote most of the core code, but over the years it has been improved upon by so many different people that it literally would not be the API it is now without everybody's help and suggestions.
4. FS: Can you describe some of the challenges you faced during the development process, from beginning to current day?
SL: The biggest challenge I face during SDL development is balancing the needs of the general application with the services available on different platforms. For example, when designing the audio API, the most common way to access the sound card on Linux is to open the audio device and write a sequence of audio samples to it to play at some point in the future. However on most other platforms, you can't queue audio in that way, you have to keep the audio ready and feed it to the DSP as the DMA buffer is emptied. The audio API I ended up writing reflected this real-time approach.
5. FS: The next version of SDL is said to be a major re-write. Can you go into detail as to why such a re-write is needed, and also what it will entail?
SL: There are a lot of things that would be nice to have in the SDL API that it was never really designed for. Two examples off the top of my head are multi-monitor support and support for hardware audio buffers. These two features alone would require a complete rewrite of the video drivers and a complete redesign of the audio API. There are many other places in the API that could use revisiting, and so the idea has been to start fresh with these concepts in mind.
SIDEBAR: More than 5 questions per page seems to test my attention span. How about yours?
6. FS: I have been an admirer of the direction that Loki took in the Linux game area, as I prefer native applications to emulations. Can you describe the thought process behind the big decision not to cut corners and to strike out on your own in support of native applications?
SL: Loki always took the viewpoint that it was better to implement game subsystems natively rather than using emulation layers which could add significant overhead. It turns out that aside from major subsystems such as audio and video, calls to emulation layers don't end up adding very much overhead since the bulk of the work a game does involves its game logic and rendering, and not system interfaces. However, implementing the subsystems from the ground up as native code gives the developers opportunities to take advantage of patterns in the way the game accesses the system services to make them as fast as possible and often result in a game that is more stable on Linux than on Windows.
7. FS: How do you feel about projects such as Wine and WineX? Do you feel that they are a discredit to Linux because they “windowize” the experience, or do you think they help broaden the appeal of Linux to Windows users, for example?
SL: They are a great boon to people who, for one reason or another, must have certain Windows applications on their Linux box. On the other hand, I dual boot, and have no problem actually running Windows to run a Windows game.
In the long run, companies that care about supporting Linux are more likely to develop ports of their applications if they don't run on emulation layers. For companies that don't care, well, it doesn't matter at all, and it's nice to be able to run their applications on Linux if that is what you want to do.
8. FS: It seems that while the server side of Linux looks strong, the desktop side of Linux is struggling, what with Corel Linux being all but gone and Red Hat stating they are pretty much giving up on the desktop. Can you give us an idea of the current state of the Linux market and maybe let us know which direction you would like to see it move?
SL: The Linux desktop is caught in the classic chicken and egg problem. Which come first, the applications or the customers? I think overall, the Linux desktop is making great strides in making Linux a comfortable place for end users to compute, and that will only improve as time goes by. Whether or not this will translate into Linux as a desktop market force remains to be seen. It really is more up to corporate policy than anything else. If large organizations decide to switch over to Linux on the desktop, then more organizations will do it, and there will suddenly be real customers for large scale desktop applications.
9. FS: What are your impressions of Mandrake’s new “Gaming Edition”? Is it a good first step in targeting gamers, or do you feel there are better ways to approach that market segment?
SL: It's too bad that the one of the most popular games to come out on Linux is one that is emulated, but I hear good things about the distribution.
SIDEBAR: On this page, four questions seemed just about right, but then again, my Allergy Medicine started kicking in right about here...
10. FS: Which distributions do you feel best represent Linux, and why?
SL: Every distribution represents Linux. Linux is almost by definition a great teeming mass of coordinated development and distribution. Each company and individual that takes part in this process is a part of Linux.
11. FS: What are your feelings regarding the movement by some Linux vendors towards product update subscriptions? Does it fly in the face of the “free software” movement? Given the dot.com fallout, is it a necessary process in order for Linux to survive and prosper, or is there another way?
SL: Product update subscriptions smacks of .NET to me, but what can I say.
12. FS: Is the Linux market about where you expected it would be, or has it grown at a different rate, in a different direction than you anticipated when you first got into the community?
SL: I'm disappointed in the reception that commercial Linux games have received, ranging from excitement in the beginning to more recently fuck it, just give me the game. My feelings are strongly tainted by the demise of Loki, so I should probably not make a stance on this.
13. FS: What are your thoughts regarding the perception that Linux is a fractionalized community? There are different distributions and the KDE vs Gnome debate, for example, and there are critics who simply feel that Open Source is not as efficient as a dedicated commercial team. Do you feel these concerns are valid?
SL: I think that if anything, these are the strengths of Linux. Linux is software evolution on a rabid scale. :)
14. FS: What, if anything, do you think is holding Linux back?
SL: The lack of rapid widespread adoption by large organizations.
15. FS: If you could guide the Linux community forward, what are the two most important areas that you think it should concentrate on to help ensure that Linux thrives?
SL: Make sure that there is a place for commercial companies to sell software. Make sure that the underlying operating system and development APIs remain stable enough for everybody to thrive.
16. FS: Are there any other comments or concerns about Linux and the gaming communities that you wish to communicate to people involved in and considering the use of Linux as an alternative OS?
SL: Nope, just remember that it's not a holy war, we're here to have fun. :)
That wraps up the interview portion of this article. Thanks to Sam for answering the questions.
SIDEBAR: Ah, sweet 16. Lame coming of age movies aside, it's all about reaching that milestone of snagging a license and cruising the street with that magic $5 of gas money.
Walk Like An Egyptian...
We live in a world of dwindling choices. Microsoft has made Windows a workable gaming platform, and with the Xbox is set to push its lead even farther. The DirectX implementation has matured significantly, and with the exception of OpenGL on the graphics end, it has had little hardcore competition.
The Real Deal
To me, SDL is a much cleaner way of doing things, and it doesn't shortchange Linux in the process. Linux needs to find its own identity in the hearts and minds of gamers, and it won't be able to do so as long as people are taking shortcuts and avoiding development of native Linux games. Linux needs to have dedicated groups of programmers willing to put it on the line for the belief that Windows is not the only solution. Application development in Linux has surged over the last few years, but unfortunately, the gaming market hasn't taken off with the same speed.
|© Copyright 2003 FS Media, Inc.|