Games with Linux

Discussion in 'macOS' started by jony121, Jan 17, 2013.

  1. jony121

    jony121 MDL Novice

    Jan 17, 2013
    6
    1
    0
    #1 jony121, Jan 17, 2013
    Last edited: Jan 17, 2013
    Seeing as my first post was a request I thought I had best contribute back to the community. Enjoy.

    ###Native Games###
    There are many native games for Linux.
    happypenguin.org/


    Older Games:
    The majority of these games were from Loki. Some are from Linux Game Publishing. The rest were usually made by indie developers.
    The problem with these older games are the dependencies which I will break down in order of commonality.

    Alsa/OSS
    Modern distributions tend to use pulse audio as it is a far superior sound server. However pulse audio does not emulate Alsa/OSS.
    It does however provide a wrapper program called "padsp" which attempts to allow old programs to use pulse audio instead of Alsa/OSS. Eg:
    padsp ut

    Unfortunatly long ago Alsa was used to emulate OSS. Most old games either used Alsa or OSS but some relied upon the way Alsa emulated OSS. This code is still part of the Linux kernel but to prevent conflicts with pulse audio many distributions remove it.
    If your game relies on this code then although I recommend against it you can compile your own kernel with the code included. Pulse audio also started a project to modify old software to use pulse audio instead but success rate is low. pulseaudio.org/wiki/PerfectSetup

    Libraries
    Often a game ships with a library that is out of date on your system. If you experience problems a good place to start is sifting through the provided libraries (.so) and see if there is a more recent version in your /usr/lib. The most common culprit is libstdc++.
    What can be worse is when a game requires a library that your system doesn't have. Your Linux distributor may provide repositories where you can find the libraries you need. If not then pkgs.org is a very good resource. My final suggestion will be an old distribution ISO.
    If a game simply fails you can normally say with some certainty that it was libraries. Thankfully there is an easy way to find the libraries a program depends on using ldd.
    ldd /path/to/binary

    64bit
    Older games tend to be 32bit. In order to run 32bit games on a 64bit system you need the ia32 libraries which installs 32bit libs (.so) into /lib32 and /usr/lib32. Executables with an ELF32 class are then told to retrieve their dependant libraries from /lib32 and /usr/lib32. If you are running a 64bit OS but need to provide a 32bit library for a 32bit prgram then be sure to put it in /usr/lib32.

    Compiz
    Some older games can't handle running with compiz. To disable compiz add the following lines to /etc/X11/xorg.conf
    It is very difficult to tell if there is a conflict with compiz so best just try the following and see if it helps
    Section "Extensions"
    Option "Composite" "Disable"
    EndSection
    You can remove the lines from xorg.conf to restore compiz at any time.
    You will need root access to edit xorg.conf

    Tail
    Some self contained installers (particularly older ones on new systems) cough up an error like "tail: cannot open +NUM" because the enviroment is too new.
    export _POSIX2_VERSION=199209
    This will set the way back machine to old school and make your installer happy to run. :D


    Newer Games:
    Most recent games for linux tend to come from Id. The rest tend to be indie games ported by icculus.
    The problem with these newer games is that they tend to need s3tc texture compression and some shading. This is a massive problem for open source drivers but I am going to show you how to enable these features.
    DriConf allows you to turn on and off features for your graphics card using open source drivers.
    dri.freedesktop.org/wiki/DriConf
    In order to use s3tc you need the txc-dxtn library.
    pkgs.org/search/?keyword=txc-dxtn



    ###Windows Games###
    The wine project:
    Currently the main way to install and use windows software. Note that at this time you can only install wine or wine64. One is for 32bit apps. One is for 64bit apps. There is no package that supports both.
    The wine project is not an emulator, it is an API translator. As such it runs at almost the same speed as native software. I will now overview wine and its forks.

    Wine
    winehq.org/
    This is the main project. If software is rated at either platinum or gold it's a safe bet you can run it no problem. You can find ratings here: http//appdb.winehq.org/objectManager.php?sClass=application&sTitle=Browse%20Applications&sOrderBy=appName&bAscending=true and also any additional tweaks needed to get a game running.

    CrossOver (Games)
    codeweavers.com/products/cxgames/
    A paid version of Wine. They help fund the Wine project and add some proprietary components that improves game compatability.

    GameTreeLinux - formerly cedega and winex before that.
    gametreelinux.com/
    It was forked into winex when wine was still alpha and made little improvement since. Since the wine project focused more on the directx API this project has slowly lost popularity and development.



    ###DOS Games###
    If you remember DOS or have heard about some of these awesome games then be happy because you can run it on Linux.
    There are a number of different DOS emulators but there is only one that dominates games... DOSBOX!
    dosbox.com/

    Don't forget that GUI front end:
    members.quicknet.nl/blankendaalr/dbgl/

    Some great places to get DOS games:
    homeoftheunderdogs.net/
    dosgamesarchive.com/
    dosgames.com/



    ###Console Games###
    If you were a kid once (or probably still are) then you will remember gaming consoles when they were good. I will list some consoles and corresponding emulators. This is not a list of every emulator ever made, just a list of the emulators I thought worked best.

    Sega - Genesis
    Gens/GS
    segaretro.org/Gens/GS

    Commodore - Amiga 500
    UAE
    amigaemulator.org/

    Atari - Atari 2600
    Stella
    stella.sourceforge.net/

    Sony - Playstation1
    PCSX-Reloaded
    pcsxr.codeplex.com/

    Nintendo - SNES
    ZSNES
    zsnes.com/

    Nintendo - GameBoy Advance
    VisualBoy Advance
    vba.ngemu.com/

    Nintendo - N64
    Mupen64Plus
    code.google.com/p/mupen64plus/

    Nintendo - Gamecube/Wii
    Dolphin
    code.google.com/p/dolphin-emu/wiki/Linux_Build


    A great place to download roms:
    freeroms.com/



    ###Tips, Tricks & Tools###
    Finally this is the section for all the cool non specific stuff to help you out.

    Remember that not all programs come with gui. padsp for example. These must be run from either a script or terminal.

    Playing games alone in X:
    This has many advantages other than just running games faster.
    For this to work you must make startx available to run for all users. Open
    /etc/X11/Xwrapper.config
    and set
    allowed_users=anybody
    then save.
    Create personal boot file for startx
    nano ~/.xinitrc
    add launcher for game and hash out other launchers because startx will only boot one.
    #exec /path/to/game
    exec path/to/game
    #exec /path/to/game
    then save it.
    Enter root user mode:
    sudo telinit 1
    (skip next command if your not doing any networking)
    /sbin/ifup eth0
    replace eth0 with your networking interface
    su username
    (replace "username" with yours)
    startx
    when done move .xinitrc
    mv ~/.xinitrc ~/xinitrc
    and exit until out of root user mode
    exit

    A tool to help you with your games in wine:
    playonlinux.com/en/

    A place to purchase Linux Games:
    tuxgames.com/

    Winetricks allows you to install windows components that may be required:
    wiki.winehq.org/winetricks

    Sometimes you will need executable permissions for a file to make it run:
    sudo chmod a+rx ./binary

    Sometimes root will own game files you need access to:
    sudo chown -R user folder
    OR
    sudo chown user file

    Here is a good FAQ for specific games:
    icculus.org/lgfaq/

    Some times an executable requires you to execute from within its current directory:
    ./stupid
    but using this script will allow you to run your executable from where ever you like
    #!/bin/sh
    exepath="${0%/*}"
    cd $exepath
    ./stupid
    just save it in the same directory as the executable and give yourself executable permissions to it.

    A fantastic client to get games:
    desura.com/
     
  2. germulvey

    germulvey MDL Novice

    May 31, 2010
    7
    3
    0
    Steam now runs natively on Linux (most distros) although there isn't a huge number yet it's going in the right direction!
    Counterstrike source runs very well btw!
     
  3. Niekess

    Niekess MDL Addicted

    Mar 31, 2011
    833
    548
    30
    Also nice to know is that Left 4 Dead 2 is now in a beta stage for Linux. It also got some new features for the PC I heard but not fully sure.. :p
     
  4. Amanda_L

    Amanda_L MDL Junior Member

    Feb 9, 2013
    66
    4
    0
    It's out of beta already :D