System Shock: Enhanced Edition

System Shock: Enhanced Edition

50 ratings
Steam Deck: Get Music Working and Other Fixes
By Trov
Out of the box, there is no music when playing on Steam Deck, and some controller inputs cause the game to freeze while they are pressed. Fix inside.
8
5
5
2
2
   
Award
Favorite
Favorited
Unfavorite
Foreword
Greetings, Hacker.

The game has no music on Steam Deck, because Steam Deck's Linux setup has no MIDI service installed.

So, all we have to do is install one, and then tell Steam to launch it when runnning this game.

Sounds simple right?

It is. I will tell you all of the steps you will need to do.

Time to do some hacking, Hacker.

EDIT: I have updated this guide to use a method that will not be uninstalled when you do a Deck system update. You also will not need to run any terminal commands to install this anymore. This is now a once-and-done solution.

EDIT 2: I have updated this guide to include some info about fixing some other issues the game has on Deck, such as some controller inputs causing the game to stutter or lock up for as long as that input is moved or held.

EDIT 3: I have updated the guide with a new command to put into the game Launch Options, as the previous one stopped working in recent Steam OS versions. If you have used this guide previously, please copy and paste the new Launch Options in Step 4.
1. Install Qsynth, the MIDI engine
There is a MIDI synthesizer available in Discover, which is what we will be using for the game to play its music.

Discover is the 'app store' (though everything is free) that comes on the Steam Deck, which is the preferred way of installing software on Deck that is not through Steam. Installing applications in this way will not be removed when Deck performs a system update.

To use Discover, go to Desktop Mode. Open the Start menu and launch 'Discover'.

Type 'qsynth' into the search, and click the Install button.

2. Get a soundfont
Now we have the MIDI music engine, but we need a Soundfont or else it will not make any sounds!

A Soundfont is a file containing all of the instruments that the music will use.

You have many options for soundfonts. Here's a few. Pick one:

  • Scc1t2.sf2[www.vogonsdrivers.com] - This will make it sound closest to Windows' default MIDI music engine.
  • WeedsGM4.sf2[bhservices.us] - A bit less lo-fi than the above.
  • GeneralUser GS v1.471.sf2[schristiancollins.com] - This has way higher fidelity instruments, but also distances itself from the more retro MIDI timbres of the above soundfonts. Download from the 'Current' section.

Go to any of those webpages on your Deck in desktop mode and download the zip. Find the .sf2 file inside (you won't need any other files from any of the zips) and extract it somewhere you will remember. I suggest 'Music' in the deck's Home folder.

3. Set up Qsynth
Now that we have Qsynth and a soundfont, we must do some brief setup for Qsynth.

Open the Start menu, go to Multimedia, and run Qsynth.



By the default, the volume is very loud and will overpower the game. On the left, turn the Gain knob down to 20 to turn down the volume.

Let's tell Qsynth to load our soundfont.

Press the 'Setup' button on the bottom left.
Then, select the 'Soundfonts' tab.
Press the 'Open...' button on the right.
Navigate to the .sf2 file you downloaded and extracted earlier, and open it.
Now, your soundfont will be loaded into Qsynth.
if you wish to try a different soundfont, press 'Remove', then press 'Open...' to choose a different .sf2 file.



Next, we must set up Qsynth to start minimized, so that it will not get in the way of the game.

Go back to the Qsynth main window, and press the 'Options' button in the top right.

Tick the 'Enable system tray icon' checkbox.
Tick the 'Start minimized to system tray' checkbox.



Now we are done with Qsynth setup. To test it out quickly, keep Qsynth running, and launch System Shock from Desktop Mode. If you hear music in the main menu, it's working.

Right click the orange drop in the Desktop system tray and 'Exit' to close Qsynth.

In the next section, we will set up Qsynth to automatically launch in Steam Deck's Gaming Mode.
4. Edit game's launch options for Gaming Mode
Now that the MIDI engine and soundfont are installed, we must tell Steam to automatically start Qsynth when launching the game, so that music will work even in Gaming Mode without you having to manually start anything yourself.

In Desktop mode, open your Steam library, right click System Shock: Enhanded Edition, and select Properties.

In the Launch Options field, copy and paste all of this:
LD_PRELOAD=/usr/lib/libcurl.so.4 flatpak run org.rncbc.qsynth & %command% ; killall -9 qsynth

That command looks like a lot of stuff, let me break it down for you if it looks scary.

The first part, the LD_PRELOAD= section tells Steam to override a shared library with a different version when running this game, because the version Steam would use has become incompatible with Flatpak, somehow.

The second part tells Steam to start Qsynth. Since we set up Qsynth to start minimized, you won't see it and it won't get in the way of the game.

The & tells Steam to launch the first part in the background, and then launch the second part.

The next part, %command%, tells Steam it should now launch the game itself (System Shock)

The ; tells Steam to wait until the game exits before executing the last part of the line.

The last part, killall -9 qsynth, tells Steam to automatically close Qsynth upon exiting the game so that it does not continue to use system resources.
5. Fixing Performance Issues
There are 2 files to replace that will generally improve the game performance. One is basically required and the other is simply my suggestion.

SDL2.dll to fix game locking up while using the Deck's controls
SDL2.dll is a library which handles things like inputs and video for the game. Unfortuately, the one that ships with this game has an issue in Proton where certain controls inputs will cause the game to lag or freeze for as long as the input is being pressed or moved.

This can be fixed by replacing SDL2.dll in the game directory with this newer version:

https://www.dropbox.com/s/f8gx6sv8u1gf0o7/SDL2.dll?dl=0

This can also be copied to other games with the same issue, such as Blood: Fresh Supply.


Downgrading the game exe to get 60FPS
The latest patch of SS1:EE locks the game to 30FPS, except for mouselook, which is a strange and jarring stuttery experience. The previous build of the game before that runs fully at 60FPS. The change was apparently to fix the AI having some worse pathfinding at 60FPS, but personally I think the AI issue is so rare or unnoticeable that playing the game at 60FPS is vastly preferable.

To downgrade the game EXE to the version just before latest, replace sekhmet_x64.exe in the game directory with this one.

https://www.dropbox.com/s/wu7vt273j3l5hpk/sekhmet_x64.exe?dl=0
6. The End?
Now, if you go back to Gaming Mode and launch the game, you should hear music once you hit the main menu.

By default the music is very loud, I suggest going into the ingame options and turning music down to 50.

Enjoy the game!
Please check out my Deck controller preset "Deck SS2-Esque"! I think it does a good job of boiling down SS1's complex UI into something very usable on a controller, and eliminates a lot of the tedium of picking up items in this game.
54 Comments
Dark Redshift 6 Jul @ 5:04pm 
It didn't work. Tried setting audio tab to pipwire like another commenter did AND STILL NOTHING! Not even the new command works either.
Trov  [author] 3 Jul @ 11:07am 
Fallout does not use MIDI music
Hojo 2 Jul @ 11:44pm 
Although not Fallout specifically, I've used your guide in the past to get MIDI music going in other games (it gets referenced often), and it did work for me. Today, I tried to get it going on a new game and found it didn't work, furthermore, I went back to check older games where I set it up before and they no longer work either. If I manually open the program and go into Desktop mode, I can see Qsynth flashing (as in, processing midi signals), I just don't hear anything. I suppose something broke along the way with some update. Have you experienced a similar issue with Fallout in 2025 or does it still work for you?
deathxiii 2 Apr @ 12:14pm 
I just tried it in game mode with the launch command and can confirm it works! So if you’re having problems just change the audio driver. I picked pipewire on a whim since it’s what I saw in the game’s audio settings, but I’m not sure if it’s the best option honestly.
deathxiii 2 Apr @ 12:05pm 
So I’m not a very tech savvy guy, so naturally I just started messing with the settings in QSynth and changed the audio driver to pipewire (it was set to jack by default) and IT WORKED!! Finally I can play the game with music!
Trov  [author] 2 Apr @ 10:21am 
I will check this out later.
Until then, turn off QSynth's 'Start Minimized' option, then in Desktop Mode add QSynth as a non-steam game.
Then in Game Mode, launch it, press the Steam Guide button, and launch System Shock without any added launch parameters. With QSynth still running in the background music may still work.
AplReach 13 Mar @ 7:52am 
It didn't work for me 😣
I think, with all due respect to the author, that this guide needs another update.
megawatt 1 Dec, 2024 @ 8:41am 
Coming from Bazzite I tried following the guide and adapting where necessary. Unfortunately, I had no luck with the LD_LIBRARY way of launching QSynth but the way described by sammargh worked for me. Thanks to both of you for figuring out the problems involved. I already played almost 19 hours and was only slightly puzzled by the lack of music.
Clippy Just Wanted to Help 24 Oct, 2024 @ 12:58pm 
THE OLD GUIDE STILL WORKS! That is to say, Fluidsynth still works. QSynth just doesn't seem to be all that bug-free I guess.

Link to archived page: https://web.archive.org/web/20220521070713/https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2809933598

Doesn't bother me too much I have to repeat this on every update. I already have to do that for CDEmu anyways
Clippy Just Wanted to Help 24 Oct, 2024 @ 12:47pm 
Welp. I literally just updated the Steam Deck (September 18 Update) and Qsynth doesn't work anymore. I want to cry.