System Shock: Enhanced Edition is a first person action-adventure game developed by Looking Glass Technologies and published Origin Systems. Excellent story line, well written and quite deep, filled with adventure and pure fun to experience. Also the horror atmosphere is always there and present keeping you on your toes, coupled with the challenging gameplay makes for one amazing experience.
Getting System Shock 1 Enhanced Edition to run on Linux with Steam Play / Proton.
Although ProtonDB claims that System Shock 1 Enhanced Edition should be working out-of-the-box, it certainly wasn’t for me.
As I play games using Intel HD Graphics there was actually a fair bit of tweaking involved to get the whole thing to run properly – some or all of which may also apply to Nvidia or AMD owners – I haven’t been able to check, so I don’t know.
The following errors may show up in your attempt to play the game on Linux:
Error 1: Direct3D capabilities not detected properly
Error 2: Incorrect OpenGL version
Error 3: No music
Each of these errors will be dealt with in this guide and we’ll have you playing this iconic piece of gaming history in a jiffy.
This one is actually fairly easy; all we need to do is enable it in our Steam settings.
Click on Steam in the upper left corner of the Steam window, where it lists various menu options such as ‘Steam, View, Friends, Games, Help’.
Then click on settings, and ‘Steam Play’ on the bottom of the list in the window that will appear; like so:
On to the next section.
After some digging I found that this is because the game was unable to check the Direct3D (Windows DirectX) capabilities of your graphics card and therefore didn’t generate a configuration file.
Easy fix – we make one ourselves:
Open your favourite terminal and create the missing empty file like so:
Or edit it directly like so:
Note: I use Vim as my default editor, but any editor will be fine of course. Ubuntu users will probably be more familiar with ‘nano’.
Then paste the following into the file and save:
After that the game may work for you – if Steam is enabled using OpenGL 3.1 or higher. On machines with Intel HD Graphics however it is not and starts in OpenGL 3.0 mode by default. Leading to yet another error. The error may also show up on machines with Nvidia or AMD graphics cards however (depending on driver version etc).
We’ll deal with that in the next section.
We can check that by clicking on ‘Help’ on the top left corner of the window, followed by clicking on ‘System Information’. Scroll down to the ‘Video Card’ section and you may see something like this (in my case Intel HD 615
Note: this probably doesn’t apply to older chipsets such as Intel Graphics 4000 etc. In which case I suggest you play it safe and force OpenGL 3.3 instead.
If you right-click on the Steam Icon on your desktop or the icon in your ‘start menu’ – it will likely display something like this:
We don’t want that, so we change it to this instead:
After that, we restart steam and click on ‘Help’ in the left corner of the window, followed by ‘System Information’. After a bit of scrolling we should see:
The problem is that modern on-board audio systems don’t have hardware based MIDI components anymore, nor does Linux have a way to handle MIDI music by default. Why not? Well primarily because Linux is what we might call an “industrial” operating system, meaning it is used for all manner of things – from Super Computers, Mainframes and Servers to toasters, mobile phones and workstations, but until recently it hasn’t been used as a Desktop and Gaming system by many people (except for devoted enthusiasts and professionals).
So whereas Windows carries the legacy of old DOS games with it (albeit exceptionally poorly and with little or no respect whatsoever to true backward compatibility) – and therefore has a fallback for old-school MIDI music, Linux does not – at least not by default.
Back in the day MIDI was the go to solution for music in games as well as being a tool for musicians and music studio professionals. In this day and age however MIDI is almost exclusively used by people in the music industry.
Why is this relevant? — Well if there is anything being used by professionals – the GNU / Linux community will have made some attempt to address the problem 🙂
So the solution is: Timidity and the Fluid3 General Midi SoundFont. (quite a mouthful..)
Note: I’ll be assuming the reader is using either Debian or a Debian derivative like Ubuntu – if not then do a Google search on how to install “timidity” and “fluid3 soundfont” on your Linux distribution.
On Debian, Ubuntu and derivatives its a simple matter of typing:
Now we’re almost there
In the terminal of your choice, paste the following and press enter / return:
Go to your game library and right click on System Shock 1 Enhanced Edition, followed by clicking on properties.
The following Window should appear:
Now click on launch options and paste the following:
System Shock 1 Enhanced Edition on Linux – with music enabled 🙂
Hope it works for you and hope you can enjoy this great game and pillar of gaming history 🙂