luxtorpeda-dev/packages

The Elder Scrolls Arena: No music with DOSBox-Staging

Closed this issue · 18 comments

Game

The Elder Scrolls Arena

Engine

DOSBox-Staging

Linux Distribution

Linux Mint 21.3

Luxtorpeda Version

v70.0.0

Bug description

When starting a game in Arena, either loaded or new, no MIDI music is played. Sound effects such as footsteps and sword slashes play, and the voice over for the opening with Ria Silmane play, but there is no music at any point during gameplay.

Steps To Reproduce

Launch game via DOSBox-Staging, default settings.

Expected Behavior

All audio, including MIDI music, should be emulated.

Additional Context

No response

Relevant log output

No response

Can you provide a log? The easiest way for this is to run steam in a terminal window and copy the output to a file or pastebin.

Of course, one moment. I'll start a fresh steam, log it to a txt file, start the game, load my test save, then quit it all.

steamlog.txt

Attached is the simple terminal log output, if you want something more in-depth I'll have to get that to you tomorrow after I get some sleep.

I had a little extra time and realized that log only gets stdout and not the error stream, here's the full terminal output with both
steamerror.txt

Looks like it's probably related to:

2024-05-24 23:49:59.522 | MIDI:ALSA: No available MIDI devices found
2024-05-24 23:49:59.522 | MIDI: Can't find device: 'auto', MIDI is not available

I'll see what I can find out.

For an update, it turned out that I didn't have timidity or fluid-soundfont-gm installed so i tried installing those but it doesn't appear to have had any change in the music, if you'd like I can try capturing the errors again for a freshly installed MIDI emulator to see if it makes a difference.

dosbox-staging and the other engines run inside the sniper runtime of steam, so your local packages don't make a difference. So it sounds like there's some package missing that dosbox-staging needs to play the music.

It's possible that the issue may be related to a soundfont not being found by dosbox-staging.

Can you try updating your dosbox config to have a path to a soundfont? like

[fluidsynth]
soundfont = ""

Tried adding

[fluidsynth]
soundfont = "/usr/share/sounds/sf2/FluidR3_GM.sf2"

to arena.conf with no change. Is there perhaps a different config I should've put it in?

Can you try copying it to the game directory and using an relative path to it? And I think that should work but not completely sure

Dropping it in the same directory as arena.conf and changing the link to "./FluidR3_GM.sf2" doesn't seem to make any change either. Is there a different directory I should be checking? This is in the steam/steamapps/common/The Elder Scrolls Arena/DOSBox-0.74 folder if it matters, I can't find any .conf files in the ARENA folder.

Edit: Got the path slightly wrong, fixed now

@gnollhide Can you provide a log of the attempt with adding that? Curious if that would help see if it's trying to use the soundfont or not. Thanks!

output.txt

Here's the terminal output when launching with FluidR3_GM.sf2 in the DOSBox folder.

arena.txt

Also attached is my arena.conf converted to .txt in case you wanna look it over to see if I've messed up something somewhere.

This part is kind of interesting:

2024-07-21 13:32:43.301 | CONFIG: Invalid 'mididevice' setting: 'default', using 'auto'

It would worth trying if you can to see if you can replicate this with a non lux compiled version of dosbox staging such as from their releases. If you can get it to happen there then creating a ticket in their repo would be great. As I don't know alot about how the configuration is supposed to be setup.

If they find a solution, I could then see if there's some way to automate that setup for the game so that people wouldn't have to do any manual setup in the future

Just wanted to pop back in here and say, I went digging in the steam discussion forums and I found a workaround. By setting the autoexec to the following, it emulates a sound blaster card and makes music work perfectly!

[autoexec]
@echo off
mount C: ..\ARENA
mount D: ..\ARENA -t cdrom
C:
SET ARENADATA=C:
D:
@ACD -Ssbdig.adv -IOS220 -IRQS7 -DMAS1 -Msbfm.adv -IOM220 -IRQM7 -DMAM1
exit

Nice glad you found something that worked, could you share a link to that discussion?

Nice! I'll see if there's a way to do this automatically for this game and dosbox, to lessen the amount of configuration needed.

Thanks for the details, I've added a step to do this automatically for the engine launch for dosbox-staging