Beatmania IIDX 30 Resident on Wine
The following guide was tested on wine-vanilla-7.22, wine-vanilla-8.0.1 and wine-proton-8.0.3c on Gentoo Linux.
The Guide
- Grab game data files, spice and asphyxia
- Patch your
bm2dx.dllwithWASAPI Shared Mode (with 44100Hz)(the default Exclusive Mode is not implemented in Wine yet) - Before playing we need to apply some fixes
- Make sure your user can issue pings, for example
ping 127.0.0.1.
Ifpingexits immediately or returnsoperation not permittedthen runsysctl net.ipv4.ping_group_range="0 2147483647"as root.
To persist between reboots add a linenet.ipv4.ping_group_range = 0 2147483647to/etc/sysctl.d/local.conf - Give
cap_net_rawcapability towineserverexecutable:setcap cap_net_raw+eip /path/to/your/winebin/wineserver dsdmo.dllfix- Grab 64bit
dsdmo.dllfrom a copy of Windows (C:\Windows\System32\dsdmo.dll, you can use someones PC or a virtual machine), or download it from here:
- Copy it to your wineprefix:
- Register the DLL
- Grab 64bit
- In
winecfgunderAudiotab check if selected driver iswinealsa.drv. If not, apply the following winetrick:
- Kill pulseaudio before running the game:
- Run
asphyxia-coreandspice64.exe
- Make sure your user can issue pings, for example
Once the game is working correctly you can patch your bm2dx.dll again for higher refresh rate and other fixes.
Room for improvements
Audio can experience slight crackling and distortion, it is adviced to close other programs, or even better run Wine straight from X without any window manager.
I've tested the alternative setup of running JACK on Linux host, WineASIO in Wine and configuring spice for ASIO output. The game runs and successfully connects to JACK, but produces no audio output. WineASIO works fine in other software such as foobar2000 and Reaper.