Skip to content

Instantly share code, notes, and snippets.

@itsmattkc
Created June 11, 2019 18:44
Show Gist options
  • Save itsmattkc/bda39e4a962919b3722f866d51dbb3d7 to your computer and use it in GitHub Desktop.
Save itsmattkc/bda39e4a962919b3722f866d51dbb3d7 to your computer and use it in GitHub Desktop.
Fixing Kega Fusion on Linux

Kega Fusion has not been updated in quite some time, meaning for the timebeing it can have issues on newer Linux setups (it also is not open source meaning it cannot be recompiled).

Kega Fusion doesn't start

Its main issue is Fusion is only available in 32-bit. If you're using a 64-bit system, it's likely your system does not have the 32-bit libraries that Fusion requires.

A handful of automatic packages have been created to include most of these libraries, including the Arch AUR package and Ubuntu DEB package. If you have a distro that can't use these packages, you can use the dependency list provided by the AUR to acquire the same dependencies for your distro:

  • lib32-alsa-lib
  • lib32-glu
  • lib32-gtk2
  • lib32-libsm
  • lib32-mpg123

The important thing to remember here is you need the 32-bit versions of these libraries. The provided syntax lib32-* is how Arch differentiates 32-bit libraries. Ubuntu's apt uses *:i386. You may need to do research to determine how your distro/package manager does this.

Kega Fusion has no sound

Related to the above issue, Fusion is not fully equipped for newer Linux systems. Many modern Linux systems use PulseAudio as the audio system which Fusion appears to have no support for, expecting the slightly older ALSA. This problem is usually indicated by the "Disable Sound" option

We provide ALSA support with the earlier lib32-alsa-lib package, but if your system uses PulseAudio, you'll need these two packages too:

  • lib32-alsa-plugins
  • lib32-libpulse

As above, these are the package names for Arch. For other systems, you may need to find the equivalent names for these packages. These should install support in 32-bit ALSA for PulseAudio providing audio. You should be able to untick "Disable Sound" now.

Other Issues

Fusion is old and at this point seems basically unsupported. There are other issues I've had running it on Linux, including abnormally high CPU usage. Looking forward, I recommend checking out BlastEm, it's not only more accurate as a Genesis emulator, it's also more optimized for newer systems (uses way less CPU than Fusion on my Linux setup) and open source. It's only issue is lack of support for the Genesis addons (Sega CD/32X) but these appear to be in development as of this writing.

@SingingBush
Copy link

SingingBush commented Mar 24, 2024

I was having issues with Kega Fusion 3.63 on Fedora 39. I'd installed a bunch of 32-bit libs

sudo dnf install mesa-dri-drivers.i686 mesa-libGLU.i686 gtk2.i686 alsa-lib.i686 libSM.i686 mpg123-libs.i686 pulseaudio-libs.i686 alsa-plugins-pulseaudio.i686

and the binary would run fine but I just couldn't get audio working. I took a look at the ~/.Kega Fusion/Fusion.ini file and realised the path to libmpg123 was incorrect. So I fixed that along with these other settings:

ALSADeviceName=default
OSSDeviceName=/dev/dsp
UsingALSA=1
libmpg123path=/usr/lib/libmpg123.so.0
SoundDisabled=0

Once that was done audio started working as well. It's a shame Steve didn't continue to maintain Kega Fusion, it's a great emulator but could do with some updates to better support modern systems.

For completeness, here's the contents of a desktop launcher I added to ~/.local/share/applications/kega-fusion.desktop after moving the binary to /opt/kega-fusion-3.63/fusion

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Kega Fusion
Exec=/opt/kega-fusion-3.63/fusion
Comment=Sega emulator
Keywords=kega;sega;megadrive;
Categories=Game;Emulator

@GH-TheRaven-06835
Copy link

Ran into the same issue with Linux Mint
sudo apt install pipewire-alsa:i386

...fixed everything.
Just remember to re-enable audio in Kega the next time you start the emulator (uncheck Disable Audio box).
You'll get an "Audio Enabled" update in the lower left of the emu.

@CraigsBar
Copy link

sudo apt install pipewire-alsa:i386

Yep, this worked for me too. Such a shame this emulator is no longer supported, as a standalone emulator outside of retroarch it really is the best Genesis / 32X / MegaCD emulator available. GG, SMS and SG1000 are just bonuses

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment