Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(Test result) Terraria works with issues #44

Closed
kquote03 opened this issue May 11, 2021 · 5 comments
Closed

(Test result) Terraria works with issues #44

kquote03 opened this issue May 11, 2021 · 5 comments

Comments

@kquote03
Copy link

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

@shkhln
Copy link
Owner

shkhln commented May 11, 2021

running ~/.steam/steam/steamapps/common/Terraria/Terraria.bin.x86_64 manually.

Sound doesn't work.

Those are likely related issues.

@adriaandegroot
Copy link

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.

@shkhln
Copy link
Owner

shkhln commented May 16, 2021

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.

@shkhln
Copy link
Owner

shkhln commented Jul 2, 2021

Does setting SDL_AUDIODRIVER=alsa in the launch options work?

So?

@shkhln
Copy link
Owner

shkhln commented Jul 4, 2021

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*'.

@shkhln shkhln closed this as completed Jul 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants