System Shock® 2 (1999)

System Shock® 2 (1999)

29 ratings
System Shock 2 Linux Fix ("Native", and Steam Play)
By Abn0mad
A simple guide to get System Shock 2 working on Linux.
   
Award
Favorite
Favorited
Unfavorite
Introduction
This guide is intended for users that are either unfamiliar with Linux, or just starting out. Advanced users will have either figured out the solution themselves or found the solution in the forums by now.

While gamers have been able to enjoy System Shock 2 on Windows without a fuss for some time now, the same does not apply to Linux gamers.

Despite being listed as a native Linux game on Steam, the game does not actually run natively - but is instead wrapped in Wine - a Windows compatibility layer that is also the basis for Steam's great new 'Steam Play' solution (aka Proton).

The game does of course work fine when running it directly with a modern version of Wine, but then Steam won't clock your playtime, won't list you as in-game etc.

By default however the game doesn't seem to be loading properly in most cases; it starts, a black screen pops up and it closes.

There are 2 possbile solutions to the problem:

1. Fix the "Native" version by copying a file to a different location and by adding some startup options.

2. Enabling Steam Play for your entire Library and forcing Steam Play to be used for the game.

While solution 1 does indeed work - Steam overlay however does not, at least it didn't on my machine. Apart from that there seemed to be some audio glitches as well.

Solution 2 fixes all of that and I recommend using it - but it does require you to enable Steam Play for your whole Library. Not to worry though - native games will always run natively unless forced to use Steam Play instead (which is exactly what we'll be doing).
Solution 1: "Native" solution (Steam default: game wrapped in Wine)
While looking to fix the game using the default ("native") mode - I stumbled across this solution.

The rest of this section will show you how to apply this fix if you're not comfortable doing so.

(I will assume that you have your Steam files in your home (~) folder, or linked to your home folder using a symbolic link)

Open up your favourite terminal and type:
cd ~/.steam/steam/steamapps/common/SS2
followed by pressing enter / return - as shown in the screenshot:





Then type
cp bin/libsteam_api.so .
followed by enter / return.
Note: Don't forget the period at the end.


Almost done.

Now navigate to your Steam Library and right-click on System Shock 2 and select properties.




Click on SET LAUNCH OPTIONS and copy-paste the following into the text field:

LD_PRELOAD='/usr/$LIB/libxcb.so.1' %command%

Like so:




Click on OK - and you should be ready to go :)

Note: I didn't discover this solution, as far as I'm aware, the user dubigrasu did. I just made this section in the guide to help out new or less experienced Linux users.

Solution 2: Steam Play
The alternative (and recommended) solution is to force the use of Steam Play, as that allows for the Steam Overlay to work. Audio quality is also noticeably improved.

To use this solution - forget about the "native" fix and undo the changes you might have made to the launch options under properties.

First we enable Steam Play for the whole Library - by clicking on Steam in the top left corner of the window and clicking on settings, followed by clicking on Steam Play on the left side of the list - like so:



After clicking OK - Steam will download the required files.
Note: I recommend downloading the latest version of Proton.

When all that is done, navigate to System Shock 2 in your library and select properties:




Then select "force the use of a specific Steam Play compatibility tool" like so:




(at the time of writing it is Proton 3.16-7 beta; I didn't test any others, but I expect they would work fine too).

Now you can both play the game and access Steam overlay in-game by pressing Shift + Tab.

Note: The cursor might not show which is a known bug. A confirmed workaround is to Alt + Tab away from the game and back again which should show the cursor.

Click on close and you should be ready to go :)

Final Note: When starting the game it may seem to be doing nothing as the two Steam launch windows overlap like so:



Simply click on the overlapped window and select either the normal game or the launcher for special fan made missions.


Enjoy :)
12 Comments
datiswous 16 May, 2019 @ 4:47pm 
Btw. for solution 2 you don't need to apply Steam play for all games. If you only activate steam play, but don't force it on all games, you can still enable the correct Proton version in the game propeties.
Evgueni [Linux user] 22 Feb, 2019 @ 7:05am 
Link to the manual is included in Games, Linux, Steam, reviews.
Abn0mad  [author] 21 Feb, 2019 @ 4:13pm 
@rusty_dragon - ah I see, well I'll add that later then :)
Abn0mad  [author] 21 Feb, 2019 @ 4:12pm 
@Sigmar's Sausage - Legend has it that it will be a late 2020 release... fingers's crossed... In the Interim Otherworld Entertainment is still working on System Shock 3 - so we've got to potentials... System Shock Soft Reboot (Nightdive, no longer a SS1 remake) and System Shock 3 (Otherworld).... Here's hoping..
rusty_dragon 21 Feb, 2019 @ 7:37am 
@X0rg
You misunderstood me. Switching to beta in Steam's game options is the simplest one. You may add this option to the guide, if you want to provide the simplest solution. ;)
Rest of my previous message just technicalities and by no means critics of your guide.
Sigmar's Sausage 21 Feb, 2019 @ 5:18am 
Has Nightdive actually given us a date when they will even BEGIN looking at it again?
Abn0mad  [author] 21 Feb, 2019 @ 4:40am 
@rusty_dragon - I know mate but this was just a fix guide, trying to keep it simple for whomever needs it ;) -- the main object here is to have it working with Steam Overlay, Steam counting hours played etc. -- As it says in the intro normal wine works fine, but this way its Steam-aware ;)
rusty_dragon 21 Feb, 2019 @ 4:22am 
You can also switch to beta branch, that fixes build-in wine.
Thou with Proton being a thing it's now preferably to use Proton rather than custom wine by Nightdive. Honestly Nightdive are not so good with reviving games and usually do more harm than good compared to what you can done with WINE/DosBox/ScummVM yourself.
Abn0mad  [author] 21 Feb, 2019 @ 4:03am 
@Meat-King©® - Indeed it is :D - but this is to keep us from going nuts while we wait lol :D
Meat-King, The Ultimate 21 Feb, 2019 @ 4:01am 
Ah, the nostalgia. :heart:

It is time for the remake!