Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.
tagline-image
I forget that Natural Selection 2 is on Linux, mainly due to the dying player base and how dog slow it was to load, but it seems they are finally taking steps to improve that part of it.

The recent NS2 update has cut down loading times by a significant amount, so hopefully this will help entice people back to play. There's also a Linux-specific fix:
QuoteYou can now select sound devices properly.


I tried it myself earlier, and only two servers even had people playing on it. It's a real shame, as the game is quite beautiful, and reasonably fun to play. I tried a game on one of the populated servers earlier, and everyone seemed really friendly. Sadly, the game died to the desktop only a few minutes into it, so it's still not a perfect experience on Linux.

It's pretty cheap now, so if you don't own it yet and like your FPS games it might be worth checking out.

About NS2
Natural Selection 2 pits alien against human in an action-packed struggle for survival. Wield devastating weaponry as a Frontiesman marine, or become the xenomorph as a deadly. Kharaa life-form. While both teams fight each other in first person, two commanders look down on the battlefield in a top-down Real Time Strategy view. These Commanders can issue orders, build structures, collect resources, research technology, and deploy abilities to help their team overcome the enemy.

Find the full changelog here. Article taken from GamingOnLinux.com.
0 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
13 comments Subscribe

cthulhusreign 22 Oct 2015
Any idea if they are showing more Intel support? I thought that was the reason why it was so slow to load or was it just for everyone.
pete910 22 Oct 2015
  • Supporter Plus
Was never bad for me after the initial first run load after a patch. Though it is pretty much instant load now so..
ElectricPrism 23 Oct 2015
Sweet!
boltronics 23 Oct 2015
You got it to run for a few minutes? I can't even get the game to make it to the main menu.

I'm on Debian Jessie, and I had to install libudev0:i386 from the old Wheezy repository just to satisfy all shared libraries. Now the game just shows a blank screen for one second, and then segfaults. The forums say to read the FAQ here:

[http://forums.unknownworlds.com/discussion/133827/ns2-tech-support-faq-updated-january-6th-2014?new=1](http://forums.unknownworlds.com/discussion/133827/ns2-tech-support-faq-updated-january-6th-2014?new=1)

which states:

The game doesn't start under Linux
There is a problem with the game not working under some versions of Linux. We're not sure what's causing this or how to fix it, so unfortunately you'll probably have to figure it out yourself through these forums and other players, or get a refund from Valve and/or Humble Bundle (above).


So I'm not surprised the game is dead. Not in the slightest.
MayeulC 24 Oct 2015
Yeah, I could never manage to start this game... Which is a shame, since I played the original HL mod and enjoyed it.
rkfg 26 Oct 2015
[Symlink libasound.so.2](http://forums.unknownworlds.com/discussion/comment/2246978/#Comment_2246978) to the game directory and it will run just fine. It's a known bug but it doesn't affect everyone. I'm also on Debian (Stretch) and this fixed the crash for me. The game works fine, it doesn't like Alt+Tab but in all other respects it's good. I can't really tell it's dying, it just maintains a small but consistent playerbase. I have to wait for 5-10 minutes every evening to get to the server I want because it's full (I'm playing on Russian servers). Not exactly what you would expect from a dead game. It's very competitive and requires a lot of time to master. It also heavy relies on communication so playing without a mic is a no go. I have [704 hours](http://hive.naturalselection2.com/profile/36893399) of actual play time (not just running it, waiting in menu etc.) so I know quite a bit about this game.
boltronics 26 Oct 2015
Unfortunately, that made no difference to me. I can't imagine why it would.

Originally, ldd reported:
libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0xf282d000)

Now it reports:
libasound.so.2 => /media/gaming/steam/steamapps/common/Natural Selection 2/./libasound.so.2 (0xf27c0000

I linked the libasound.so.2.0.0 as well.

I even replaced the ones under ${HOME}/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu and restarted Steam, to no avail. A window appears for about half a second before crashing, and all I get is the following console output:

GetInstanceCount currently unimplemented
[ 0.002] Unbound/Unknown : Filesystem initialized, cache enabled
Build 276
Linux
Steam initialized
Num displays: 1
OpenGL 3.1.0 NVIDIA 352.55 initialized (NVIDIA Corporation GeForce GTX 660M/PCIe/SSE2)
GLSL version 1.40 NVIDIA via Cg compiler
ARB_texture_storage extension present
ARB_get_program_binary extension present
Sound Device: default stereo
Record Device: default


Last edited by boltronics on 26 Oct 2015 at 11:20 am UTC
rkfg 27 Oct 2015
Is that really everything it outputs? For me the last line was about assertion failure in async.c. If you want to help debugging the issue, try to get a backtrace with GDB.
boltronics 28 Oct 2015
@rkfg

Reading symbols from ./ns2_linux32...done.
(gdb) run
Starting program: /media/gaming/steam/steamapps/common/Natural Selection 2/ns2_linux32
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
GetInstanceCount currently unimplemented
[New Thread 0xf019bb40 (LWP 849)]
[New Thread 0xef99ab40 (LWP 850)]
[New Thread 0xef199b40 (LWP 851)]
[New Thread 0xee998b40 (LWP 852)]
[New Thread 0xee197b40 (LWP 853)]
[New Thread 0xed996b40 (LWP 854)]
[New Thread 0xed195b40 (LWP 855)]
[New Thread 0xec994b40 (LWP 856)]
[New Thread 0xec193b40 (LWP 857)]
[New Thread 0xeb992b40 (LWP 858)]
[New Thread 0xeb191b40 (LWP 859)]
[New Thread 0xea990b40 (LWP 860)]
[New Thread 0xea18fb40 (LWP 861)]
[New Thread 0xe998eb40 (LWP 862)]
[New Thread 0xe918db40 (LWP 863)]
[New Thread 0xe898cb40 (LWP 864)]
[ 0.023] Unbound/Unknown : Filesystem initialized, cache enabled
Build 276
Linux
[New Thread 0xe7f6bb40 (LWP 865)]
[New Thread 0xe7d6ab40 (LWP 866)]
[New Thread 0xe7b69b40 (LWP 869)]
[New Thread 0xe7368b40 (LWP 870)]
[New Thread 0xe6b67b40 (LWP 871)]
[New Thread 0xe6366b40 (LWP 872)]
[New Thread 0xe5b65b40 (LWP 873)]
[New Thread 0xe5364b40 (LWP 874)]
[New Thread 0xe4b63b40 (LWP 875)]
[New Thread 0xe4362b40 (LWP 876)]
[New Thread 0xe3b61b40 (LWP 877)]
[New Thread 0xe3360b40 (LWP 878)]
Setting breakpad minidump AppID = 4920
Steam_SetMinidumpSteamID: Caching Steam ID: 76561197992885335 [API loaded no]
[New Thread 0xe1628b40 (LWP 879)]
[S_API WARN] The loaded overlay DLL doesn't support SetNotificationPosition
[S_API WARN] The loaded overlay DLL doesn't support SetNotificationPosition
Steam initialized
Num displays: 1
[New Thread 0xe03abb40 (LWP 880)]
OpenGL 3.1.0 NVIDIA 352.55 initialized (NVIDIA Corporation GeForce GTX 660M/PCIe/SSE2)
GLSL version 1.40 NVIDIA via Cg compiler
ARB_texture_storage extension present
ARB_get_program_binary extension present
[New Thread 0xdfa03b40 (LWP 881)]
[New Thread 0xdadc7b40 (LWP 884)]
[New Thread 0xda571b40 (LWP 885)]
[New Thread 0xda523b40 (LWP 886)]
[New Thread 0xd64f5b40 (LWP 887)]
[New Thread 0xd5cf1b40 (LWP 888)]
Sound Device: default stereo
Record Device: default

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xd5cf1b40 (LWP 888)]
0xf458af40 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
(gdb) bt
#0 0xf458af40 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#1 0xdf1ebd2e in ?? () from /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
#2 0xf3131a9f in ?? () from /usr/lib/i386-linux-gnu/libasound.so.2
#3 0xf30f25f0 in ?? () from /usr/lib/i386-linux-gnu/libasound.so.2
#4 0xf313210a in ?? () from /usr/lib/i386-linux-gnu/libasound.so.2
#5 0xf30ec310 in snd_pcm_readi () from /usr/lib/i386-linux-gnu/libasound.so.2
#6 0xf40ffd44 in ?? () from /media/gaming/steam/steamapps/common/Natural Selection 2/libfmodex.so
#7 0xf40f7c55 in ?? () from /media/gaming/steam/steamapps/common/Natural Selection 2/libfmodex.so
#8 0xf476fefb in start_thread () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
#9 0xf454462e in clone () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
(gdb) cont
Continuing.
[New Thread 0xd54dbb40 (LWP 889)]

Program received signal SIGSEGV, Segmentation fault.
0xf458af40 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
(gdb)

Also, I had to symlink libawesomium-1-7.so.0 (which didn't exist) to libawesomium-1-7.so.4.


Last edited by boltronics on 28 Oct 2015 at 11:32 am UTC
rkfg 28 Oct 2015
I see. You've said you're on Jessie which is the stable branch. Could you upgrade libasound2:i386, libasound2-data and libasound2-plugins:i386 to testing (1.0.29-1)? It's hard to check the library version in the Steam Runtime but I expect it to be older that that in testing hence the symlink might not actually matter in your case. You may also verify this claim by comparing the backtrace with and without the symlink.
boltronics 28 Oct 2015
I didn't want to mess up my sound system-wide, so I just did the following:

$ ls -1
libasound2_1.0.29-1_i386.deb
libasound2-data_1.0.29-1_all.deb
libasound2-plugins_1.0.29-1_i386.deb
$ for i in *.deb ; do dpkg -x ${i} /tmp/extracted ; done
$ cd '/media/gaming/steam/steamapps/common/Natural Selection 2'
$ export LD_LIBRARY_PATH="/tmp/extracted/usr/lib/i386-linux-gnu:/tmp/extracted/usr/lib/i386-linux-gnu/alsa-lib:$(pwd)"

Even after that, it would reference /tmp/extracted/usr/lib/i386-linux-gnu/libasound.so.2 fine, but it still kept pulling in /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so instead of /tmp/extracted/usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so, and crashing.

So I decided to bite the bullet and just install the testing packages. That turned out to be a bad move, as I quickly entered dependency hell. libasound2 required libavcodec-ffmpeg56, libavresample-ffmpeg2, libavutil-ffmpeg54, and one of them pulled in pulseaudio and then half my system needed to be upgraded. Nope, not happening. I just spent the last 30 minutes undoing all that mess downgrading everything back to jessie packages again (manually downloading the deb packages since apt-get can't support downgrades).

As a last ditch effort, I just renamed /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so for a moment hoping it would fall back to the extracted .so file. It didn't, but the game loaded (without sound).

Maybe I'll look at NS2 in a few years when stretch is stable.
rkfg 28 Oct 2015
Hmm, you should have your reasons to use the stable Debian as a desktop system, especially if it's also a gaming rig... I don't know why it's so important and just happy with testing. Gaming on Linux often requires very fresh software like NVIDIA driver and other components as well so stable is often just not enough. But well, you know better. At least we've tried. You may try to just disable and kill PulseAudio and use pure ALSA. This way it won't use that crashing module and should give you sound. You don't have it because PA grabs audio exclusively.
boltronics 28 Oct 2015
SteamOS is based on Debian Jessie, so if they can't get it to work, they've got a bit of a problem. Do the NS2 devs require beta versions of Windows for the game to work properly on that other OS?

I use my machine for work and development, and I need it 100% reliable. Not 95% and crossing my fingers. Natural Selection 2 is probably the only GNU/Linux game I have that doesn't work right now. Difficult to be certain as I have close to 400 games, but I haven't encountered any problems with any other title since moving to Jessie that I remember. Even Alien: Isolation which just came out works great at 2560x1440 with maximum detail and no crashes so far.

I do have the latest NVIDIA drivers last I checked (352.55) since I don't use distribution packages for that (one of the very rare exceptions).

I also need PulseAudio, since I have a laptop with an external 5.1 sound card which seemingly cannot be managed through plain ALSA. I also use Wine a lot which doesn't work reliably with USB sound cards, so I have Wine apps play audio over HDMI. And when I'm on the go, I just use the laptop built-in sound card. PulseAudio makes this setup manageable. I also have a PulseAudio server at work which I use for streaming audio to remote speakers.

Maybe I could temporarily disable PulseAudio and run directly through ALSA over HDMI... but it sounds like it would be easier to just play the game under Wine if I get that desperate.

Thanks for your help narrowing down the cause anyway.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.