You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Older games, such as The Elder Scrolls: Arena, rely on MIDI for their soundtrack. When playing these games through the Heroic Games Launcher Flatpak on Linux, there is currently no sound because the Flatpak environment lacks a MIDI synthesizer.
Feature description
I propose integrating TiMidity++ (a popular MIDI synthesizer) and a general MIDI soundfont (like FluidR3_GM) directly into the Heroic Games Launcher Flatpak. This would provide out-of-the-box MIDI audio for games that require it.
My initial approach was a local fix outside of Flatpak, which worked successfully.
Installed timidity++ and fluid-soundfont-gm via my system's package manager.
Configured /etc/timidity/timidity.cfg to use the FluidR3 soundfont.
Used a launch script to start timidity -iA & before launching the game via Heroic, which then had full MIDI sound.
I've been working on adding this functionality to the com.heroicgameslauncher.hgl.yml Flatpak manifest and have made significant progress. I'm hoping to complete this and contribute it, but I've hit a snag at the final step and would appreciate some guidance or a check if my overall direction is sound.
# --- MIDI Support (TiMidity++ with FluidR3_GM) ---
- name: timidity
buildsystem: autotools
config-opts:
- --enable-alsa
cleanup: ["*.la", "*.a", "/include", "/lib/pkgconfig", "/share/man", "/share/doc"]
sources:
- type: archive
url: https://sourceforge.net/projects/timidity/files/TiMidity++/TiMidity++-2.15.0/TiMidity++-2.15.0.tar.bz2
sha256: 161fc0395af16b51f7117ad007c3e434c825a308fa29ad44b626ee8f9bb1c8f5
- type: inline
dest-filename: custom-timidity.cfg
contents: |
dir /app/share/soundfonts
source /app/share/soundfonts/fluid3gm.cfg
opt EFresamp=d
opt EFvlpf=d
opt EFreverb=d
post-install:
- install -Dm644 custom-timidity.cfg ${FLATPAK_DEST}/etc/timidity.cfg
- name: fluidr3-soundfont # Or your chosen name
buildsystem: simple
build-commands:
- echo "Listing files in current directory (should include the tarball):"
- ls -la ./
- echo "Listing contents of fluid-soundfont.tar.gz:"
- tar -tf fluid-soundfont.tar.gz
- echo "Attempting to extract 'FluidR3 GM2-2.SF2'..."
- tar -xzf fluid-soundfont.tar.gz -C . "FluidR3 GM2-2.SF2"
- echo "Listing files after tar extraction attempt:"
- ls -la ./
- install -d ${FLATPAK_DEST}/share/soundfonts
- install -Dm644 "FluidR3 GM2-2.SF2" ${FLATPAK_DEST}/share/soundfonts/FluidR3_GM.sf2 # Installs AS FluidR3_GM.sf2
- echo "soundfont FluidR3_GM.sf2" > fluid3gm.cfg
- install -Dm644 fluid3gm.cfg ${FLATPAK_DEST}/share/soundfonts/fluid3gm.cfg
sources:
- type: file
url: https://ftp.osuosl.org/pub/musescore/soundfont/fluid-soundfont.tar.gz
sha256: c815769e44d86f1507b946a6c48c997c7f650699aea1ec4b11ba66e3415c26b9
The Flatpak build now completes successfully with these modules. The Current Roadblock: When I try to run TiMidity++ inside the Flatpak sandbox to test:
/app/share/timidity/timidity.cfg: No such file or directory
Interface `A' is not compiled in.
Couldn't open output device
Alternatives
No response
Additional information
My Request: I'm keen to get this working and contribute it, as I believe it would be a valuable addition for users wanting to play these classic games.
Could anyone offer insights into why TiMidity++ might still report "Interface A is not compiled in" despite the --enable-alsaseq flag? Are there any other dependencies (e.g., ALSA development libraries from the SDK) or configure options I might be missing for the Flatpak SDK environment?
Any ideas on the persistent /app/share/timidity/timidity.cfg error, even when using -c?
Is this overall approach of bundling TiMidity++ and a soundfont the right direction for solving MIDI in the Heroic Flatpak?
Any help or pointers would be greatly appreciated! I'm happy to provide more details or try further suggestions.
The text was updated successfully, but these errors were encountered:
Yes, I'd be happy to open a PR on the flathub/com.heroicgameslauncher.hgl repository. I'll get my local setup for that specific repo sorted and aim to submit the PR soon.
I'll do a description and the current status, including the "Interface A is not compiled in" issue I'm still trying to resolve with TiMidity++ within the Flatpak environment.
Problem description
Older games, such as The Elder Scrolls: Arena, rely on MIDI for their soundtrack. When playing these games through the Heroic Games Launcher Flatpak on Linux, there is currently no sound because the Flatpak environment lacks a MIDI synthesizer.
Feature description
I propose integrating TiMidity++ (a popular MIDI synthesizer) and a general MIDI soundfont (like FluidR3_GM) directly into the Heroic Games Launcher Flatpak. This would provide out-of-the-box MIDI audio for games that require it.
My initial approach was a local fix outside of Flatpak, which worked successfully.
I've been working on adding this functionality to the com.heroicgameslauncher.hgl.yml Flatpak manifest and have made significant progress. I'm hoping to complete this and contribute it, but I've hit a snag at the final step and would appreciate some guidance or a check if my overall direction is sound.
The Flatpak build now completes successfully with these modules.
The Current Roadblock: When I try to run TiMidity++ inside the Flatpak sandbox to test:
I get the following output:
Alternatives
No response
Additional information
My Request: I'm keen to get this working and contribute it, as I believe it would be a valuable addition for users wanting to play these classic games.
Could anyone offer insights into why TiMidity++ might still report "Interface A is not compiled in" despite the --enable-alsaseq flag? Are there any other dependencies (e.g., ALSA development libraries from the SDK) or configure options I might be missing for the Flatpak SDK environment?
Any ideas on the persistent /app/share/timidity/timidity.cfg error, even when using -c?
Is this overall approach of bundling TiMidity++ and a soundfont the right direction for solving MIDI in the Heroic Flatpak?
Any help or pointers would be greatly appreciated! I'm happy to provide more details or try further suggestions.
The text was updated successfully, but these errors were encountered: