Gaming on Linux [howtos / hints and tips]

+
This is actually exciting. I know people here seem to hate Steam but Valve has been making a push for Linux gaming and it's good to see Nvidia embrace the idea which should go a long way.
 
While I don't use Steam, I appreciate Valve's efforts on working with Nvidia on improving their drivers, since it benefits everyone on Linux.
 
This is great but somewhat expected. Nvidia Linux drivers have been, for the past few years, on par with the Windows drivers in hardware support and acceleration, but did not have all the extra features found in their Windows counterparts. Not that these are really *needed*. I'll have to download these new drivers and test them myself.

Maybe we should start a thread dedicated to Linux gaming. It could even be THIS same thread, just rename it :). We could discuss good free and open source games, indie games for Linux, AAA games for Linux, installation tricks and tips, Linux distributions, etc.

@Sirnaq,

I don't know how computer savvy you are but if you want to try GNU/Linux I would recommend Debian or Linux Mint Debian. The latter is a fairly straightforward version of Debian with lots of eye candy, but not as burdening as Ubuntu. Ubuntu violates a lot of important things, like the Linux Filesystem Hierarchy Standard, and I do not usually endorse it.

I've run a LOT of DOS games (many from GOG) through DOSBox on Debian without a problem (I actually found an error in GOG's startup script :p) and recently installed and played Legend of Grimrock (from GOG) with Wine also flawlessly.

I honestly can't see why GOG will not make DOS games available through tarballs for us to use more easily. That and offer native Linux binaries for games that support it. GNU/Linux is what it is today thanks to community support. I'm sure we can do it again for GOG.
 
I renamed the thread to be more generic :)

I believe since GOG used to focus on Windows only, they didn't think of a need to bundle DOS games as archives with separate installer + DosBox/ScummVM themselves. But even current GOG installers can be unpacked with a handy innoextract tool which is already available in many major Linux distros:

http://constexpr.org/innoextract/
 
About open source games, I wanted to mention an interesting open source MMORPG project - PlaneShift: http://www.planeshift.it

Their client runs on all major OSes, including Linux, Mac OSX and Windows. It obviously uses OpenGL for graphics (it's based on Crystal Space engine: http://www.crystalspace3d.org ).

It doesn't have a very rapid development (and actually the project itself started quite a long time ago), since it's done purely by volunteers, however it's quite original and has a very good community of roleplayers, which strongly discourages any OOC behavior. Graphics there don't look spectacular, but it has a very rich skills system - one of the most sophisticated I saw. It also has great implementation of herbalism, alchemy and etc. which are often neglected (for the sake of more focus on the combat) in most RPGs. Oh, I forgot to mention it - they don't charge any subscription fees, the game is completely free.
 
Some useful tips for Linux gamers:

First of all choose your hardware wisely. Since Windows is a dominating system (numbers wise), hardware manufacturers pay more attention to it, which reflects the quality of drivers, their availability and so on. To put it shortly - your experience on Linux can vary greatly depending on your hardware choice. In general, a good advice before buying any piece of hardware, ask yourself - does it work well with Linux, and do your research.

Generic components like CPU, memory and so on are usually OK, but with recent developments in motherboards (and UEFI boot), some issues can arise. Basically if you buy a motherboard - figure out if it has UEFI, does it work with Linux or for example can you disable forced UEFI there.

The most critical component is your graphical card. AMD/Radeon and Nvidia/Geforce are leading gaming cards brands which compete strongly on Windows (and are roughly comparable in their support of DirectX), however in OpenGL field you see a different picture. Nvidia's closed driver is clearly leading here. Nvidia's Linux and Windows drivers share the same core code, with system native specifics around it. So functionally Linux Nvidia driver should be close to its Windows counterpart. In AMD's case - it's not so. Radeon closed Linux drivers (Catalyst) tend to be inferior to their Windows releases. So to put it shortly, if you are a hardcore gamer and want to use Linux - stick with Nvidia cards. In the future this might change - but it didn't happen so far. (If you are a laptop user, watch out for Nvidia optimus technology though, which at present has issues on Linux, with some possible workarounds. Nvidia is looking into fixing this, but it didn't happen yet).

Also note the difference between open source and closed source GPU drivers. Open source ones are usually developed by the community (through reverse engineering) or rarely with support from the vendor. But most often they are behind in capabilities in comparison to closed drivers released by the vendor.

Many Linux distributions come with open source drivers by default, so for example in Nvidia case it's nouveau. So if you want to use heavy games, you need to install closed drivers in most cases. Some distros include them by default as well - but not all. So depending on your distro choice you might need to install the driver first.

Open source drivers show some progress though, so there is hope that at some point Nvidia and even AMD/Radeon open source drivers will be sufficient enough for serious gaming.
 
Thanks Gilrond. I'll be watching this topic from now on :)

I also recommend using quality hardware with GNU/Linux. I've never had a compatibility problem but I've been using gaming-level hardware for years. And I use Nvidia.

In some distributions the nouveau drivers can be a pain to remove, but the Nvidia installer should be able to take care of that in *most* cases.

Since we're doing this Linux gaming thing, let's clear up some concepts.

Linux is an operating system kernel, operating under the hybrid/modular kernel architecture. It means that basic OS operations (like device drivers) run in "Kernel Mode" while user applications run in "User Mode", not interfering with each other and avoiding total system lock-downs or freezes in most cases. It was conceived and created by Linus Torvalds in the early 90's.

Meanwhile and much before that, Richard Stallman started a project called GNU with the goal of creating a free and open source operating system, different from the Unix systems of the time that restricted what people could do with their hardware. Thus, GNU (GNU's Not Unix) developed many parts of an operating system but lacked a kernel. Together with Torvalds, GNU with Linux or GNU/Linux was born. Out of respect for the people who designed, programmed and made possible the big majority of this project, the system should be called GNU/Linux and not simply Linux, even though the latter is more popular and catchy.

"Linux" implements features found in several popular Unices, such as System V startup scripts. Like many other modern OS's, it features graphical environments with eye candy, multiple user accounts, concurrent user login, etc.

One of the interesting features of GNU/Linux is that it entitles you to a free software license, meaning it gives you freedom to modify and distribute applications, like a no-DRM on steroids. This has gathered a lot of people around the world who donate their time to improve, maintain and support the system. These guys, girls, men and women believe that some basic things (like an OS) should be accessible, easily available, and non restrictive, and so they work for that.

The "Linux" system is not usually distributed "per se". Like Android, there are groups that have built services and applications and bundle them together with a Linux kernel and GNU software to create what is called a distribution. Some popular distributions are Slackware, Debian, Red Hat, Fedora, CentOS, SuSE, Ubuntu, to name a few. The main differences are in how distribution-specific programs are managed, what applications come included with the package, how some drivers are managed, etc. For example, Debian and Debian-inspired distributions use the .deb format, a very fast and efficient way of distributing programs. The Red Hat family uses .rpm.

Unlike what many people think, you do *not* need advanced technical skills to use or install a GNU/Linux distribution. On the other hand, many of them work right out of the box and require less tweaking than Windows to work for BASIC TASKS. The difference is that, since these are open systems, the possibilities for adjusting them to one's wishes and whims are virtually unlimited.

Anyway, I'll stop now. If any of you has "Linux" or Linux gaming questions, this is the right place :)
 
CostinMoroianu said:
Well I guess that Microsoft will have to stop taking it's monopoly for granted soon enough.

They may have started a couple of years ago. They are marketing giants, but they don't stand a chance in the (high) performance market. And the way it looks in 2012, gaming may become sort of a mini performance niche.

http://arstechnica.com/information-technology/2009/07/microsoft-aims-at-vm-market-with-linux-kernel-code-offering/
 
Well I just finished downloading the 64 bit MATE version of Linux Mint 13 and am currently burning it onto a DVD. Next is to run and install it under dual-boot. After that I got no idea.
EDIT: Forgot to mention this but after this I was hoping to actually try a game out to see how it works in comparison to windows 7. Anyone have any suggestions?
 
@.Volsung.: I know that GNU/Linux name is preference of some, but it's somewhat awkward to use such name (in writing, let alone in speech). Also, so many key projects contribute today to success of full blown modern Linux distributions (KDE and Gnome to name a few), that you can't really include all of them in the name, though I agree that GNU has a special place amongst them. So for clarity, in most cases when you see Linux here - it's a general term for the whole system. You can understand when it means narrowly kernel only from the context, or people will just say Linux kernel explicitly. So, when I say Linux, I mean GNU/Linux. And for example when I talk about Android I won't call it Linux, even though it uses a modified Linux kernel inside.
 
Regarding installing Nvidia drivers. On Debian at least, one can use two methods of installing them. The Debian way, and Nvidia way.

Debian way means installing prepackaged drivers which come from Debian's non-free repository (which has to be enabled first in apt settings). Debian way has an advantage of the fact that package is updated together with the whole distribution, and usually is kept in sync with X.org and also updates dkms module, meaning that with each kernel update the driver will be rebuilt. It's convenient if you use the rolling flavor of Debian (such as Debian testing). The downside of that - you'll get driver updates and fixes at a slow pace - i.e. as soon as they'll be packaged and pushed to Debian repository. Also you are tied to a particular driver version, even if it's buggy, which can be a serious issue.

Nvidia way uses installer distributed from Nvidia straight. During installation it uses Linux kernel headers to compile some driver components against the currently used kernel (with kernel update this recompilation process needs to be repeated, though latest Nvidia releases added some dkms support as well). To make the Nvidia method more automated, there is a very handy sgfxi tool which handles it beautifully on Debian and some Debian derived systems:

http://smxi.org (see their support forum also: http://techpatterns.com/forums/forum-33.html).

The benefit of this method is that you can get driver updates practically as soon as they come out, plus you have an option to install beta Nvidia drivers as well as downgrading to previous versions (since some releases can cause regressions). I personally use sgfxi with Nvidia way on Debian testing.

For more details on both ways, see http://wiki.debian.org/NvidiaGraphicsDrivers

Feel free to ask questions here, if you can't figure out a way to install Nvidia drivers on your distribution.
 
80Maxwell08 said:
Well I just finished downloading the 64 bit MATE version of Linux Mint 13 and am currently burning it onto a DVD. Next is to run and install it under dual-boot. After that I got no idea.
EDIT: Forgot to mention this but after this I was hoping to actually try a game out to see how it works in comparison to windows 7. Anyone have any suggestions?

If you plan to use dual boot with Windows, consider putting each OS on a separate hard drive. It'll make a cleaner and more flexible setup. Unless you have a limited laptop, putting in an additional hard drive shouldn't be too hard.

Here is some reference: https://sites.google.com/site/mintwiki/main#TOC-Dual-boot
 
Gilrond said:
If you plan to use dual boot with Windows, consider putting each OS on a separate hard drive. It'll make a cleaner and more flexible setup. Unless you have a limited laptop, putting in an additional hard drive should be too hard.
Unfortunately I don't have another hard drive nor the money to get one. Thanks for the advice anyway though. Now I have to go back to guessing which one of these booting options actually gets me to the disc drive. Wish I knew if having a blu ray drive instead of a CD/DVD drive makes a difference.
 
I prefer to use bootable USB drive for that (with Debian) - it's way more flexible and easier to experiment with, rather than burning DVDs each time. I think Mint also uses hybrid ISO images, so you should be able to write it onto a USB flash drive and to boot from it:

http://community.linuxmint.com/tutorial/view/744
 
The only thing in my house that can hold enough data are DVDs. Besides I already have the DVD so I might as well try to figure it out. Ok attempt 4 going now.
 
Top Bottom