SUBSIM Radio Room Forums

SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > Silent Hunter III
Forget password? Reset here

Get ready for a whole new level of realism!
Thread Tools Display Modes
Old 02-25-21, 07:15 PM   #1
Join Date: Feb 2021
Posts: 8
Downloads: 8
Uploads: 0
Default Trouble with sh3 steam + mods on GNU/Linux + wine

Pardon me; if something like this was already discussed, I did not find it.
I have downloaded SH3 from Steam to my Debian 10 GNU/Linux system. My objective is to run SH3 with GWX and Commander's. I've tried following this guide (using Wine 4.0):
The first problem I got was when I tried to use S3F to make a copy of the Steam-fixed game. Every file took around 2-60+ seconds to be processed, despite having an SSD. I thought that, if it's simply making a copy, I may as well manually do it with cp. It quickly copied the folder. Not sure if S3F was doing anything else other than copying.
The GWX installer then told me that apparently the game copy had been tampered with (I did actually do some tests with mods before, but I disabled them and reinstalled the game before doing the steam fix, so that's weird). In fact, there were many files that weren't supposed to be there in a normal installation, so I uninstalled and installed the game again. After doing that, I got a clean install, so GWX should work now. I now have to do the steam fix again.
I have a symbolic link, $HOME/Software/sh3, that has "$HOME/.steam/Steam/steamapps/common/Silent Hunter III" as target. I created it, because I knew some software has problems with spaces in paths, and because some programs don't index hidden directories and files (everything starting with "." in its name) (including SFSF).
Problem is SFSF fails now, for some reason, when running the steam fix, with "Z:\home\my_user\Software\sh-sf\stf" (directory exists) as installation path and "Z:\home\my_user\Software\sh3" as destination path, it fails saying that I should close all directories of SH3 and Steam. I killall'd everything with "steam" and "Steam" in its name and restarted my computer. Still happens. I do not have anything using that directory.

(I'm using the wineprefix mentioned here:

I just noticed I seem to have created a symbolic link pointing to $HOME/Software/sh3 inside the game's directory, creating a circular reference, so to SFSF it probably looks like a directory extending into infinity, which most certainly can create unpredictable outcomes (should have read the man page for ln before guessing whether the target or the link comes first XD). Will fix that and see if it solves the problem. It probably will, since SFSF has succeeded in the past. If it does work I'll keep this topic open anyway, because I have spent one day and a half working on setting up SH3, and because more problems related to what I'm trying to do will likely show up.

Last edited by Dowasnas; 02-26-21 at 05:28 AM. Reason: Mixed up S3F with SFSF
Dowasnas is offline   Reply With Quote
Old 02-25-21, 10:32 PM   #2
Gefallen Engel U-666
Aktungbby's Avatar
Join Date: Jul 2013
Location: where I'm at presently
Posts: 25,765
Downloads: 22
Uploads: 0

Default welcome aboard!


"Only two things are infinite; The Universe and human stupidity; And I'm not too sure about the Universe"
Aktungbby is online   Reply With Quote
Old 02-26-21, 05:08 AM   #3
Join Date: Feb 2021
Posts: 8
Downloads: 8
Uploads: 0
Default Still doesn't work

I removed the circular symlink, but the problem still remains. It still tells me I should close all SH3 and Steam instances and Steam directories.

What exactly does the steam-fix do? Maybe I can do it manually.

Attempted making a normal copy without doing a steam-fix. Attempting to run SH3 outside of the Steam library fails with this error:

Steam Error

Application load error 2:0000065558
Managed to run SFSF. I had to temporarily rename $HOME/.steam to $HOME/steam. Using a symbolic link seems to have been the problem. Will see if I get it working now.

Ok, SH3 with GWX with H.SIE patch installed as indicated by the first guide I linked in this post, crashes some seconds after entering the game world. So, the loading screen passes, you see the u-boat's inside, look around a bit, then crash. That does not happen when the H.SIE patch is not applied. There are no other active mods (except GWX and H.Sie supplemental). I don't find anything about it online. Is it a known error?
Here's some debug info:
Unhandled exception: page fault on write access to 0xffffffc0 in 32-bit code (0x7f45eebc).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:006b GS:0063
 EIP:7f45eebc ESP:0033ec84 EBP:00000000 EFLAGS:00210206(  R- --  I   - -P- )
 EAX:7f45f410 EBX:00000000 ECX:006ed870 EDX:0052d830
 ESI:12a6b738 EDI:12a6b2c0
Stack dump:
0x0033ec84:  40690000 00000000 0063511c 00000000
0x0033ec94:  43480000 00200202 11c36de8 00000000
0x0033eca4:  13107ac0 0033ecbc 00000000 0052d830
0x0033ecb4:  006ed870 3d273d0b 00635039 0044c764
0x0033ecc4:  3d273d0b 3d273d0b 13107ac0 006d4ce0
0x0033ecd4:  004cc7e8 3d273d0b 3d273d0b 100183c0
=>0 0x7f45eebc (0x00000000)
0x7f45eebc: fstpt    0xffffffb8(%ebp)
Module    Address            Debug info    Name (66 modules)
PE      340000-  354000    Deferred        intro
PE      360000-  36c000    Deferred        messagenet
PE      370000-  376000    Deferred        missionengine
PE      380000-  3a9000    Deferred        simdata
PE      3b0000-  3ca000    Deferred        filemanager
PE      3d0000-  3d7000    Deferred        movietex.act
PE      3e0000-  3e8000    Deferred        property
PE      3f0000-  3f8000    Deferred        drawlib
PE      400000-  640000    Deferred        sh3
PE      640000-  653000    Deferred        utils
PE      660000-  674000    Deferred        statemachine
PE      de0000-  de7000    Deferred        anim.act
PE      df0000-  df7000    Deferred        bezierwaypoint.act
PE      e00000-  e15000    Deferred        camerabehavior.act
PE      e20000-  e28000    Deferred        cameramanager.act
PE      e30000-  e3b000    Deferred        effectmanagers.act
PE      e40000-  e65000    Deferred        envsim.act
PE      e70000-  e78000    Deferred        eventcamera.act
PE      f90000-  f99000    Deferred        lipssync.act
PE      fa0000- 1014000    Deferred        multiplayer.act
PE     1020000- 1030000    Deferred        particles.act
PE     1030000- 1054000    Deferred        sh3collisions.act
PE     1060000- 1084000    Deferred        sh3controllers.act
PE     1090000- 10de000    Deferred        sh3sim.act
PE     10e0000- 10f2000    Deferred        sh3sound.act
PE     1100000- 1149000    Deferred        sound.act
PE     1150000- 115b000    Deferred        statemachinectl.act
PE    10000000-1007e000    Deferred        kernel
PE    30000000-30072000    Deferred        binkw32
PE    6c700000-6c715000    Deferred        hsie.act
PE    7a820000-7a824000    Deferred        opengl32
PE    7b420000-7b5d0000    Deferred        kernel32
PE    7bc10000-7bc14000    Deferred        ntdll
PE    7dda0000-7dda4000    Deferred        uxtheme
PE    7e020000-7e024000    Deferred        winex11
PE    7e270000-7e273000    Deferred        shcore
PE    7e2a0000-7eb71000    Deferred        shell32
PE    7ec60000-7ec64000    Deferred        imm32
PE    7ec90000-7ec93000    Deferred        usp10
PE    7ecd0000-7ed4d000    Deferred        comctl32
PE    7ee40000-7ee4b000    Deferred        msvfw32
PE    7ee70000-7eee8000    Deferred        winmm
PE    7ef20000-7ef29000    Deferred        msacm32
PE    7ef50000-7ef5d000    Deferred        avifil32
PE    7efd0000-7efd3000    Deferred        msvcp71
PE    7f100000-7f108000    Deferred        shlwapi
PE    7f170000-7f174000    Deferred        rpcrt4
PE    7f200000-7f228000    Deferred        ole32
PE    7f390000-7f394000    Deferred        iphlpapi
PE    7f3b0000-7f3b4000    Deferred        ws2_32
PE    7f3f0000-7f3f4000    Deferred        wsock32
PE    7f410000-7f413000    Deferred        msvcr71
PE    7f4d0000-7f5b7000    Deferred        user32
PE    7f6d0000-7f6d4000    Deferred        advapi32
PE    7f750000-7f757000    Deferred        gdi32
PE    7f880000-7f884000    Deferred        wined3d
PE    7f9d0000-7f9d4000    Deferred        d3d9
PE    7ffd0000-7ffd4000    Deferred        version
PE    f57f0000-f57f8000    Deferred        oleaut32
PE    f74c0000-f74c3000    Deferred        winepulse
PE    f74e0000-f74e4000    Deferred        mmdevapi
PE    f79a0000-f79a4000    Deferred        shfolder
PE    f79b0000-f79b4000    Deferred        dsound
PE    f7a00000-f7a0b000    Deferred        mpr
PE    f7a30000-f7a4d000    Deferred        wininet
PE    f7ac0000-f7ac4000    Deferred        msvcrt
process  tid      prio (all id:s are in hex)
00000008 S3F.exe
    00000030    0
    0000002f    0
    0000002c    0
    0000002b   15
    0000002a   15
    00000029    0
    00000009    0
0000000e services.exe
    00000020    0
    0000001b    0
    00000013    0
    00000010    0
    0000000f    0
00000011 winedevice.exe
    00000018    0
    00000017    0
    00000016    0
    00000012    0
00000019 plugplay.exe
    0000001d    0
    0000001c    0
    0000001a    0
0000001e winedevice.exe
    00000025    0
    00000022    0
    00000021    0
    0000001f    0
00000023 explorer.exe
    00000028    0
    00000027    0
    00000026    0
    00000024    0
0000005e (D) Z:\home\zerk\Software\sh3-sf\sh3-gwx-test-with-patch\sh3.exe
    00000063   15
    00000062   15
    00000061    0
    00000060    0
    0000005f    0 <==
System information:
    Wine build: wine-4.0 (Debian 4.0-2)
    Platform: i386 (WOW64)
    Version: Windows 7
    Host system: Linux
    Host version: 4.19.0-12-amd64

Last edited by Dowasnas; 02-27-21 at 09:17 AM.
Dowasnas is offline   Reply With Quote
Old 02-27-21, 08:07 AM   #4
Join Date: Feb 2021
Posts: 8
Downloads: 8
Uploads: 0
Default Progress

Ok, I found out that, if I disable most of the fixes of H.Sie through the HsieOptionsSelector.exe, the game doesn't crash. Might be that a specific fix is causing issues. Will probably spend the afternoon enabling fixes until I find one that crashes the game.

Edit: It did take quite a while, but not the whole afternoon. I have determined that the problem lies in the Diesel Damage Fix. Which is unfortunate, because it is a fix I would like to have in my game. Do you have any recommendation on what to do?



I am indeed a little bit surprised that the diesel fix worked for 3 years (as far as I know) and now suddenly causes crashes. But of course I cannot guarantee that my work is without errors. I completely retired from SH3 modding and even from SH3 - and thus the only tip I can give you (if my work really is the cause of the problem): Disable the fix.

Hopefully, there is a good assembler guru available that can help.

Good bye.
Hi h.sie,

your "Diesel Damage Fix" is 100% o.k. I'm using it since releas of patch V16B1 without any problems. It's exactly as BL!TZKR!EG wrote the changed "msvcr71.dll" which causes the reported CTDs. I've changed that dll to the original msvcr71.dll from Stock-SH3 and the "Diesel Damage Fix" is running well. Hope this will be fixed by the LSH3-Team.

This post at seems to indicate that I should replace msvcr71.dll with the original. Will do that and see what happens.

Edit3: Ok, I'm stupid. I noticed the files didn't do anything, then I remembered that I had to tell wine to use the native msvcr71 library (as indicated by the second guide I linked here). Now the patch works without crashing. Will now try using more mods.

Edit4: Naval academy works, but career doesn't. It fails at the loading screen to enter the career:
wine: Unhandled page fault on read access to 0x00000000 at address 0x7c342969 (thread 0055), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7c342969).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:006b GS:0063
 EIP:7c342969 ESP:0033e3dc EBP:0033e3e8 EFLAGS:00210246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:00000003 ECX:00000003 EDX:00000000
 ESI:00000000 EDI:00000000
Stack dump:
0x0033e3dc:  176681e8 1b680ad8 17675c88 00000000
0x0033e3ec:  0066d865 00000000 cfaf6044 00000003
0x0033e3fc:  cfaf6044 1b680ad8 0033e4cc 17898824
0x0033e40c:  0066e9a3 cfaf6044 0127e0ed 00000000
0x0033e41c:  1b680ad8 cfaf6044 004b9443 1b680ad8
0x0033e42c:  cfaf6044 0075f140 00000000 00000000
=>0 0x7c342969 EntryPoint+0x6ca() in msvcr71 (0x0033e3e8)
0x7c342969 EntryPoint+0x6ca in msvcr71: repne scasb    %es:(%edi)
Module    Address            Debug info    Name (65 modules)
PE      340000-  3be000    Deferred        kernel
PE      3c0000-  3da000    Deferred        filemanager
PE      3e0000-  3f4000    Deferred        intro
PE      400000-  63a000    Deferred        sh3
PE      640000-  64c000    Deferred        messagenet
PE      650000-  658000    Deferred        missionengine
PE      660000-  68a000    Export          simdata
PE      690000-  6a4000    Deferred        statemachine
PE      6b0000-  6c5000    Deferred        utils
PE      6d0000-  6d7000    Deferred        movietex.act
PE      6e0000-  6e8000    Deferred        property
PE      f60000-  f67000    Deferred        anim.act
PE      f70000-  f77000    Deferred        bezierwaypoint.act
PE      f80000-  f95000    Deferred        camerabehavior.act
PE      fa0000-  fa8000    Deferred        cameramanager.act
PE      fb0000-  fbb000    Deferred        effectmanagers.act
PE      fc0000-  fe4000    Deferred        envsim.act
PE      ff0000-  ff8000    Deferred        eventcamera.act
PE     1000000- 1009000    Deferred        lipssync.act
PE     1010000- 1084000    Deferred        multiplayer.act
PE     1090000- 10a0000    Deferred        particles.act
PE     10a0000- 10c4000    Deferred        sh3collisions.act
PE     10d0000- 10f4000    Deferred        sh3controllers.act
PE     1100000- 114d000    Deferred        sh3sim.act
PE     1150000- 1162000    Deferred        sh3sound.act
PE     1170000- 11b9000    Deferred        sound.act
PE     11c0000- 11cb000    Deferred        statemachinectl.act
PE    10000000-10008000    Deferred        drawlib
PE    30000000-30072000    Deferred        binkw32
PE    64b40000-64b59000    Deferred        shcore
PE    7a820000-7a824000    Deferred        opengl32
PE    7b420000-7b5dd000    Deferred        kernel32
PE    7bc10000-7bcbb000    Deferred        ntdll
PE    7c340000-7c396000    Export          msvcr71
PE    7dc80000-7dcae000    Deferred        uxtheme
PE    7df00000-7df04000    Deferred        winex11
PE    7e250000-7e26a000    Deferred        imm32
PE    7e280000-7e2bb000    Deferred        usp10
PE    7e2c0000-7e41a000    Deferred        comctl32
PE    7e430000-7e453000    Deferred        msvfw32
PE    7e460000-7e51b000    Deferred        winmm
PE    7e460000-7e51b000    Deferred        msacm32
PE    7e540000-7e592000    Deferred        avifil32
PE    7e5b0000-7e5b4000    Deferred        ucrtbase
PE    7e6a0000-7ef76000    Deferred        shell32
PE    7f060000-7f0b5000    Deferred        shlwapi
PE    7f0d0000-7f15d000    Deferred        rpcrt4
PE    7f160000-7f2af000    Deferred        ole32
PE    7f2e0000-7f3d3000    Deferred        msvcp71
PE    7f440000-7f444000    Deferred        iphlpapi
PE    7f470000-7f474000    Deferred        ws2_32
PE    7f4a0000-7f4af000    Deferred        wsock32
PE    7f4d0000-7f5b2000    Deferred        user32
PE    7f6d0000-7f6d7000    Deferred        gdi32
PE    7f800000-7f804000    Deferred        wined3d
PE    7f950000-7fc19000    Deferred        d3d9
PE    7f9c0000-7f9c4000    Deferred        advapi32
PE    7ffd0000-7ffdd000    Deferred        version
PE    f57f0000-f590a000    Deferred        oleaut32
PE    f7620000-f7623000    Deferred        winepulse
PE    f7650000-f767a000    Deferred        mmdevapi
PE    f7a00000-f7a08000    Deferred        shfolder
PE    f7a10000-f7a68000    Deferred        dsound
PE    f7a60000-f7a80000    Deferred        mpr
PE    f7a90000-f7b16000    Deferred        wininet
process  tid      prio (all id:s are in hex)
0000000e services.exe
    00000023    0
    00000020    0
    0000001b    0
    00000013    0
    00000010    0
    0000000f    0
00000011 winedevice.exe
    00000018    0
    00000017    0
    00000016    0
    00000012    0
00000019 plugplay.exe
    0000001d    0
    0000001c    0
    0000001a    0
0000001e winedevice.exe
    00000026    0
    00000022    0
    00000021    0
    0000001f    0
00000024 explorer.exe
    00000029    0
    00000028    0
    00000027    0
    00000025    0
00000034 SH3Cmdr.exe
    00000035    0
00000046 S3F.exe
    0000004f    0
    0000004e    0
    0000004b    0
    0000004a   15
    00000049   15
    00000048    0
    00000047    0
00000054 (D) Z:\home\zerk\Software\sh3-sf\gwx-sh3\sh3.exe
    00000059   15
    00000058   15
    00000057    0
    00000056    0
    00000055    0 <==
System information:
    Wine build: wine-4.0 (Debian 4.0-2)
    Platform: i386 (WOW64)
    Version: Windows 7
    Host system: Linux
    Host version: 4.19.0-12-amd64
The problem with this instruction:
repne scasb    %es:(%edi)
I think is that it tries to indirectly address %edi, rather than register addressing it. So instead of using the data in %edi as an offset in a memory segment, it treats the data contained in %edi as an address to the memory location of that offset. Since %edi contains 0x00000000, the computer tries to access 0x00000000 to access that offset, which is invalid and therefore segfaults. I don't know how that occurred (and disassembling the previous instructions probably won't help, because I wouldn't grasp what was happening and why and how it could be fixed)

Looks like msvcr71 is problematic again. Disabling H.sie patch gives the same result. It should be 4GB patched and it crashes somewhere between 1/2 to 3/4 of the loading bar. Since I haven't ever started a career before, I'll have to test different setups to see if the problem lies in SH3, GWX, the mods, or Commander.
Does the part with the compatibility mode also apply to Wine? I always regarded Wine as being able to run legacy and new software alike.

Last edited by Dowasnas; 02-27-21 at 07:13 PM.
Dowasnas is offline   Reply With Quote
Old 02-28-21, 09:37 AM   #5
Join Date: Feb 2021
Posts: 8
Downloads: 8
Uploads: 0
Default So close, yet so far...

Note to self: It really is needed to follow step 06 or else one can't unpause the game. with gwx, at least it seems so.

I wasn't able to test vanilla for some reason, because the game wouldn't let me unpause it. I got this picture of my crewmen joyfully holding hands, though.

(I did it by pressing backspace a couple of times)

Will try now with GWX.

Note: Just because it's Linux, and you are a Windows user, doesn't mean you can't make suggestions. What doesn't work on Windows also often doesn't work on Linux.

Edit: GWX without any mods installed and without making commander aware of the SH3 install location works. I was able to enter the career without crashing, Will have to try with mods now.

Edit2: GWX with mods and without Commander aware of the installation works. Seems like Commander may be the issue. Will reset most of the Commander settings, to see if they were the issue.

Edit3: Resetting Commander settings to default still crashes the game. I have no idea what to do now. The features Commander offers seem very appealing.

Edit4: Success! I disabled all the other mods to see if it is a conflict between Commander and them, and it worked. Some of them sounded too heavy for my PC anyway. Will now enable the ones I think are the best and hope one of them wasn't the one that didn't like being used with commander.

Edit5: Ok, it runs now with this mod list:
GWX - 16km Atmosphere
GWX - Merged Campaign
GWX - Axis Mediterranean Aircraft Skins
Radio Deutschland
Radio England
Optional O2-Gauges v2 (for V16B1)
TKSS18 Germa U-boat collection crashes the game in the same manner that it crashed when I had forgotten to set msvcr71 to native loading. What exactly does this mod do? Add new subs?

Anyways, it works now! Thank you all for the help you have given!

Last edited by Dowasnas; 02-28-21 at 01:25 PM.
Dowasnas is offline   Reply With Quote


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -5. The time now is 09:23 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
Copyright © 1995- 2023 Subsim®
"Subsim" is a registered trademark, all rights reserved.