It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
high rated
I've put together a Wine wrapper for System Shock: Enhanced Edition, allowing it to be played on Linux almost like a native game & with no Wine knowledge required. This also supports the easy use of different soundfonts (default is to use the Fluid R3 GM soundfont available from the repositories on Ubuntu/Mint).

Simply run the build script to create the wrapper. If the installer files are not alongside the wrapper build files then the path to them will need to be specified either by passing it as an argument to the build script with -respath="<path>" or by setting an environment variable named WINEWRAP_RESPATH containing it. You can change the path to build the wrapper in and the name of the wrapper directory with the -buildpath= and -dirname= arguments. The build path can also be set with the WINEWRAP_BUILDPATH environment variable.

The output will be a directory containing the game set up within a preconfigured Wine prefix, along with its own copy of Wine, extracted game icons, documentation, and start script(s). From there simply run the start script to play. The start script also includes options for creating a shortcut, configuring the wrapper etc.

(to uninstall simply delete the game directory and any shortcuts you created, and the game's user data directory in ~/.local/share if you don't want to keep your saves & settings)

User data is stored under ~/.local/share/sshock_enhanced

Full details are in the readme.txt and release notes. Here is the download link:

sshock_enhanced_wine.tar.xz
(41.3 kB, SHA256: 04f4b2e447a9aa7f1f01259aa111f1e0e5531c01ab99067a5520effb27b20ed1)

Last updated 2021/07/11

The wrapper uses Wine 6.0. Wine and Winetricks will be downloaded automatically if not present; to avoid redownloading for other scripts the downloaded Wine package will be stored in ~/.cache/winewrap

If anyone runs into any problems with this then post in this thread, Adamhm's Linux Wine Wrappers - News, FAQ &amp; Discussion and/or The "Judas&trade; does this run in Wine" thread v1.173.

For more of my Linux Wine wrappers check out post 3 in this thread: Adamhm's Linux Wine Wrappers - News, FAQ &amp; Discussion
Post edited July 11, 2021 by adamhm
avatar
adamhm: I've put together a Wine wrapper for System Shock: Enhanced Edition, allowing it to be played on Linux almost like a native game & with no Wine knowledge required. This also supports the easy use of different soundfonts (default is to use the Fluid R3 GM soundfont available from the repositories on Ubuntu/Mint).

Simply place the script, resource archive and installer files together in the same directory & run the script. The output is a directory containing a "GOG-style" ready-to-go Wine-wrapped version of the game (the build script also has the option to create a tarball of the assembled game package); from there installation is simply a case of moving the directory to wherever you want it installed to - then just run the start script to play, create a shortcut for the game, access the advanced options etc :)

(to uninstall simply delete the game directory and any shortcuts you created, and the game's user data directory in ~/.local/share if you don't want to keep your saves & settings)

Running the start script with the argument "play" will bypass the menu and start the game immediately (this is the default setting for shortcuts created by the script).

User saves are stored under ~/.local/share/sshock_enhanced

Full details are in the readme.txt and release notes. Here is the download link:

sshock_enhanced_wine.tar.xz
(11.7 kB, SHA256: 31a98901afff904c03a07070106d3319a636dfef0d0dea67038969faf4c9cdce)

Updated 2017/05/14: Some minor fixes and documentation update. Also enhanced the build script's test for innoextract - the build script will now download its own copy of innoextract from http://constexpr.org/innoextract/ if the system provided version is not installed or too old.

The wrapper uses Wine Staging 2.0 with CSMT enabled. Wine and Winetricks will be downloaded automatically if not present; to avoid redownloading for other scripts the downloaded Wine package will be stored in ~/.cache/winewrap

Due to being a bit unwell last week I didn't get around to starting work on this until Tuesday so this has had a lot less testing than I'd have liked & should definitely be considered a beta release, but I don't think there are likely be any big issues. However if anyone does run into any problems then post in this thread and/or The "Judas&trade; does this run in Wine" thread v1.173.

For more of my Linux Wine wrappers see my GOGmix: adamhm's Linux Wine wrappers
Just got this game in their deal today. I will definitely check your script out. Thanks, again!
I'm experiencing audio issues, in the terminal it says: Checking for FluidSynth...
No soundfonts could be located; will not launch fluidsynth.
Soundfont missing or fluidsynth disabled. MIDI music playback may not work


With fluidsynth installed it says this: Checking for FluidSynth...
Using FluidR3 GM soundfont: /usr/share/sounds/sf2/FluidR3_GM.sf2
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
fluidsynth: error: Couldn't find the requested audio driver pulseaudio. Valid drivers are: file, oss.
Failed to create the audio driver
Try running it with fdrv=alsa, e.g.:

./start.sh play fdrv=alsa
avatar
adamhm: Try running it with fdrv=alsa, e.g.:

./start.sh play fdrv=alsa
This still resulted into the same audio issue: fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
fluidsynth: error: Couldn't find the requested audio driver alsa. Valid drivers are: file, oss.
That's very odd, PulseAudio is pretty much standard but there should at least be ALSA support... what distro are you using?
avatar
adamhm: That's very odd, PulseAudio is pretty much standard but there should at least be ALSA support... what distro are you using?
I'm using Ubuntu Mate 18.10
I suspect that something's been broken with Ubuntu 18.10, since that should use PulseAudio by default. Doing a quick search for "ubuntu 18.10 pulseaudio" it looks like others have had similar issues after upgrading to 18.10.
avatar
adamhm: I suspect that something's been broken with Ubuntu 18.10, since that should use PulseAudio by default. Doing a quick search for "ubuntu 18.10 pulseaudio" it looks like others have had similar issues after upgrading to 18.10.
https://forums.cdprojektred.com/index.php?threads/how-to-run-gog-dosbox-games-on-linux.17129/#post-654391

This post in the CDPR forums solves the audio issue. Even though the instructions are for Ultima Underworld, they can easily be applied to this game too. In addition to installing all of the packages listed in this post, you should also install the "jackd" package which is probably in your distro's repositories. Before starting Qsynth, you should start the JACK audio server from QjackCtl. And because this game doesn't seem to have its own dosbox*.conf file, you have to set your fluidsynth port to the midiconfig parameter in ~/Home/.dosbox/dosbox-0.74-3.conf. You can close the JACK audio server before launching the game, but you have to keep Qsynth open.

It works flawlessly for me. Hope it helps anyone else who had problems playing MIDI music in dosbox games.
Hello.

Was just trying out this wrapper and encountered same warning/error as Fereos847 mentioned. I have the fluidsynth installed but got this error still so I decided to give more inquisitive glance at the `start.sh` -script.

Going through the `start.sh` -bash script I noticed that the version check for `fluidsynth` (line 196) is written as `fluidsynth -version`. To my understanding this check fails always (with bash) as you can use either single dash with option shorthand (like `-v`) or double-dash with long form (like `--version`) for command options. I modified the version check to use the double-dash form and it finds the fluidsynth as it should.

However, I have problems getting this to run.
I'm on Linux Mint 20.1, using the GoG-version of System Shock: Enhanced Edition installer version 1.2.16 (setup_system_shock_enhanced_edition_1.2.16_(64bit)_(44378).exe) with the wrapper linked in the first post. As the installer version is newer than the wrapper suggests, I've used the `sshock_enhanced_wine.sh` with the `-planb` -option (this is bit unconventional form for option flag).

Install goes through and completes. After that I edit the version check for the fluidsynth mentioned above. Then I run the `start.sh` and choose `Play` from the prompt. I get the following output on terminal:

user@local:~/games/sshock_enhanced_wine/System Shock - Enhanced Edition$ ./start.sh
Current desktop resolution: 5460x2880
Detected 9 display output(s). Connected outputs:
DP-2: 3840x2160 (primary)
DP-4: 1620x2880
Gamma (R/G/B) = 1.000 / 1.000 / 1.000
Wine version: wine-6.0
Prefix is 32-bit
Userdata directory: /home/user/.local/share/sshock_enhanced
Checking for FluidSynth...
Using FluidR3 GM soundfont: /usr/share/sounds/sf2/FluidR3_GM.sf2
fluidsynth: Using PulseAudio driver
fluidsynth: warning: Failed to set thread to high priority
fluidsynth: warning: Failed to set thread to high priority
FluidSynth started successfully.
Running: sshock.exe
Working directory: /home/user/games/sshock_enhanced_wine/System Shock - Enhanced Edition/prefix/drive_c/System Shock - Enhanced Edition
Not forcing virtual desktop
-> Red 1.000, Green 1.000, Blue 1.000
<- Red 1.000, Green 1.000, Blue 1.000
Shutting down FluidSynth...
user@local:~/games/sshock_enhanced_wine/System Shock - Enhanced Edition$
So the game fails to launch. Any tips where to look for solution?
Post edited March 18, 2021 by jenian_katarn
Thanks for the report, fixed now :)

The game was updated at some point and there was no update flag. The game is now 64-bit, the name of its executable has changed, and it required some further tweaking to get working again without being a stuttery mess (and even now it's still a bit more stuttery than the old version).

BTW, by default the wrappers suppress most of Wine's warnings & error messages to help improve performance, but if you encounter issues and need to check for any errors you can re-enable them by running the start script with WINEDEBUG="", e.g.:

WINEDEBUG="" ./start.sh play
avatar
adamhm: Thanks for the report, fixed now :)

The game was updated at some point and there was no update flag. The game is now 64-bit, the name of its executable has changed, and it required some further tweaking to get working again without being a stuttery mess (and even now it's still a bit more stuttery than the old version).

BTW, by default the wrappers suppress most of Wine's warnings & error messages to help improve performance, but if you encounter issues and need to check for any errors you can re-enable them by running the start script with WINEDEBUG="", e.g.:

WINEDEBUG="" ./start.sh play
Hey! Thank you for the updated wrapper. Works "flawlessly". About the stuttering. I'm using Awesome WM as window manager. (((strike-through-doesn't-work-as-I-expected: I noticed that when changing into smaller "application window", the stuttering disappears. It appears only with full screen. :end-of-strike-through))) When focusing the game view for the first time, it stutters. After changing the active tag (workspace) to another and switching back, the stutter disappears. Thought to mention.
Post edited March 22, 2021 by jenian_katarn
If you want to see how bad the stutter can get, try running it this way:

./start.sh runwine : sekhmet_x64.exe

If you're using the open source graphics drivers run it with GALLIUM_HUD=fps set to enable the built-in framerate display.

I looked into this a bit further, if I navigate solely using the keyboard it runs at a solid, smooth 60fps, but as soon as I start moving the mouse the framerate starts to fluctuate wildly. Alt+tabbing out and back in seems to correct the stuttering... the next time I update this I'll add a note about the stutter to the release notes.
Attachments:
Thanks a lot sir, it worked wonderfully!
Just a quick word of thanks :o)

I love your work.