Closed kquote03 closed 3 years ago
running
~/.steam/steam/steamapps/common/Terraria/Terraria.bin.x86_64
manually.Sound doesn't work.
Those are likely related issues.
Running from steam (with LD_PRELOAD=${LD_PRELOAD}:monofix.so %command%
as mentioned in the compatibility table gets me a crash
EXT_swap_control_tear unsupported. Fall back to standard VSync.
FNA3D Driver: OpenGL
OpenGL Renderer: AMD Radeon (TM) R7 300 Series (BONAIRE, DRM 3.35.0, 3.17.0, LLVM 7.0.1)
OpenGL Driver: 4.5 (Compatibility Profile) Mesa 18.3.4
OpenGL Vendor: X.Org
Stack overflow in unmanaged: IP: 0x802a8faa0, fault addr: 0x7ffffffdf000
MojoShader Profile: glsl120
EXT_swap_control_tear unsupported. Fall back to standard VSync.
EXT_swap_control_tear unsupported. Fall back to standard VSync.
Resolution changed to: 800x600.
INFO: OpenAudioDevice failed: Fragment size must be a power of two
Failed to create mastering voice!
mono_thread_internal_set_priority: pthread_setschedparam failed, error: "Operation not permitted" (1)
INFO: OpenAudioDevice failed: Fragment size must be a power of two
=================================================================
Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0x6ec4f2 - ./Terraria.bin.x86_64 : (null)
0x6ec7ec - ./Terraria.bin.x86_64 : (null)
0x6e84b9 - ./Terraria.bin.x86_64 : (null)
0x69d836 - ./Terraria.bin.x86_64 : (null)
0x83301a3d9 - /usr/home/steam/.steam/steam/steamapps/common/Terraria/lib64/libFAudio.so.0 : FAudioVoice_DestroyVoice
0x25a23f0 - Unknown
=================================================================
Telemetry Dumper:
=================================================================
Pkilling 0x806201700 from 0x800b8c840
Pkilling 0x83e264700 from 0x800b8c840
Pkilling 0x83f100700 from 0x800b8c840
Pkilling 0x832aa3700 from 0x800b8c840
Could not exec mono-hang-watchdog, expected on path '/usr/local/etc/../bin/mono-hang-watchdog' (errno 2)
Entering thread summarizer pause from 0x800b8c840
Finished thread summarizer pause from 0x800b8c840.
Waiting for dumping threads to resume
=================================================================
External Debugger Dump:
=================================================================
mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
=================================================================
Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x83301a3d9):0x83301a3c9 ff 66 0f 1f 44 00 00 55 53 48 89 fb 48 83 ec 08 .f..D..USH..H...
0x83301a3d9 48 8b 3f f6 87 e0 00 00 00 10 0f 85 3f 06 00 00 H.?.........?...
0x83301a3e9 48 89 df e8 8f e5 fe ff 8b 43 0c 85 c0 0f 84 ec H........C......
0x83301a3f9 04 00 00 83 f8 01 0f 84 cb 06 00 00 83 f8 02 0f ................
=================================================================
Managed Stacktrace:
=================================================================
at <unknown> <0xffffffff>
at FAudio:FAudioVoice_DestroyVoice <0x0008f>
at FAudioContext:Dispose <0x00073>
at Microsoft.Xna.Framework.SDL2_FNAPlatform:ProgramExit <0x0003f>
at <Module>:runtime_invoke_void__this___object_object <0x00098>
=================================================================
/usr/home/steam/.steam/steam/steamapps/common/Terraria/Terraria: line 22: 7129 Aborted ./${BASENAME}.bin.${ext} $@
Game removed: AppID 105600 "", ProcID 7129
Which points to .. sound, yeah. Running from the command-line mentions
No audio hardware found. Disabling all audio.
Does setting SDL_AUDIODRIVER=alsa
in the launch options work?
INFO: OpenAudioDevice failed: Fragment size must be a power of two Failed to create mastering voice!
That actually leads to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245533 and the corresponding FAudio / SDL issues.
Does setting
SDL_AUDIODRIVER=alsa
in the launch options work?
So?
Does setting
SDL_AUDIODRIVER=alsa
in the launch options work?
I'll answer this myself: FAudio calls SDL_GetNumAudioDevices, SDL_GetNumAudioDevices returns 0, FAudio bails out.
We are, however, dealing with an OSS specific crash here:
INFO: OpenAudioDevice failed: Fragment size must be a power of two Failed to create mastering voice!
That actually leads to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245533 and the corresponding FAudio / SDL issues.
The workaround for that bug was committed to FAudio relatively recently, so you need to update the library bundled with the game. Proton 6.3 has a sufficiently recent version: .../steamapps/common % tar -C Terraria/lib64 --strip-components 2 -tf Proton\ 6.3/proton_dist.tar 'lib64/libgst*' 'lib64/libFAudio*'
.
The compatibility page lists terraria as not working. It works by running
~/.steam/steam/steamapps/common/Terraria/Terraria.bin.x86_64
manually. Preloading mono wasn't necessary. Sound doesn't work.Tested on FBSD 13 with a GTX 1050Ti