How to properly set up Neko Project II Kai to play PC-98 games on Fedora
---date: Feb 02, 2026
tags:
- Fedora
- PC-98
- Gaming
language: English 中文
---
In search of the sound
Recently, I had a sudden urge to play PC-98 games, so I downloaded some from the great World Wide Web and followed people’s suggestion to use Neko Project II Kai in RetroArch. I started with the Steam version, which turned out to be missing all the cores; Then I tried the Flatpak version, which had the Neko Project II Kai core and could load the games I downloaded, but there was no sound no matter what I tried.
After messing with it for a while, I decided to compile the original Neko Project II Kai instead. I’d heard it was newer and had more fixes compared to the libretro (RetroArch) version. But even after compiling it, there was still no sound. The setup guide on the GitHub page was Ubuntu-only, so I had to do some trial and error to get it working on Fedora.
Eventually, I got it working properly:

I thought, ahh yes, time to write a quick article about audio setup for Neko Project II Kai, but as I started writing, it turned into a complete guide for setting up Neko Project II Kai on Fedora. So, well, here you go!
Installing Neko Project II Kai
Important: Don’t install the libretro version! Clone directly from this repository: https://github.com/AZO234/NP2kai
Install Dependencies
1 | sudo dnf group install "development-tools" |
Build the Emulator
Navigate to the NP2kai folder and build:
1 | mkdir build |
You can then either install it globally with sudo make install or run it directly from the build folder with ./xnp21kai
Setting Up BIOS Files
Before launching the emulator, create the configuration folder:
1 | mkdir -p ~/.config/xnp21kai |
Then download the required BIOS files from this repository folder and place them in ~/.config/xnp21kai.
MIDI Time
The repository has a MIDI setup guide, but it’s Ubuntu-focused and a bit confusing. After some research, I figured out the audio chain works like this:
1 | NP2kai → snd-virmidi → timidity++ → ALSA → PipeWire/wireplumber |
Let’s set it up step by step.
Setting Up TiMidity++
First, install the required packages:
1 | sudo dnf install timidity++ fluid-soundfont-gm pipewire-alsa |
Create the TiMidity++ configuration file at /etc/timidity++/timidity.cfg (create the directory if needed) and add this line:
1 | soundfont /usr/share/soundfonts/FluidR3_GM.sf2 |
Since Fedora doesn’t include a TiMidity++ service by default, you can create a systemd service by creating ~/.config/systemd/user/timidity.service:
1 | [Unit] |
and enable/start the service:
1 | systemctl --user enable --now timidity.service |
or just run it manually with
1 | timidity -iA -B2,8 -Os & |
Verify TiMidity++ is running by checking ALSA connections:
1 | aconnect -l |
You should see something like:
1 | client 128: 'TiMidity' [type=user,pid=90227] |
Plug it in
Now we’ll set up virtual MIDI devices and “plug it in” to TiMidity++.
Load the virtual MIDI kernel module (should already be available on Fedora):
1 | sudo modprobe snd-virmidi |
The virtual MIDI devices will appear as /dev/snd/midi****:
1 | $ ls -l /dev/snd/midi* |
Check all ALSA connections:
1 | aconnect -l |
You should see both the virtual MIDI devices and TiMidity++ ports:
1 | client 32: 'Virtual Raw MIDI 4-0' [type=kernel,card=4] |
Connect a virtual MIDI device to TiMidity++. For example, to connect /dev/snd/midiC4D0 (client 32:0) to TiMidity++ port 0 (client 128:0):
1 | aconnect 32:0 128:0 |
Final touches in Neko Project II Kai
Finally, configure MIDI in the emulator:
- Launch Neko Project II Kai
- Go to Device → MIDI option…
- Under the MPU-PC98II tab:
- In the Device frame, set MIDI-OUT to your ALSA MIDI device file (e.g.,
/dev/snd/midiC4D0) - In the Assign frame, select the MIDI-OUT device for the MIDI-OUT option
- In the Device frame, set MIDI-OUT to your ALSA MIDI device file (e.g.,
Now load your game, reset the emulator, and enjoy your PC-98 games with proper MIDI sound!
