Linux, Gaming and You

Kasyx

Expert Member
Joined
Jun 6, 2006
Messages
2,565
Reaction score
1
Location
127.0.0.1
I thought I would take the time to create a thread dedicated to Linux Gaming, where people can see just what the Linux gaming market actually consists of. I have seen a lot of people posting things like "Well, Linux looks cool, but it just doesn't look like it can run my games... :(", well I have created this thread to assist people who are looking into Linux, and who enjoy gaming. I will probably be updating this post quite often, because (thanks Eskom), I don't have time to write everything down due to my power going out in 20 minutes, so this will look half-finished.

I will try to break this down into "Chapters", if you will.

What you need to know

There are one or two programs I may mention (mostly "Wine" and "Cedega"), these are basically emulators (even though they really aren't, but they achieve emulation) that are able to run Windows software on Linux (although not all software), Wine is generally used for applications (i.e. Photoshop), although WoW works on it as well (as I am sure other games do too). Cedega was originally built off the wine "API", however it includes DirectX integration allowing one to play more "advanced" games on Linux. Cedega, however, comes with a monthly fee (in a sense, you can pay the $5 once off and use Cedega indefinitely, but you will not be entitled to support or updates).

DirectX 10 functionality is not yet available on Linux. Sorry guys, you won't be playing Crysis on full any time soon, but that's just the way life goes, and chances are high that by the time PCs are available that are actually capable of running Crysis on full, DX10 will be out for Linux anyway :D

DirectX is not the only "graphical software" out there. Few people seem to have heard of OpenGL (Open Graphics Library), which is used to power 3D engines for ID software (Quake series, Doom series, etc.). I will discuss this topic a bit later one.

So why aren't more games made for Linux?

Basically, because Microsoft owns the industry. This is pretty much due to the horrifying concept of Vendor Lock-ins. I would take the time to explain this concept, but isilanes from Handyfloss does it so very well, thus I will quote:

isilanes(Handyfloss) said:
Imagine a country with no bicycles.

One day a guy comes up with the idea of making them, and starts to produce, and sell, bicycles that we shall call of type A. Being an empty market, the A-type bicycles quickly triumph, and the maker makes a lot of money.

But some time later, a second guy devises a better bike design (type B), and decides to produce and sell it. The price and the quality are better, so when people buy a new bike or replace an old one, they tend to buy bikes of type B. Soon enough, the market is dominated by the new, better, bicycle.

Now imagine a country with no cars.

One day a guy comes up with the idea of making cars, and starts to produce and sell cars of type A. As cars need petrol to run, A-type gas stations develop in parallel to car sales. Building gas stations is expensive, but sales are guaranteed, as everyone has or will have A-type cars, and they need A-type petrol: their growth is synergistic.

But some time later, a second guy devises a better car design (type B) and decides to produce and sell it. The price and the quality are better, BUT drivers can not buy B-type cars, because there is no B-type gas station. The problem is that, since noone has a B-type car, making B-type gas stations is doomed to bankrupt. So, no B-type cars are sold, because there are no B-type gas stations, and B-type gas stations will not be made until B-type cars are popular!

The result is a vendor lock-in.

Make sense?

Here is how it pertains to Microsoft/Linux:
isilanes(Handyfloss) said:
* Proprietary communication protocols that will not work with any other OS. This includes modifications on the IE web browser, so that web pages had to be done for it, and then be incompatible with other browsers. Or the MSN protocol, that is kept as closed as possible, to make free clones of the MSN client as little compatible as possible.
* Proprietary file formats that will not be possible to modify with tools other than the “official” MS ones: WMV for video, DOC, XLS, PPT for office documents.
* As much “Windows-only” software as possible, including games. Making games for platforms other than Windows ensues the wrath of MS, something that game makers can not take lightly, since their sales depend on the game actually running under Windows.
* As much “Windows-only” hardware as possible. The first idea that someone gets about an OS is that it is the piece of software that interacts with the hardware. If so, it is astonishing why it is not MS the one incorporating the drivers in the OS, instead of the hardware makers (hardware != software) providing them. We have all grown accustomed to buying printers, mice, external CD/DVD/HDs… with a CD with the “Drivers for Windows 98″ or some such. Why? Windows can not make the drivers out of the blue, true. But the hardware makers can just make the necessary data public, so anyone will be able to make drivers. If the maker keeps these specifications secret, they will simply not sell anything.

You can read the full article from which these quotes are taken here

Linux and DirectX

Cedega has managed to "emulate" (or rather incorporate the DirectX API), making most DirectX games playable on Linux. The issue with this, however, is that when a new version of DirectX is released (i.e. DirectX 10), Cedega has to wait for Microsoft to release the DX API to the public before beginning work on it, whereas all other gaming companies locked in with Microsoft have had access to the APIs right through the development of it. This means that games running the new DX version come out too quickly after the release of it (new DX version), that Cedega has not had a chance to incorporate it yet, thus the only way to play games using said DX version is by using Windows.

Linux and OpenGL

You know how sometimes you start dating this relatively pretty girl, and then she invites you over for dinner where you meet her insanely hot step-sister? Well think of DirectX as your date, and OpenGL as her step-sister. So you're sitting there and wondering why you met your date before you met her sister, and then you realise that it's because your date is a total attention whore pretty much being pimped by her father, meanwhile her super hot step-sister is locked in the basement and any guy who wants to get with her better be able to dodge her step-father's shotgun blasts. As you may now have guessed, the father is Microsoft. I may have taken this metaphor a bit too far...

Basically game developers are not using the awesomeness of OpenGL because it would anger Microsoft, and game development companies just can't take that kind of chance because Windows is pretty much 90% of the OS market.
There are, of course, a number of games (and game development companies) who pretty much give Microsoft the middle finger and do whatever the hell they want, which generally includes using OpenGL. Because you are probably too lazy to click on a link, I will list some of these games here:

* America's Army
* Call of Duty
* City of Heroes
* City of Villains
* Counter-Strike
* Doom 3
* Enemy Territory: Quake Wars
* Far Cry – Defaults to D3D
* Half-Life (not Half-Life 2)
* Neverwinter Nights
* Penumbra: Overture
* Prey
* Quake series
* Serious Sam
* Serious Sam 2 – Defaults to D3D
* Starsiege: Tribes
* Star Wars Jedi Knight: Jedi Academy
* The Chronicles of Riddick: Escape from Butcher Bay
* Ultima IX: Ascension
* Unreal series
* Warcraft 3 - Defaults to D3D in Windows
* Wolfenstein: Enemy Territory
* World of Warcraft - Defaults to D3D in Windows
* X-Plane

So yes, if you wish to take a moment to recall just how awesome some of those games look, by all means; I'll wait. If you wanna find out about more OpenGL games, check out this Wikipedia article.
 
Last edited:
Native Linux Games

There are actually, surprisingly enough, quite a few games that run natively in Linux (either directly, or through being ported from Windows), here are a few:

id Software together with Raven Software ported Doom 3, Quake series, Return to Castle Wolfenstein, Enemy Territory: Quake Wars. Bioware released Neverwinter Nights. Epic Games released Unreal Tournament 2003, Unreal Tournament 2004 and they will port Unreal Tournament 3. Croteam released the Serious Sam series. Introversion released Darwinia, Uplink, and DEFCON. S2games released a Linux client of their title Savage 2 soon after it's launch. Loki Software was the first such company, and between 1998 and 2002 ported Descent³, Heretic II, Heroes of Might and Magic III, Kohan: Immortal Sovereigns, Myth II: Soulblighter, Railroad Tycoon II, Rune, Sid Meier's Alpha Centauri, Sim City 3000, Tribes II, and Unreal Tournament. Linux Game Publishing was founded in 2001 in response to the impending demise of Loki, and has brought Cold War, Postal², and X²: The Threat to Linux. icculus.org has ported Aliens versus Predator, Duke Nukem 3D, Medal of Honor: Allied Assault, and Rise of the Triad.

If you want to find out more about native games, as well as Linux clones, check out this Wikipedia article.

DirectX vs. OpenGL

Right now, the latest version of DirectX is DX10 (as everyone pretty much knows), which is responsible for the sheer face-melting awesomeness of Crysis.

The current stable release of OpenGL is 2.1, which is responsible for the entire Quake series, Doom 3, the Unreal series, and so on.

To give you a comparison:

4lzugkk.jpg


As you can see, OpenGL2.1 and DirectX 10 are pretty close. However, the OpenGL2.1 images are renders, where as some of the DirectX 10 images are in-game screenshots. So yes, right now, DirectX 10 is better than OpenGL2.1. Don't fret, however, as if you compare OpenGL2.1 to DirectX 9, you can see just how much better OpenGL2.1 is. And yes, OpenGL2.1 was released August 2, 2006 to compete with DirectX 9. So what about an OpenGL competitor to DirectX 10, you ask? Well, look no further, being released later this year in direct competition to DX 10, is OpenGL3
(That video is of id Software's new iTech5 3D engine, built on OpenGL3). If the comparison between OpenGL2.1 and DirectX 9 is anything to go by, OpenGL3 is going to blow DX 10 right out of its vertex-shaded, anti-aliased water.

So how will more games get made for Linux?

Well, this responsibility falls upon you, dear Gamer. If you make the effort to start using Linux to run your games (hell, even dual boot with Vista if you are desperate for some DX10 goodness on occasion), there will be more of a demand for games that run natively on Linux. And if there is one thing I have learned from business strategy it is that demand must be met, and if there are a bunch of gamers whining in forums because the latest Counter Strike: Sandwich-Point Source Pan doesn't run well under Linux, game developers are going to take notice.

Dual Booting, is it worth it?

As much as I would like to say that dual booting is an awesome way to go, I just don't really think it is. See the problems with it is that one should be running Windows for gaming, and then Linux for everything else. But what happens then is that one starts favouring one particular OS over the other, and the effort to boot across into Linux when you can just do the same thing in Windows becomes far too great. So this sort of goes completely against my previous section (how lame is that?), because it's almost a catch-22; Linux needs gamers to use it in order to have games made for it, but gamers will only start using Linux when it has games.

I must be honest, I tried setting up a dual boot system on my home pc just this weekend and it failed miserably. I installed Windows XP to play my games, and then I installed Kubuntu 7.10 to do everything else. However, the next time I attempted to boot into Windows, it bitched about a corrupt/missing file (which was probably due to my partition scheme). See that's the thing; Windows is not the type of kid who will wonder out onto the playground to make friends, but rather sits in the corner of the sandbox eating mud and crying whenever any of the other kids get too close. Windows does not like having friends, especially when they are sharing the same hard drive (yeah, that's not anti-competitive in the least). So my suggestion? Use Windows... On your gaming machine, for everything else; use Linux :D

After my dual boot fiasco, I just went back to Windows XP SP3 on my main (gaming) pc (which is what I am typing on now). However, I run Linux on my laptop and my work pc. So that right there is my suggestion (obviously I understand if you can't run Linux at work); if you have a laptop or a spare pc that you use, load Linux on that (my suggestion is some flavour of Ubuntu), and keep your main pc on Windows for gaming because yes, right now Windows is still best for gaming, and I don't think anyone can deny that. But that shouldn't stop you from at least trying Linux out. It all depends on the games you play; WoW and Warcraft 3 run on Linux just fine, as does Battlefield 2. So if you are a WoW-addict, give it a try on Linux. Who knows? Your framerate might just be that much higher :D

Disclaimer: I, by all means, do not know everything to do with this topic and some of the things I have said may be a complete load of crap. However if you feel this is the case, or you want to mention something I neglected to, by all means let me know and I will try add it in when I get a chance in an attempt to make this Linux Gaming thread as useful as possible.

Happy fragging.
 
Last edited:
Anybody know how the FramesPerSec compare in UT2004 in windows and linux? Would be interesting.

OGL3 sounds interesting. I coded a few OGL1 apps a few years back. Was fun.
 
Anybody know how the FramesPerSec compare in UT2004 in windows and linux? Would be interesting.

OGL3 sounds interesting. I coded a few OGL1 apps a few years back. Was fun.

I've [-]played[/-] researched ut2004 quite a bit on Windows and Linux and in my experience they both performed the same, whether it was the more hardware intensive onslaught and assault or a small 1-on-1 deathmatch.

<OT>
I had the same experience with Doom 3.
</OT>
 
from my doom3, quake4 and ut2004 experiences, i would say my linux install had the slighter edge. the games felt smoother on my hardware that should be retired very soon.
 
does anybody know if the old Unreal Tournament II will run under wine? I was capped yesterday, so I can't check it out on winehq
 
does anybody know if the old Unreal Tournament II will run under wine? I was capped yesterday, so I can't check it out on winehq

There is actually a Linux port of all the UT games (except for 3, which is coming soon).

Yeah, you can play UT in Linux without having to deal with wine.... You've probably heard of the software company called Loki , which ports some very good game titles over to Linux. Anyways, Loki offers a 100% free Linux port of UT (total port, no wine involved).

I think on my machine, UT runs better in Linux than it does in Windows. What You'll Need:

* It's good to beat the minimum hardware requirements by at least double if you want to play it at its highest settings. The requirement are in the readme file.
* You'll need to already own the UT installation CDROM, which goes for CAN these days.
* You can download the Linux installer which is about 6MB, the links are below.
* No serial number required.

The readme file will tell you how to run the installer. Basically, the installer is an executable shell script with the installation files embedded into it. The Linux installer will use the data files from the Win CDROM to install UT on your Linbox. Oh yeah, once it is installed, you don't need the CDROM anymore. :) If you like it, you should support Loki Software by buying one of their other great games they ported to Linux. I heard that they have filed for Chapter 11 a while ago. Loki's UT page: http://www.lokigames.com/products/ut/ here's the D/L link if you're interested: ftp://ftp.lokigames.com/pub/patches/ut/ut-install-436.run and the readme file: ftp://ftp.lokigames.com/pub/patches/ut/ut-install-436.run.txt

(taken from http://www.plug.ca/article.php?story=20020108132402283)
 
does anybody know if the old Unreal Tournament II will run under wine? I was capped yesterday, so I can't check it out on winehq
Excuse me, but why would you want to take a Windows game and run it on an emulator running on a Windows machine??:confused:
 
skeptik is jaarik running his linux in a virtual environment?
 
skeptik is wrong. i am running linux on my laptop natively.
 
I'm guessing friend skeptic was trying to imply that a PC is a windows machine. In other words: why not just run your games on Windows?
 
Slightly off topic, but there was a series running in NAG magazine not to long ago that detailed the history of DirectX (which actually means more Direct3D for gamers) Wikipedia also has some interesting articles on OpenGL vs D3D.

I intend to install Mandriva 2008.1 on my soon to be finished computer, and try to play what games I can. I'll have to re-enable onbord sound, as my X-Fi won't be supported, but I can live with that.

Phoronix.com also has updates on Linux gaming stuff from time to time.
 
I'm guessing friend skeptic was trying to imply that a PC is a windows machine. In other words: why not just run your games on Windows?

at least because it is not a challenge.
 
As you can see, OpenGL2.1 and DirectX 10 are pretty close. However, the OpenGL2.1 images are renders, where as some of the DirectX 10 images are in-game screenshots. So yes, right now, DirectX 10 is better than OpenGL2.1. Don't fret, however, as if you compare OpenGL2.1 to DirectX 9, you can see just how much better OpenGL2.1 is. And yes, OpenGL2.1 was released August 2, 2006 to compete with DirectX 9. So what about an OpenGL competitor to DirectX 10, you ask? Well, look no further, being released later this year in direct competition to DX 10, is OpenGL3
(That video is of id Software's new iTech5 3D engine, built on OpenGL3). If the comparison between OpenGL2.1 and DirectX 9 is anything to go by, OpenGL3 is going to blow DX 10 right out of its vertex-shaded, anti-aliased water.
This is incorrect. You can't make a direct comparison between APIs using a screen shot or different software titles. If any graphic's element is written using Cg+ for example then it can compile to DX or OGL compliant code. So a screenshot can never be a representation of which API is better. If you're dealing with real time rendering you have to see any comparison in motion with its associated resource use. Both OpenGL and DirectX use an immediate mode rendering approach which means speed is directly tied to visual quality.

For the same features employed in each game, which API between the two has a larger overhead? you can't tell that from a screen shot.

The last picture on the bottom left is from NVIDIA's human-head demo which indeed makes use of OpenGL, but uses proprietary vendor extensions to render that image. It's a showcase of hardware not an API...

90% of NVIDIA's tech demos are in OpenGL and that is because they can use custom hardware features through OpenGL's extensible extension function. Also it's a means of stopping their tech demos from running on other hardware. The demo can just check for extension support in the installed ICD, when it reads certain extensions aren't supported and the ICD version is correct then its obviously not Nvidia hardware or the GPU does not support the features. Either way the rend result is the tech demo will not work. ATi uses a similar method, but reads device and vendor id from the API and system driver.

Making games for platforms other than Windows ensues the wrath of MS, something that game makers can not take lightly, since their sales depend on the game actually running under Windows.
That's not true either. There were many variations of DOS before and games written for DOS worked in all these different DOS versions. For developers its about numbers, the open source community simply doesn't have the number that would justify making a game for that market. Where possible most games that make use of OpenGL as the chosen graphics API will work under Linux. Those that buy the game for use under Linux are looked at as a bonus not as a primary source of revenue.

For any given API Microsoft provides better tools for its own API than the competition does for theirs. As a developer, better tools mean a shorter production time and lower costs. Microsoft's' DirectX SDK is free, well documented and many people are proficient at it. Which is why it becomes the obvious choice for many developers.

Basically game developers are not using the awesomeness of OpenGL because it would anger Microsoft, and game development companies just can't take that kind of chance because Windows is pretty much 90% of the OS market.
There are, of course, a number of games (and game development companies) who pretty much give Microsoft the middle finger and do whatever the hell they want, which generally includes using OpenGL. Because you are probably too lazy to click on a link, I will list some of these games here:
No, this is not right. This is misleading people and it would have been better if you didn't say anything at all. Microsoft couldn't care which API you use to render you game. Be careful that you don't mix up a platform and an Open standard API.
Majority of those games run in a windows platform and believe it or not, all of them install DirectX updates when running on a widows platform. Why? Because they make use of DirectSound, DirectInput, DirectPlay, DirectDraw etc... they use OpenGL as the graphics render but hand over everything else to DirectX.
This flexibility is in directX that you can use any renderer you want, but still have access to the rest of the structures under the DirectX banner.

Choosing to use OpenGL over Direct3D has nothing to do with giving Microsoft the finger, but is based purely on technical merit. What that list fails to mention the way you have contextualized it is that; the Direct3D render in FarCry for instance is faster than OpenGL mode on a a Geforce 6800- class accelerator.
What that list also doesn't tell you about FarCry is that HDR isn't supported in OpenGL.

That list also doesn't tell you that a number of those games use either the Quake or Doom3 engine so it stands that all these games will use the rendering mode of choice that the original engine was based on. In essence that list has duplications which make it bigger than it really is.

Here is an example for you.
Splinter Cell: Chaos Theory used a heavily modified Unreal2 engine and that was the best the Unreal2 engine ever looked. However, what was done to the engine shifted it into a DirectX9.0c game and away from its traditional OpenGL/DirectX roots when used in Unreal2, Unreal 2K3 and Unreal 2K4. At its best it had parallax mapping added to it, true 128-bit HDR and other features that made it a Direct3D exclusive.

Windows is not the type of kid who will wonder out onto the playground to make friends, but rather sits in the corner of the sandbox eating mud and crying whenever any of the other kids get too close. Windows does not like having friends, especially when they are sharing the same hard drive (yeah, that's not anti-competitive in the least). So my suggestion? Use Windows... On your gaming machine, for everything else; use Linux
Now that's just not fair... Why the bashing?
===========================================================
Anyway I appreciate what you are doing and as you said you welcome some input. So this is my input above. You are tackling a matter that is not only technically involved but has pure business reasons behind it. It is not fair to present misconceptions about Linux and its state of gaming because some things may be unknown to you. Rather have it as it is straight and take it from there.

Otherwise good read :)
 
That's not true either. There were many variations of DOS before and games written for DOS worked in all these different DOS versions. For developers its about numbers, the open source community simply doesn't have the number that would justify making a game for that market. Where possible most games that make use of OpenGL as the chosen graphics API will work under Linux. Those that buy the game for use under Linux are looked at as a bonus not as a primary source of revenue.

I assume you mean MS-DOS. What does the MS stand for again?
Market share plays a role, you can twist and turn as much as you like, but that is a fact.

For any given API Microsoft provides better tools for its own API than the competition does for theirs. As a developer, better tools mean a shorter production time and lower costs. Microsoft's' DirectX SDK is free, well documented and many people are proficient at it. Which is why it becomes the obvious choice for many developers.

That's the whole point of any SDK. Obvious choice is one opinion, mine is that it's based on economics.

No, this is not right. This is misleading people and it would have been better if you didn't say anything at all. Microsoft couldn't care which API you use to render you game. Be careful that you don't mix up a platform and an Open standard API.

Then why did they first opt to move OpenGL down the software stack when Vista was being developed?

Majority of those games run in a windows platform and believe it or not, all of them install DirectX updates when running on a widows platform. Why? Because they make use of DirectSound, DirectInput, DirectPlay, DirectDraw etc... they use OpenGL as the graphics render but hand over everything else to DirectX.

See above. Not exactly helping your argument about MS being API agnostic.

This flexibility is in directX that you can use any renderer you want, but still have access to the rest of the structures under the DirectX banner.

Once again, please read the thread title again before posting. It's about gaming on the Linux platform. Does DirectX exist (natively) for Linux? No.

Anyway I appreciate what you are doing and as you said you welcome some input. So this is my input above. You are tackling a matter that is not only technically involved but has pure business reasons behind it. It is not fair to present misconceptions about Linux and its state of gaming because some things may be unknown to you. Rather have it as it is straight and take it from there.

Otherwise good read :)

Now suddenly we have an acknowledgement that "pure business reasons are behind it".
Turning a thread on gaming on the *Linux* platform into OpenGL vs DirectX simply allows you to justify your own misconceptions and present them as fact with technical details on DirectX, which, once again is irrelevant on the *Linux* gaming platform.
 
I assume you mean MS-DOS. What does the MS stand for again?
Market share plays a role, you can twist and turn as much as you like, but that is a fact.
It is your assumptions that lead you astray. Maybe you're not aware of it but DOS stands for Disk Operating System and there were many versions. Who said MS anywhere there? Focus please

That's the whole point of any SDK. Obvious choice is one opinion, mine is that it's based on economics
If you're not aware of it gaming has become a business. In any development studio you try and do the most you can with as little cost as possible. It is economics, its cheaper to go with Microsft because there are more people proficient in dealing with high level tessellation shaders for example in a DirectX background than there are in OpenGL for instance. These individuals cost less so the whole project costs less.

Then why did they first opt to move OpenGL down the software stack when Vista was being developed?
Your question has no relevance to what your quoted. Anyway OpenGL because it is API and driver cannot manage its own context switching, so Vista's Aero could not co exist with a GL accelerated application in a window. With Microsoft having added DWM, this is now possible as it could manage the 3d resources.

See above. Not exactly helping your argument about MS being API agnostic.
huh? how is allowing you to use a renderer of choice not API agnostic by DirectX? You don't have to go through directX to make use of audio hardware or input and network capabilities. These developers chose too because DirectX makes their lives much easier by handling all of that which means they don't have to deal with it internally.

Now suddenly we have an acknowledgement that "pure business reasons are behind it".
Turning a thread on gaming on the *Linux* platform into OpenGL vs DirectX simply allows you to justify your own misconceptions and present them as fact with technical details on DirectX, which, once again is irrelevant on the *Linux* gaming platform.
Wrong, the thread starter is blatantly wrong about several things. I am pointing out where he is wrong in as semi technical a manner as possible. You're not not equipped to have this debate with me on this. Please come with something a little more credible.
 
ShockG, this thread about gaming on linux and is in the linux forum.

Until DirectX is released natively for linux, your superior technical knowledge is not relevant.
 
For fsck SAKES!

ShockG, are you INCAPABLE OF READING?!

And I quote:

I just don't feel like typing this out yet again, so I will direct you to this thread

Also, I think we would all appreciate it if you would create your own threads in which to argue your complete lack of facts, so don't reply in the thread I just linked, it's for helping, not arguing and I don't really want you derailing that.

Can you do that for me? Thanks ;)

I created this thread to give people a basic idea on the state of GAMING... in... LINUX. Keep your annoying "I'm so technical, look at me!" arguments to your own damn threads, just as I REQUESTED you do when linking you to this thread. You are arguing SYMANTICS against a post giving one a ROUGH idea of the STATE of LINUX in GAMING.

I APOLOGISE for my over-abundance of CAPITALIZATION, but it APPEARS that when I type NORMALLY you do not seem to GET IT.

Now keep your annoying arguments out of my thread.
 
Top
Sign up to the MyBroadband newsletter
X