Enabling MIDI Support for Legacy WINE Gaming

skrillex scay onster an nice sprites midi


February 8, 2025
Category: Tutorial


Introduction

You ever try playing a game that was made for Windows a good 20-30 years ago on Linux or your Steam Deck, only to find out that the music is completely missing?

Believe it or not, it's not a WINE deficiency. Most Linux desktops don't automatically have a MIDI emulation server running unlike Windows. Here's how to fix it!

Steam Deck and Bazzite specific instructions will be highlighted in green!

This guide also assumes that you're running your games through Steam!

Step 1: Acquire Qsynth

Firstly, we'll need to actually get a working MIDI server, Qsynth works the best. Fetch it from your package manager either by the GUI of your choice or by the command of your choice.

Arch Linux: sudo pacman -S qsynth
Ubuntu Linux: sudo apt-get install qsynth
Fedora Linux: sudo dnf install qsynth

Steam Deck / Bazzite: You can either execute flatpak install org.rncbc.qsynth or install it through Discover.


Step 2: Acquire the Windows GM Synth Soudnfont

Download this soundfont and place it in a spot you think is appropriate.

This is important to provide the server with actual instruments for it to play.

Step 3: Configuring Qsynth

Open Qsynth.


Head over to the Setup... menu towards the bottom left. Then head to Audio. Set the Audio Driver to pipewire. This ensures we are outputting to a sound server that's actually good.


Next, head to Soundfonts. Click on Open.


Locate the soundfont file you just downloaded to set it as the default instrument bank.


Exit the setup. Head over to the Options... menu that's located on the right.
Set Enable system tray icon and Start minimized to system tray.

You're now finished configuring QSynth.

Step 4: Configuring Steam

Open Steam. Locate your game inside of Steam. In my case it's a non-Steam shortcut but it also works with Steam games.


Using the Gear Icon open your game's properties menu.


In the launch options section, you want to set the following:
qsynth & %command% ; pkill -9 qsynth


Steam Deck / Bazzite: Since we're doing the Flatpak version of Qsynth we'll do this instead: flatpak run org.rncbc.qsynth & %command% ; pkill -9 qsynth


Step 5: that is it

You are done. Your game's music should now work correctly. play now for free vbuck