Initially when I booted up Last Scenario I thought I just need some codec to get it’s background music playing. That eventually lead me to learn of the need for sound fonts (which I’ve installed and even made the related ~/.fluidsynth file and pointed it to the font with an absolute path). I even rebooted the PC thereafter and still I get no background from Last Scenario. I even tried turning up the volume thinking that maybe it was just too quite after I tried the same midi files in the media player. I’m at my wits end trying to get the music to play.
If you’re playing The Elder Scrolls: Arena through the Heroic Games Launcher on Linux and have no sound, this is because the game uses MIDI for its soundtrack. Here’s how I solved this problem by setting up TiMidity++ as a MIDI synthesizer.
Step 1: Install TiMidity++ and SoundFont
First, install TiMidity++ and a good general MIDI soundfont:
sudo dnf install timidity++ fluid-soundfont-gm
For Manjaro - pamac install timidity++ soundfont-fluid
To configure your preferred SoundFont, add the following to /etc/timidity/timidity.cfg For Fluid:
soundfont /usr/share/soundfonts/FluidR3_GM.sf2
Step 3: Test TiMidity
Run TiMidity as a MIDI server and check connections:
timidity -iA
Then in another terminal:
aconnect -o
If everything is working correctly, you should see TiMidity listed as an available MIDI output.
Step 4: Create a Launch Script
nano ~/launch-arena.sh
The script:
#!/bin/bash
# Kill any existing timidity instances
killall timidity 2>/dev/null
# Start Timidity in the background
timidity -iA &
TIMIDITY_PID=$!
# Wait a moment for Timidity to initialize
sleep 2
# Launch the game through Heroic using the App ID
flatpak run com.heroicgameslauncher.hgl launch --app-id=1435828982
# Print instructions for the user
echo "========================================"
echo "Timidity is running in the background"
echo "Please click PLAY in the Heroic launcher"
echo "When you're done playing, come back to this terminal and press Ctrl+C"
echo "This will shut down Timidity properly"
echo "========================================"
# Wait for user to press Ctrl+C
trap "kill $TIMIDITY_PID 2>/dev/null; echo 'Timidity stopped.'; exit" INT
wait
Step 5: Make the Script Executable
chmod +x ~/launch-arena.sh
Step 6: Launch the Game
Run the script to start TiMidity and launch the game:
~/launch-arena.sh
This will open the Heroic Games Launcher with TiMidity running in the background. Navigate to The Elder Scrolls: Arena in the launcher and click Play. The game should now have full MIDI sound support!
Can't load uri https://dl.flathub.org/build-repo/191679/com.heroicgameslauncher.hgl.flatpakref: Server returned status 404
Edit: I’ve now tried the steps outline here and still no luck with the music. Just adding the link really so peops who find this thread later have an easier time