You should not have to install any libraries to get the game working on Linux, they all should be included alongside the game or in the Steam runtime which is automatically used when you launch from Steam. Can you give an update about what you had to install and what problems remain?
@Confused here is the output for "seatm steam://rungameid/4920 -verbose" + logs.
csaba@csaba ~ $ steam steam://rungameid/4920 -verbose
Running Steam on sabayon 64-bit
STEAM_RUNTIME is enabled by the user
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
unlinked 0 orphaned pipes
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
[0923/210340:WARNING:proxy_service.cc(958)] PAC support disabled because there is no system implementation
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Generating new string page texture 2: 48x256, total string texture memory is 49.15 KB
Generating new string page texture 3: 256x256, total string texture memory is 311.30 KB
(steam:22618): Gtk-WARNING **: Unable to locate theme engine in module_path: "oxygen-gtk",
(steam:22618): Gtk-WARNING **: Unable to locate theme engine in module_path: "oxygen-gtk",
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
Adding license for package 0
Adding license for package 32
Adding license for package 34
Adding license for package 63
Adding license for package 2481
Adding license for package 11144
Adding license for package 12361
Adding license for package 13677
Adding license for package 14695
Adding license for package 14871
Adding license for package 16373
Adding license for package 16496
Adding license for package 16610
Adding license for package 18856
Adding license for package 25597
roaming config store loaded successfully - 709 bytes.
migrating temporary roaming config store
Installing breakpad exception handler for appid(steam)/version(1378500910_client)
ExecCommandLine: "/media/medium/Csaba_Home_Extra/.local.share.Steam/ubuntu12_32/steam steam://rungameid/4920 -verbose"
ExecSteamURL: "steam://rungameid/4920"
System startup time: 4.35 seconds
Running Steam on sabayon 64-bit
STEAM_RUNTIME has been set by the user to: /media/medium/Csaba_Home_Extra/.local.share.Steam/ubuntu12_32/steam-runtime
ExecCommandLine: "/home/csaba/.steam/root/ubuntu12_32/steam steam://open/driverhelperready"
ExecSteamURL: "steam://open/driverhelperready"
** (steam:22618): WARNING **: replace_settings: error updating connection /org/freedesktop/NetworkManager/Settings/0 settings: (1) type
Game update: AppID 4920 "Natural Selection 2", ProcID 22961, IP 0.0.0.0:0
Generating new string page texture 72: 64x256, total string texture memory is 376.83 KB
(steam:22618): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.
[ ... Previous message repeated about 20 time ... ]
(steam:22618): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.
Setting breakpad minidump AppID = 4920
Steam_SetMinidumpSteamID: Caching Steam ID: 76561198082125608 [API loaded no]
Game removed: AppID 4920 "Natural Selection 2", ProcID 22961
Generating new string page texture 74: 128x256, total string texture memory is 507.90 KB
unlinked 2 orphaned pipes
CAsyncIOManager: 0 threads terminating. 0 reads, 0 writes, 0 deferrals.
CAsyncIOManager: 10958 single object sleeps, 0 multi object sleeps
CAsyncIOManager: 0 single object alertable sleeps, 1 multi object alertable sleeps
[2013-09-23 21:03:40] Startup - updater built Sep 6 2013 12:04:22
[2013-09-23 21:03:40] Verifying installation...
[2013-09-23 21:03:40] Verification complete
Shutting down. . .
[2013-09-23 21:04:04] Shutdown
csaba@csaba ~ $ cat /home/csaba/.config/Natural\ Selection\ 2/log.txt
Date: 09/23/2013
Time: 09:03:45 PM:
--------------------------------------------------------------
Build 257
Linux
Steam initialized
Error: Attempted to load remote options from a file that does not exist.
Error: Loading of cloud user settings failed
csaba@csaba ~ $
@Max as far as I remember I installed nothing. At the beginning I had some library dependency errors, but that was because I did not enable Steam runtime because no other game explicitly needed it. However, as you can see in the output above, it is now set and enabled. I have no other errors than what you can see in the output above. Steam starts and plays all other games without problems. NS2 seems just to vanish and the only thing in the logs is that error of attempting to load some remote files and cloud user.
Interesting, when I do the same thing it says STEAM_RUNTIME is enabled automatically. The LIBDBUSMENU-GLIB-WARNING messages appear to be "normal" Steam behavior since that happens on my machine and the game runs. What distribution of Linux are you using? Does the game window ever appear? That's the next thing that should happen based on what it output in the log.
1. I am using Sabayon Linux 64 bits ... I think it is mentioned in the Steam output above also.
2. LIBDBUSMENU-GLIB-WARNING appears whenever I start steam, regardless of the game I try to start. It has no negative effect on other games.
3. No, no window appears, nor the screen tries to change in any way. I don't even see a flicker when I try to start the game from inside Steam. Is is like it crashes before it can draw anything on the screen.
Just wanted to let you know - you're not the only one out there....
Gentoo 64
Linux pwner 3.10.7-gentoo #2 SMP PREEMPT Sun Sep 8 10:28:30 EDT 2013 x86_64 AMD Phenom(tm) II X4 955 Processor AuthenticAMD GNU/Linux
Nvidia 260 GTX
running the linux native steam client.
$ ./run.sh ~/.steam/steam/SteamApps/common/Natural\ Selection\ 2/ns2_linux32
/home/hex/.steam/steam/SteamApps/common/Natural Selection 2/ns2_linux32: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
i just noticed if I try and run TF2 (which launches fine through the steam library button) the same way it gives me library errors at well. I'm guessing i'm just doing it wrong. I'll investigate more when it's not a Friday night =]
@Confused With my current steam, not the github version, I really prefer not to compile/install stuff by hand if it's possible. If I understand your message, I should only cd inside ns2's folder and use runs.sh to start the game from there. I am getting the same error, followed by a nice Segmentation Fault.
csaba@csaba /media/medium/Csaba_Home_Extra/.local.share.Steam/SteamApps/common/Natural Selection 2 $ /media/medium/Csaba_Home_Extra/.local.share.Steam/ubuntu12_32/steam-runtime/run.sh ./ns2_linux32
GetInstanceCount currently unimplemented
Build 257
Linux
Setting breakpad minidump AppID = 4920
Steam_SetMinidumpSteamID: Caching Steam ID: 76561198082125608 [API loaded no]
Steam initialized
Error: Attempted to load remote options from a file that does not exist.
Error: Loading of cloud user settings failed
Segmentation fault
Should I try to run something differently? Your previous message wasn't that clear for me. Thanks.
I was thinking there is a portion of the code that simply tries to load the game libraries from the current working directory and fails unless you are in the same directory
Running the public build with all the directories default this works for me:
confused@Confusionville:~/.local/share/Steam/SteamApps/common/Natural Selection 2$ sh ~/.local/share/Steam/ubuntu12_32/steam-runtime/run.sh ./ns2_linux32
You might try running the script that @factoid put together to capture dumps? You will have to do some quick editing on the script for some paths and what not.
It took me some time to adapt it, but here is your core dump. I do not have "primusrun" or whatever @factoid used to run the game. I can't even understand what "primusrun" is and I surely don't have it precompiled for Sabayon. So the dump is for the segfault obtained when I run ns2 as in my previous post, with run.sh.
Correct. My laptop uses the intel/nvidia optimus system. My GTX660M isn't actually directly connected to the frame buffer. On that note, I'm locked to the 304.88 driver, since that's the latest one they have working with "bumblebee". nvidia hasn't released offical optimus drivers for Linux yet (the cause of one of Linus Torvalds' more recent rants)
Do you guys know if the game has any issues specific to the 304.88 driver? Would they explain all of the crashes I'm seeing?
The dump files will be large, they're the contents of your application's memory at the time it died, that'll usually be at least 1 GB.
Also if this is largely about missing so files, the two things you should be checking for are if the proper paths are included in your /etc/ld.so.conf file or in a file that exists in /etc/ld.so.conf.d/
Once you're sure the paths are added, reboot or run 'sudo ldconfig' to rebuild your so cache.
If it's still not working, check to make sure the exact file exists. If it doesn't, you might need to use the 'ln -s /path/to/library /path/to/library_ns2_is_asking_for'
I know when I installed ns2 it didn't work out of the box, but it was just looking for some libraries that had different version extensions, a quick symbolic link later I was up and running.
The whole LD_LIBRARY_PATH environment variable solution isn't recommended for most modern Linux systems.
Just to chime in, I have this same problem on openSuse 13.1 (KDE desktop)
From steam my screen darkens a little then brightens back up with no error message. From the command line I get
./ns2_linux32: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
Edit:
So, I've got a haswell cpu in this machine and am running off of the onboard gpu. Looks like intel only supports openGL 3.0 on linux at the moment. This may be my issue.
>>glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 9.2.2
well, that will be an issue eventually. mesa will not run ns2 at the present time since it requires a 3.1 compatibility context and mesa only supports 3.1 core
like it says in Linux Guide you really cannot just do ./ns2_linux32 you have to either run via steam sdk, or the steam command line sdk.
Comments
Next things to try, can you run with the -verbose flag which should get you a little more info in the log.
@Max as far as I remember I installed nothing. At the beginning I had some library dependency errors, but that was because I did not enable Steam runtime because no other game explicitly needed it. However, as you can see in the output above, it is now set and enabled. I have no other errors than what you can see in the output above. Steam starts and plays all other games without problems. NS2 seems just to vanish and the only thing in the logs is that error of attempting to load some remote files and cloud user.
2. LIBDBUSMENU-GLIB-WARNING appears whenever I start steam, regardless of the game I try to start. It has no negative effect on other games.
3. No, no window appears, nor the screen tries to change in any way. I don't even see a flicker when I try to start the game from inside Steam. Is is like it crashes before it can draw anything on the screen.
My test machine was running the steam sdk from github.
ran: got your error. bam clear as day.
ran:
went fine from there. any chance that running in that style works for you?
Gentoo 64
Linux pwner 3.10.7-gentoo #2 SMP PREEMPT Sun Sep 8 10:28:30 EDT 2013 x86_64 AMD Phenom(tm) II X4 955 Processor AuthenticAMD GNU/Linux
Nvidia 260 GTX
running the linux native steam client.
and if I try it like this: I get nothing. Not even a window pops up.
Should I try to run something differently? Your previous message wasn't that clear for me. Thanks.
Running the public build with all the directories default this works for me:
confused@Confusionville:~/.local/share/Steam/SteamApps/common/Natural Selection 2$ sh ~/.local/share/Steam/ubuntu12_32/steam-runtime/run.sh ./ns2_linux32
You might try running the script that @factoid put together to capture dumps? You will have to do some quick editing on the script for some paths and what not.
File outputs seem pretty huge though.
https://dl.dropboxusercontent.com/u/18447347/ns2_linux32.24478.core.tar.gz
will pass that back to max. thanks:)
Do you guys know if the game has any issues specific to the 304.88 driver? Would they explain all of the crashes I'm seeing?
The dump files will be large, they're the contents of your application's memory at the time it died, that'll usually be at least 1 GB.
Once you're sure the paths are added, reboot or run 'sudo ldconfig' to rebuild your so cache.
If it's still not working, check to make sure the exact file exists. If it doesn't, you might need to use the 'ln -s /path/to/library /path/to/library_ns2_is_asking_for'
I know when I installed ns2 it didn't work out of the box, but it was just looking for some libraries that had different version extensions, a quick symbolic link later I was up and running.
The whole LD_LIBRARY_PATH environment variable solution isn't recommended for most modern Linux systems.
From steam my screen darkens a little then brightens back up with no error message. From the command line I get
./ns2_linux32: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
ldd ./ns2_linux gives
linux-gate.so.1 (0xf7784000)
libSpark_Physics.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libSpark_Physics.so (0xf7353000)
libSpark_Render.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libSpark_Render.so (0xf724d000)
libSpark_Sound.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libSpark_Sound.so (0xf7237000)
libSpark_Network.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libSpark_Network.so (0xf7202000)
libSpark_Cinematic.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libSpark_Cinematic.so (0xf71ad000)
libSpark_Core.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libSpark_Core.so (0xf6ac5000)
liblua51.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/liblua51.so (0xf6a35000)
libfmodex.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libfmodex.so (0xf68ae000)
libfmodevent.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libfmodevent.so (0xf6820000)
libfmodeventnet.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libfmodeventnet.so (0xf6787000)
libawesomium-1-7.so.0 => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libawesomium-1-7.so.0 (0xf3d11000)
libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0xf3cba000)
libsteam_api.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libsteam_api.so (0xf3ca7000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xf3c4c000)
libGLEW.so.1.9 => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libGLEW.so.1.9 (0xf3be2000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xf3aa7000)
libtbb.so.2 => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libtbb.so.2 (0xf3a5c000)
libudev.so.0 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0xf3a3e000)
librt.so.1 => /lib/librt.so.1 (0xf3a35000)
libdl.so.2 => /lib/libdl.so.2 (0xf3a30000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf3943000)
libm.so.6 => /lib/libm.so.6 (0xf38fd000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf38e0000)
libc.so.6 => /lib/libc.so.6 (0xf372e000)
/lib/ld-linux.so.2 (0xf7785000)
libtier0_s.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libtier0_s.so (0xf36fb000)
libvstdlib_s.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libvstdlib_s.so (0xf367b000)
libsdkencryptedappticket.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libsdkencryptedappticket.so (0xf341f000)
libspeex.so.1 => /usr/lib/libspeex.so.1 (0xf3406000)
libspeexdsp.so.1 => not found
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xf2f93000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xf2ee1000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xf2ebf000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xf2d4b000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xf2d36000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xf2d29000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xf2d05000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xf2bcc000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xf2b80000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xf2af2000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xf2ab6000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xf2a64000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xf295d000)
libfmodex-4.44.16.so => /home/jon/.local/share/Steam/SteamApps/common/Natural Selection 2/libfmodex-4.44.16.so (0xf27d5000)
libgthread-2.0.so.0 => not found
libXi.so.6 => /usr/lib/libXi.so.6 (0xf27c4000)
libz.so.1 => /lib/libz.so.1 (0xf27ad000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xf27a2000)
libnss3.so => /usr/lib/libnss3.so (0xf265a000)
libnssutil3.so => /usr/lib/libnssutil3.so (0xf2634000)
libsmime3.so => /usr/lib/libsmime3.so (0xf2608000)
libplc4.so => /usr/lib/libplc4.so (0xf2602000)
libnspr4.so => /usr/lib/libnspr4.so (0xf25c4000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0xf2577000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xf254c000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xf2539000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xf2533000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xf244a000)
libudev.so.0 => not found
libcups.so.2 => /usr/lib/libcups.so.2 (0xf23f4000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xf236c000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xf2343000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xf233e000)
libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0xf2317000)
libglapi.so.0 => /usr/lib/libglapi.so.0 (0xf22ff000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xf22fb000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xf22f8000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0xf22df000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0xf22d9000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xf22b5000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xf22af000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0xf22a1000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xf229d000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xf2291000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xf2285000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xf2281000)
libselinux.so.1 => /lib/libselinux.so.1 (0xf225d000)
libresolv.so.2 => /lib/libresolv.so.2 (0xf2245000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0xf21ef000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xf213f000)
libEGL.so.1 => /usr/lib/libEGL.so.1 (0xf211e000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0xf20e2000)
libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0xf20de000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0xf20d2000)
libffi.so.4 => /usr/lib/libffi.so.4 (0xf20ca000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0xf2060000)
libplds4.so => /usr/lib/libplds4.so (0xf205b000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xf2016000)
libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0xf1fb7000)
libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0xf1dfe000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xf1df9000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xf1df5000)
libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0xf1dd8000)
libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0xf1dd0000)
libgbm.so.1 => /usr/lib/libgbm.so.1 (0xf1dc8000)
libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0xf1dbd000)
libwayland-server.so.0 => /usr/lib/libwayland-server.so.0 (0xf1daf000)
libudev.so.1 => /usr/lib/libudev.so.1 (0xf1d9b000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xf1cdb000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xf1ca6000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xf1ca1000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xf1c94000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xf1c8e000)
Edit:
So, I've got a haswell cpu in this machine and am running off of the onboard gpu. Looks like intel only supports openGL 3.0 on linux at the moment. This may be my issue.
>>glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 9.2.2
like it says in Linux Guide you really cannot just do ./ns2_linux32 you have to either run via steam sdk, or the steam command line sdk.