I decided to write as complex as possible and easy in understanding introduction into Linux gaming for all players who were using so far mainly Windows and didn’t have much touch with Linux operating systems.
Linux has a lot of attention from gamers who are begging developers for Linux versions of their games, i can see on forums of almost all games threads like “Linux?”, “We want Linux version!”, etc.
Since Valve started to support Linux more than ever more developers started or to already release games for this OS or announced works on ports.
I think this is perfect time to test Linux as gaming platform and decide what to do: keep with Windows and throw penguin away or maybe keep Linux and remove Windows or maybe keep them both. Try system yourself and do what you are willing to. It costs you nothing but a bit of time to satisfy your curiosity.
When you were starting with Windows or Mac you had to learn some basic things like “What is disk C:?”, “How to install program?”, “What is .dmg file and what should i do with it?” “Why my mouse has only one main button instead of two?” etc. The same will be with Linux, you have to first to learn some new things about this system to find yourself into it.
There is a lot of “types” of Linux-based operating systems, they are called distro. Distros are based on kernel called Linux and groups creating distros chose specific software sets to create operating system. This is very, very, very simplified definition but i think it is enough for you to understand what is distro and what are differences between particular distributions.
Valve for this moments suggests Ubuntu. They are also working on their own distro called Steam OS but for now there is not much info about it so i will introduce you into gaming on Ubuntu.
Now I will go more technical and specific with things. Under Windows you have .exe and .msi as installer files, under MacOS it is .dmg file with Linux distributions is more options. You can install programs from various kinds of files: packets, sources, installers and just archives with content to unpack.
We can name two most popular packets: .deb and .rpm. .deb files are installers of programs for Debian-based distros (Ubuntu is one of them). .rpm are usually on Red Hat-based distros (for example Suse or Fedora). Also you can meet with some distro specific packages like tar.gx which is for Arch Linux distro. Also Canonical, foundation responsible for Ubuntu announced they are working on new kind of packets specific to Ubuntu: .click.
Sources are archives containing source code of program, usually distributed in archives with extensions .tar.gz or .tar.gz2. Usually it is described in their “readme” file how to process with them to install program.
Linux also has available executable installers distributed as .bin, .sh or .run files. Files with .bin extension are executables like .exe under Windows, .sh files are shell scripts and .run files can be one of both, script or executable, but… overall this will not make huge difference to you, you just have to know they are executable files which will allow you to install game/program/driver.
By archives to unpack i mean .zip or other formats which contain files just to unpack and run immediately after unpack.
If i’m saying about files and their extensions so now i should also say about libraries. Libraries are files containing important instructions sets used by programs. Under Windows we have .dll files. For sure you had situation when you tried to run game and you saw message like this: “Program can’t start because can’t find file d3d_29.dll”. Missing .dll file had to be downloaded from trusted source and placed into proper folder. Similar might happen under Linux, but with my introduction you shouldn’t have problems like this 😀 Under Linux distributions you do not have .dll files but .so files.
Linux distributions, like every operating system can have multiple users at one machine: guests, admins, some users created by admins and the most important user: root. Root is master admin, boss of the bosses…. call it whatever you want, root is user with all privileges possible. It exists in every installed or run Linux distro. As root you can install software, operate on system fragile files and folders and many more things unavailable to default user.
Users were always complaining “Linux is so difficult, it requires to do everything in terminal, i do know nothing about terminal”, it was close to truth back days but nowadays it is almost untruth. Terminal remains more ergonomic and useful in some cases but most things you are able to do with GUI of OS. Anyway, you should be familiar with some commands to make your life easier.
sudo apt-get install program_name
sudo stands for SuperUserDO, it means you are running this command as Root. apt-get is Ubuntu packages manager. install tell to packages manager to install program o which name you typed after it.
sudo apt-get update – not much difference, only new thing is “update”, it tells to packet manager to check software sources for available updates.
sudo reboot – to quickly reboot your pc.
sudo program_name – to start specified by you program.
lspci – to list your devices in your pc (gpus, soundcards, etc).
lsusb – to list devices plugged to your PC with USB port.
I think this is all basic theory which is required to use Linux distros, if i will change my mind for sure i will add more content in this post.