Slashdot Mirror


Gaming on Linux

LinuxWorld's Nick Petrely latest column is about Linux and gaming. Excellent arguements as to why this is an important market-and it's one of the weakest areas for Linux right now. I think recent moves have been good-but, darnit, I don't wanna sit down in front of the Playstation anymore. And I still haven't gotten my beta test copy of Civ: Call To Power. Harumph.

5 of 116 comments (clear)

  1. Golgotha Forever! by Anonymous Coward · · Score: 3

    We're looking for artists, musicians, coders!
    Check us out at www.golgotha.org

  2. system crashes by TedC · · Score: 3
    From the article:

    But while IP gaming is getting more compelling than ever, there is one thing that makes the gaming experience frustrating: system crashes.

    Nick, you hit the nail on the head that time.

    I usually have 3 or 4 system crashes a night playing Quake 2, and after 30 or 40 of these windows is so corrupted that it will no longer run. I have reinstalled Windows so many times that I can do complete sections of the installation with the monitor turned off by counting key presses. I finally gave up about 3 or 4 months ago; I decided that it wasn't worth the hassle anymore. Since I wasn't using Windows for anything but games, I just formatted the partition, and things have worked fine ever since. :-)

    TedC

    PS. I'm waiting for Quake 3 for Linux with much anticipation.

  3. Roadmap for Linux Gaming Support by ewhac · · Score: 5

    Oh dear, you've gotten me started. As an occasional game author myself, I have some perspective on this (with lots of lessons learned the hard way from both sides), and it just happens that I've been thinking about this issue lately. Here are some things I believe Linux needs to improve its appeal to gamers and game developers.

    Transparent Access to Full Screen Display Modes
    SVGAlib has been an excellent tool for a long time, but it's starting to show its age, and it supports considerably fewer cards than the current release of XFree86. Further, it's silly to have to write a driver for the same card two or more times (once inside XFree86, once inside SVGAlib, etc.). I've read the work of The GGI Project, and I suggest interested techies do, too. There are no glaring flaws in the design (though it has odd warts here and there), and with work it could become an excellent foundation for high-performance graphics device control and configuration. SVGAlib and XFree86 could both be built on top of this structure. Thus, drivers would need to be written only once. I've love to see this move forward.

    Unlike Windoze display modes (which all come out of a fixed table), Linux should be able to generate any resolution and scan rate the card can physically generate. Multi-monitor support would also be nice, but this is much harder (trust me on this one). Also, you should be able to launch a full-screen app from inside XFree86, and neither XFree nor the app should care (being able to switch back and forth would be nice, too). Ambitious souls may care to emulate BeOS's "Workspaces", where each virtual desktop can be a different resolution, scan rate, and pixel depth.

    There also needs to be work done on supporting VESA DDC (Display Data Channel) which allows the system to identify the attached monitor and determine its scanning limits (thus alleviating the need for the dreaded mode table in XFree86config; just ask the monitor what it can do). We may also need to beat up on VESA to make its standards more readily available.

    Expansion of OpenGL Efforts
    OpenGL is the future of 3D gaming (just ask John Carmack). While Mesa is an excellent first step (and very complete), its performance is poor compared to OpenGL ICDs available for Windoze. Basically, we need to get the triangle counts up. Part of this can be done by optimizing Mesa. However, a significant portion of the rest has to be done by or in cooperation with the 3D card manufacturers.

    A standard interface needs to be established between Mesa (or whatever OpenGL implementation ends up dominating) and the graphics cards. This will allow for Mesa and the hardware drivers to be evolved and optimized independently of each other. It also allows users to plug in any compliant card and expect it to work. This GL/hardware interface can be established at the driver level; the GGI people probably have suggestions on this.

    Finally, everyone reading this article needs to beat up on the 3D card vendors to support Linux. Roughly half of all Quake servers are running on Linux. 3D card vendors live or die based on their Quake frame rates. Why should a server operator have to crash back into Windoze just to test out the latest RA/TF/CTF/LMCTF release? This alone is compelling enough reason for the 3D vendors to formally support Linux.

    New Sound Architecture
    OSS is functional (it works well for Quake and MikMod), but modern gaming requires much more. Sound has always been my weak point, so I don't have a lot of concrete ideas here. ALSA (Advanced Linux Sound Architecture) looks interesting, but I lack the knowledge to evaluate it properly.

    Basically, the goals of the sound API need to include extremely low latency and low overhead. The system shouldn't be eaten alive just mixing and playing back sounds. Also, for applications that do buffer sounds ahead of time, there should be an event system built in such that the application can be informed when a particular sample or sample segment has started playing. This allows the client to synchonize other events (explosion visuals?) with the audio.

    Networking
    In my view, very little needs to be done here. Linux's socket API is one of the most reliable and complete implementations anywhere. There's no reason a game can't directly use network sockets.

    Input Devices
    Again, the keynote here is low latency and high sample rate. Most PS/2 mice will run at higher baud rates (if you're running Windoze at the moment, grab a copy of PS/2 Mouse Rate and see for yourself), so the mouse drivers should have the ability to tweak this.

    I'm not as convinced that USB is important, but in order to get that to work, you better start beating up on Intel for the specs now. Intel's documentation department can be slow to respond (I'd use the term "glacial," but that conveys an unwarranted sense of haste). USB is a non-trivial beast. Getting all the device types, hubs, and hot-plugging issues down is going to take time.

    Anyway, that's pretty much what's on my laundry list. I also have specific ideas on how some of this might get implemented. If I wasn't so darned employed, I'd probably be working on some aspect of this stuff.

    Thanks for reading.

    Schwab

  4. Want to play games on Linux? well, try this. by VanL · · Score: 3

    I almost submitted this as a separate story, but it seems to be very appropriate here.

    Do y'all remember, back when Sony announced that Playstation 2 development was going to be on Linux? There was rampant speculation about whether a Linux emulator for the Playstation was going to come out. Most people concluded: Well, probably not.

    It is here! Cygnus has a complete software emulation of the Playstation 2 that they developed for Sony. Now, I don't know if they are going to release it, and you would probably need a quad Xeon to get good performance, but man, that is exciting.

    Here's the quote from Forbes:

    Nevertheless, there is a lot of speculation about Sony's ability to
    deliver enough games to make this videogame console a
    must-have electronics gizmo. But such doubts are mostly
    unfounded. Thanks to Cygnus Software, a Sunnyvale,
    Calif.-based startup, which developed a software simulation
    environment that allows game developers to create and test game
    titles prior to the availability of the next generation PlayStation.

    The simulation software runs on a Linux-operating system and
    basically duplicates the hardware specifications of PlayStation2.
    Even though the hardware is unlikely to be delivered until later this
    year, it seems that many developers are busy cranking out games
    for PlayStation2. The delivery of this simulator will dramatically
    accelerate the delivery of titles in what is a hyper-competitive
    marketplace.

    Sony asked Cygnus to develop the simulator software two years
    ago. What Cygnus has delivered is a software replica of
    PlayStation2. The virtual hardware platform represents a complete
    architectural simulation environment, including 128-bit CPU core,
    floating-point coprocessors and DMA channels. This provides a
    complete environment that allows a developer to create, test and
    debug gaming titles.


    See the rest of the article here. I hope this give Linux a gaming boost.


  5. Things just need to settle down. by Fizgig · · Score: 3

    The author (why not a link?) claims that we just need a good development kit. Those things are in the works. At the low-level side is GGI. Have you guys ever used this stuff? It's incredible. A program written for GGI can run on SVGAlib or X or FB console without recompiling all as fast as it would have been if it had just been written for SVGAlib.
    There's also ClanLib, which is an LGPL'd SDK, just like DirectX. True, it's not quite ready yet, but we need more people to put effort into these things rather than creating a new "standard". It's unfortunate that Loki has resorted to using SciTech's libraries to make their games, but nothing else is ready. Don't make it happen for their next game!
    On another note, I saw a message on linuxgames.com that was saying that there are 10m Linux users, 1% of whom would buy a game, so that's 100,000 copies that a developer could sell if they made a Linux game. That's making a lot of assumptions, though, the most important being that all 10m of those machines have monitors and aren't 386s!