Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
[Linux/Proton] GTA:SA Widescreen Fix Crashes Game
Yaumeister Sep 1, 2018
While running the default game seems fine on Steam Play, trying to do the same with the "downgrade" that seems essential crashes to desktop.

The closest I got was using the "Reborn" version as documented here, since this just needs to overwrite files as opposed to running other EXE patches:
https://steamcommunity.com/sharedfiles/filedetails/?id=720460154

However the "widescreen fix" is the problem, and the key is the vorbisFile.dll, the default is a mere 65k in size, and the one included in the fix is 1.2MB.

If anyone figures out how to overcome this, please do share.

The Proton log detailing the error:
Unhandled exception: page fault on write access to 0x00225024 in 32-bit code (0x004692d0).
1895.281:003b:003c:err:dbghelp_msc:codeview_process_info Unknown CODEVIEW signature 088d8601 in module L"gta-sa"
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:004692d0 ESP:0177fc6c EBP:0177fd00 EFLAGS:00010293(  R- --  I S -A- -C)
 EAX:00225034 EBX:00000000 ECX:00000000 EDX:ffffffff
 ESI:ffffffff EDI:00a44a30
Stack dump:
0x0177fc6c:  00000001 00863b10 00000000 ffe1e1e1
0x0177fc7c:  80808080 ffffffff 00000000 00000000
0x0177fc8c:  00000000 005ba345 00863a6c 0086a534
0x0177fc9c:  00000000 00000000 00000000 00000000
0x0177fcac:  00000000 00000000 00000000 00000000
0x0177fcbc:  00000000 00000000 00000000 00000000
Backtrace:
=>0 0x004692d0 in gta-sa (+0x692d0) (0x0177fd00)
  1 0x00748d00 in gta-sa (+0x348cff) (0x7eba13e0)
  2 0xfff0e483 (0x04244c8d)
  3 0xff1c35f7 (0xdeffffff)
0x004692d0: movb %bl,0xfffffff0(%eax)
Modules:
Module Address Debug info Name (156 modules)
PE   230000-  260000 Deferred        eax
PE   3d0000-  3d9000 Deferred        ogg
PE   3e0000-  3e6000 Deferred        fix.black_roads.asi
PE   3f0000-  3f7000 Deferred        skygrad.asi
PE   400000- 1577000 Export          gta-sa
PE  1aa0000- 1ba8000 Deferred        vorbis
PE  20e0000- 2133000 Deferred        gtasa.widescreenfix.asi
PE  2560000- 25c3000 Deferred        iii.vc.sa.limitadjuster.asi
PE  26f0000- 2704000 Deferred        ped_spec.asi
PE  2710000- 290f000 Deferred        d3dx9_43
PE  2b10000- 2b34000 Deferred        wshps.asi
PE 10000000-10132000 Deferred        vorbisfile
ELF 78aa6000-7a800000 Deferred        libnvidia-glcore.so.396.54
ELF 7a800000-7a93d000 Deferred        opengl32<elf>
  \-PE 7a820000-7a93d000 \               opengl32
ELF 7b400000-7b7ea000 Deferred        kernel32<elf>
  \-PE 7b410000-7b7ea000 \               kernel32
ELF 7b860000-7b88a000 Deferred        libpng12.so.0
ELF 7b88a000-7b8a0000 Deferred        midimap<elf>
  \-PE 7b890000-7b8a0000 \               midimap
ELF 7b8a0000-7b8b9000 Deferred        msacm32<elf>
  \-PE 7b8b0000-7b8b9000 \               msacm32
ELF 7b8b9000-7b9dc000 Deferred        libasound.so.2
ELF 7b9dc000-7ba0e000 Deferred        winealsa<elf>
  \-PE 7b9e0000-7ba0e000 \               winealsa
ELF 7ba0e000-7bb00000 Deferred        quartz<elf>
  \-PE 7ba20000-7bb00000 \               quartz
ELF 7bc00000-7bd0f000 Deferred        ntdll<elf>
  \-PE 7bc10000-7bd0f000 \               ntdll
ELF 7bd1d000-7bd44000 Deferred        devenum<elf>
  \-PE 7bd20000-7bd44000 \               devenum
ELF 7bd44000-7bd6f000 Deferred        msvfw32<elf>
  \-PE 7bd50000-7bd6f000 \               msvfw32
ELF 7c000000-7c004000 Deferred        <wine-loader>
ELF 7c0ca000-7c200000 Deferred        comctl32<elf>
  \-PE 7c0d0000-7c200000 \               comctl32
ELF 7c40b000-7c420000 Deferred        avicap32<elf>
  \-PE 7c410000-7c420000 \               avicap32
ELF 7c440000-7c485000 Deferred        usp10<elf>
  \-PE 7c450000-7c485000 \               usp10
ELF 7c485000-7c49d000 Deferred        libgpg-error.so.0
ELF 7c49d000-7c529000 Deferred        libvorbisenc.so.2
ELF 7c529000-7c554000 Deferred        libvorbis.so.0
ELF 7c554000-7c5b3000 Deferred        libflac.so.8
ELF 7c5b3000-7c694000 Deferred        libgcrypt.so.20
ELF 7c694000-7c723000 Deferred        libsndfile.so.1
ELF 7c723000-7c7b3000 Deferred        libsystemd.so.0
ELF 7c7b3000-7c7fd000 Deferred        libdbus-1.so.3
ELF 7c7fd000-7c88a000 Deferred        libpulsecommon-11.1.so
ELF 7cd03000-7cd1b000 Deferred        libresolv.so.2
ELF 7cd1b000-7cd31000 Deferred        liblz4.so.1
ELF 7cd31000-7cd8b000 Deferred        libpulse.so.0
ELF 7cded000-7ce13000 Deferred        wmvcore<elf>
  \-PE 7cdf0000-7ce13000 \               wmvcore
ELF 7ce93000-7cfb7000 Deferred        libsdl2-2.0.so.0
ELF 7cfb7000-7cfe3000 Deferred        liblzma.so.5
ELF 7cfe3000-7d00c000 Deferred        winepulse<elf>
  \-PE 7cff0000-7d00c000 \               winepulse
ELF 7d00c000-7d13c000 Deferred        oleaut32<elf>
  \-PE 7d020000-7d13c000 \               oleaut32
ELF 7d4ee000-7d4f7000 Deferred        libogg.so.0
ELF 7d4f7000-7d4fe000 Deferred        libasyncns.so.0
ELF 7d4fe000-7d509000 Deferred        libwrap.so.0
ELF 7d61a000-7d62a000 Deferred        libudev.so.0
ELF 7d62a000-7d67d000 Deferred        dinput<elf>
  \-PE 7d630000-7d67d000 \               dinput
ELF 7d700000-7d737000 Deferred        uxtheme<elf>
  \-PE 7d710000-7d737000 \               uxtheme
ELF 7d737000-7d753000 Deferred        dinput8<elf>
  \-PE 7d740000-7d753000 \               dinput8
ELF 7d77b000-7d79e000 Deferred        mmdevapi<elf>
  \-PE 7d780000-7d79e000 \               mmdevapi
ELF 7d79e000-7d7e9000 Deferred        dsound<elf>
  \-PE 7d7a0000-7d7e9000 \               dsound
ELF 7d97e000-7da98000 Deferred        libglx_nvidia.so.0
ELF 7dab8000-7db2d000 Deferred        ddraw<elf>
  \-PE 7dac0000-7db2d000 \               ddraw
ELF 7db2d000-7dc48000 Deferred        msvcp100<elf>
  \-PE 7db70000-7dc48000 \               msvcp100
ELF 7dc48000-7dd00000 Deferred        msvcrt<elf>
  \-PE 7dc60000-7dd00000 \               msvcrt
ELF 7de04000-7de09000 Deferred        libnvidia-tls.so.396.54
ELF 7de29000-7de3d000 Deferred        api-ms-win-core-sysinfo-l1-2-1<elf>
ELF 7de3d000-7df18000 Deferred        msvcr100<elf>
  \-PE 7de60000-7df18000 \               msvcr100
ELF 7df18000-7df2c000 Deferred        api-ms-win-core-localization-l1-2-1<elf>
  \-PE 7df20000-7df2c000 \               api-ms-win-core-localization-l1-2-1
ELF 7df2c000-7df40000 Deferred        api-ms-win-core-fibers-l1-1-1<elf>
  \-PE 7df30000-7df40000 \               api-ms-win-core-fibers-l1-1-1
ELF 7df40000-7df54000 Deferred        api-ms-win-core-synch-l1-2-0<elf>
  \-PE 7df50000-7df54000 \               api-ms-win-core-synch-l1-2-0
ELF 7df56000-7df5d000 Deferred        libxfixes.so.3
ELF 7df5d000-7df69000 Deferred        libxcursor.so.1
ELF 7df69000-7df75000 Deferred        libxrender.so.1
ELF 7df75000-7df88000 Deferred        libxi.so.6
ELF 7df88000-7df8c000 Deferred        libxcomposite.so.1
ELF 7df8c000-7df93000 Deferred        libxxf86vm.so.1
ELF 7df93000-7df97000 Deferred        libxinerama.so.1
ELF 7df97000-7dfac000 Deferred        libxext.so.6
ELF 7dfac000-7e03f000 Deferred        winex11<elf>
  \-PE 7dfc0000-7e03f000 \               winex11
ELF 7e03f000-7e063000 Deferred        imm32<elf>
  \-PE 7e050000-7e063000 \               imm32
ELF 7e0e2000-7e114000 Deferred        libexpat.so.1
ELF 7e114000-7e15f000 Deferred        libfontconfig.so.1
ELF 7e15f000-7e17e000 Deferred        libz.so.1
ELF 7e17e000-7e1b8000 Deferred        libpng16.so.16
ELF 7e1b8000-7e275000 Deferred        libfreetype.so.6
ELF 7e275000-7e2ae000 Deferred        ws2_32<elf>
  \-PE 7e280000-7e2ae000 \               ws2_32
ELF 7e2ae000-7e3f6000 Deferred        wined3d<elf>
  \-PE 7e2c0000-7e3f6000 \               wined3d
ELF 7e3f6000-7e437000 Deferred        d3d9<elf>
  \-PE 7e400000-7e437000 \               d3d9
ELF 7e437000-7e4ac000 Deferred        shlwapi<elf>
  \-PE 7e440000-7e4ac000 \               shlwapi
ELF 7e4ac000-7e74c000 Deferred        shell32<elf>
  \-PE 7e4c0000-7e74c000 \               shell32
ELF 7e74c000-7e777000 Deferred        msacm32<elf>
  \-PE 7e750000-7e777000 \               msacm32
ELF 7e777000-7e7f7000 Deferred        rpcrt4<elf>
  \-PE 7e780000-7e7f7000 \               rpcrt4
ELF 7e7f7000-7e94e000 Deferred        ole32<elf>
  \-PE 7e810000-7e94e000 \               ole32
ELF 7e94e000-7e968000 Deferred        version<elf>
  \-PE 7e950000-7e968000 \               version
ELF 7e968000-7e9e0000 Deferred        advapi32<elf>
  \-PE 7e980000-7e9e0000 \               advapi32
ELF 7e9e0000-7eb0d000 Deferred        gdi32<elf>
  \-PE 7e9f0000-7eb0d000 \               gdi32
ELF 7eb0d000-7ed0b000 Deferred        user32<elf>
  \-PE 7eb20000-7ed0b000 \               user32
ELF 7ed0b000-7edc3000 Deferred        winmm<elf>
  \-PE 7ed10000-7edc3000 \               winmm
ELF 7efc3000-7efd7000 Deferred        libnss_files.so.2
ELF 7efd7000-7eff2000 Deferred        libnsl.so.1
ELF 7eff2000-7f000000 Deferred        libnss_nis.so.2
ELF f61b4000-f61be000 Deferred        libnss_compat.so.2
ELF f769a000-f76b5000 Deferred        libbsd.so.0
ELF f76b5000-f76bc000 Deferred        libxdmcp.so.6
ELF f76be000-f76c2000 Deferred        libxau.so.6
ELF f76c2000-f76ee000 Deferred        libxcb.so.1
ELF f76ee000-f7838000 Deferred        libx11.so.6
ELF f7838000-f7856000 Deferred        libgcc_s.so.1
ELF f7856000-f78b5000 Deferred        libgldispatch.so.0
ELF f78b5000-f78d8000 Deferred        libglx.so.0
ELF f78d8000-f79da000 Deferred        libm.so.6
ELF f7b60000-f7b65000 Deferred        libdl.so.2
ELF f7b65000-f7b6f000 Deferred        librt.so.1
ELF f7b71000-f7bd2000 Deferred        libgl.so.1
ELF f7bd2000-f7dae000 Deferred        libc.so.6
ELF f7dae000-f7dcd000 Deferred        libpthread.so.0
ELF f7dcd000-f7f84000 Dwarf           libwine.so.1
ELF f7f84000-f7fc0000 Deferred        gameoverlayrenderer.so
ELF f7fc2000-f7fea000 Deferred        ld-linux.so.2
ELF f7fed000-f7fef000 Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
0000000c services.exe
00000022    0
0000001f    0
0000001a    0
00000016    0
00000011    0
0000000e    0
0000000d    0
0000000f winedevice.exe
00000017    0
00000015    0
00000014    0
00000010    0
00000018 plugplay.exe
0000001c    0
0000001b    0
00000019    0
0000001d winedevice.exe
00000023    0
00000021    0
00000020    0
0000001e    0
00000024 (D) Z:\home\-username-\.steam\steam\steamapps\common\Grand Theft Auto San Andreas\gta-sa.exe
0000003a    0
00000039    0
00000038   15
00000037    0
00000036    0
00000035    0
00000034    0
00000033    0
00000030   15
0000002f    0
0000002d    0
00000025    0 <==
00000026 explorer.exe
0000002a    0
00000029    0
00000028    0
00000027    0
1895.305:003b:003c:trace:module:LdrGetDllHandle L"ntdll.dll" -> 0x7bc10000 (load path L"C:\\windows\\system32;C:\\Program Files (x86)\\Steam;C:\\windows\\system32;C:\\windows\\system;C:\\windows;.;")
1895.305:003b:003c:trace:module:LdrGetDllHandle L"ntdll.dll" -> 0x7bc10000 (load path L"C:\\windows\\system32;C:\\Program Files (x86)\\Steam;C:\\windows\\system32;C:\\windows\\system;C:\\windows;.;")
System information:
    Wine build: wine-3.7
    Platform: i386 (WOW64)
    Version: Windows 7
    Host system: Linux
    Host version: 4.15.0-33-generic
lucifertdark Sep 1, 2018
I've been using the file that comes with Silent's ASI loader 1.3, it's seems to effectively prevent the crash you're getting

https://www.gtagarage.com/mods/show.php?id=21709
Yaumeister Sep 2, 2018
Thanks for the pointer, unfortunately still crashing.

In the log the main error message is this:
Unhandled exception: page fault on write access to 0x00225004 in 32-bit code (0x004692d0).

Does this mean it's looking for the 32-bit wineprefix, but I don't think that is enabled in Proton?
lucifertdark Sep 2, 2018
If that was it my copy wouldn't work either, the only mod I have installed is the actual loader, nothing else & it just works with my native resolution 1920x1080.

edit: oops I just told a fib, I DO have something installed https://gtaforums.com/topic/669045-silentpatch/

it fixes the resolution & prevents some crashes, but you need Silent's ASI loader as well.
Yaumeister Sep 7, 2018
Thanks for the guidance, yes managed to get it working with just the ASI loader and Silent Patch!

Don't have much luck with some other key mods such as Skygfx, will have to do some testing and see what works/don't.
lucifertdark Sep 8, 2018
Quoting: YaumeisterThanks for the guidance, yes managed to get it working with just the ASI loader and Silent Patch!

Don't have much luck with some other key mods such as Skygfx, will have to do some testing and see what works/don't.
Glad to help. :D I tried the chaos mod myself & it did nothing, but at least we can play the game in it's original state for now. ;)
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.