IIDX Install Guide for Windows 10 & 11 (Discontinued)

This guide is no longer maintained due to loss of interest.

I recommend checking out the guide here that's currently active: https://two-torial.xyz/
You can find links of data in 1CC here.

As always, thank you for following this Rentry guide. Feel free to fork this guide if you wish to do so.


Table of Contents


Introduction

First time on installing IIDX? Please get started by following IIDX RESIDENT guide here, then you can proceed to upgrading the game to EPOLIS.

Remember to check FAQ and Troubleshooting sections in this guide if you encounter any issues or want to learn more about IIDX.


IIDX 31 EPOLIS (LDJ-2023101800)

IIDX 31 EPOLIS

  1. Make a backup copy of your IIDX RESIDENT folder.
  2. Install the update from LDJ-2023090500-2023101800.7z into your game folder, overwriting existing files.
  3. To install Omnimix with ifs_layeredfs:

ifs_layeredifs allows you to install modded files into data_mods folder and use them in-game, so mods don't have to be installed directly into the game folder. This helps keeping your vanilla game folder and mods (which in this case, an Omnimix) separated and intact.

If you aren't familiar with Omnimix, It's a music pack that restores songs removed in IIDX.

Download link: ifs_layeredifs

  1. First, go to ifs_layeredfs zip file and extract data_mods folder into your game directory.
  2. Go to 64bit folder and extract ifs_hook.dll into your modules folder.
  3. Go to automatic_injector_dlls folder and extract d3d9.dll into your game directory.
  4. Create a new folder named Omnimix in data_mods directory.
  5. Go to Epolis_omni_20231018_v1.7z and extract the contents of data folder into an Omnimix folder you just created.

To uninstall Omnimix in case you don't want it anymore, simply delete the Omnimix folder.

  1. Make sure you have latest versions of spice2x and Asphyxia Core installed in your game folder. The folder structure should look like this:
  • IIDX 31 EPOLIS
    • api
    • data
    • dev
    • modules
    • plugins
    • prop
    • src
    • asphyxia-core-x64.exe
    • spice64.exe
    • spicecfg.exe
  1. Extract the iidx@asphyxia folder from iidx-asphyxia-v1.4.4_a4.zip to a plugins folder.
  2. Disable read-only on the game folder to avoid getting permission issues.
  3. In Sound control panel on Windows, ensure your default speaker supports 16bit, 48000hz or 96000hz. Make sure the options "Allow applications to take exclusive control of this device" and "Give exclusive mode applications priority" are enabled.

In EPOLIS, using the 44100 Hz causes the game to go desync and will sound crackling. Older games don't have this issue with 44100 Hz however.

  1. In the NVIDIA control panel, select your spice64.exe from EPOLIS folder and apply the following 3D settings to avoid audio desync:
    - Monitor Technology: Fixed Refresh (not G-SYNC) (it's recommended that you disable G-Sync/Freesync globally)
    - Power management mode: Prefer maximum performance (not Normal or power saving)
    - Preferred refresh rate: Application-controlled (and not highest available)
    - Max Frame Rate: Off (it is not recommended that you manually set a maximum FPS)
    - Vertical sync: Use the 3D application setting (not forced on or forced off)
    - Other "low latency" settings: Use default, it is not recommended to enable these.
    - Other settings: Use NVIDIA recommended default.
  2. Apply patches to your bm2dx.dll here.

Apply desired hex changes in bm2dx.dll here:

Omnimix

  • 7947B6: 7F 19 → 90 90
  • B5CEE3: 64 61 74 61 → 6F 6D 6E 69
  • AB2697: 61 → 6F

AVX2 Patch (fixes crash on mode select, but disables videos. Only apply if your CPU doesn't support AVX2)

  • 3FF350: 48 → C3
  1. You now got EPOLIS ready to be launched!

IIDX 30 RESIDENT (LDJ-2023090500)

IIDX 30 RESIDENT

To get started, you'll need to download the following files:

It's recommended to use JDownloader for downloading stuff.

Filenames Downloads
Spice2x Github
Asphyxia Core Github
IIDX Plugin Mega
Visual C++ Pack vcredist
DirectX Runtime Microsoft

Notes about installation

See minimum required specs here. iGPU will not work for IIDX due to constant frame drops, please use a dedicated NVIDIA GPU.

Make sure you're on latest version of Windows 10 or 11 with updated drivers.

This guide will use spice2x, which will be needed to launch IIDX. This guide will also help you set up Asphyxia for hosting your local in-game server with the proper IIDX plugin.

Installation

  1. First, install Visual C++ Redistributables from vcredist, and DirectX from Microsoft website.
  2. Extract the LDJ-2023090500.7z, then go to Asphyxia & spice2x zip files and extract respective files into a game directory. The folder structure should look like this:
  • IIDX 30 RESIDENT
    • api
    • data
    • dev
    • modules
    • plugins
    • prop
    • src
    • asphyxia-core-x64.exe
    • spice64.exe
    • spicecfg.exe
  1. Extract the iidx@asphyxia folder from iidx-asphyxia-v1.4.4_a4.zip to a plugins folder.
  2. Disable read-only on the game folder to avoid getting permission issues.

Tweaks

  1. To tweak speaker settings for minimizing audio crashes on game startup, please open up the Sound Control Panel on Windows, go to Playback tab, right-click on your default speaker and click Properties. From there, go to Advanced tab, then enable "Allow applications to take exclusive control of this device" and "Give exclusive mode applications priority" options. Ensure the speaker supports 16bit 44100hz.
  2. To avoid the music syncing problem, open up the NVIDIA control panel and do the following:
    1. In the “Adjust Image Settings with Preview” page, enable “Use the advanced 3D image settings” option.
    2. Click on “Take me there."
    3. In the “Manage 3D Settings” page, click on the Program Settings tab.
    4. Select your spice64.exe
    5. Apply the following recommended settings:
      • Monitor Technology: Fixed Refresh (not G-SYNC) (it's recommended that you disable G-Sync/Freesync globally)
      • Power management mode: Prefer maximum performance (not Normal or power saving)
      • Preferred refresh rate: Application-controlled (and not highest available)
      • Max Frame Rate: Off (it is not recommended that you manually set a maximum FPS)
      • Vertical sync: Use the 3D application setting (not forced on or forced off)
      • Other "low latency" settings: Use default, it is not recommended to enable these.
      • Other settings: Use NVIDIA recommended default.
    6. Hit apply button.
  1. To get extra game features, head over to the patcher here and select your bm2dx.dll in modules folder (be sure to make a backup copy first). Here are the following recommended options for you to enable:
    • Standard/Menu & Premium Free Timer Freeze (freezes the song selection's timer.)
    • Cursor Lock (after finishing the song, the song selection screen will take you to that last played song instead of the end of a folder every time.)
    • Unlock All Songs and Charts (optional)
    • CS-style Song Start Delay
    • Skip CAMERA DEVICE ERROR Prompt (you can also disable camera device in spicecfg.)
    • Force Max V-Discs (optional)
    • Enable 1P & 2P Premium Free
    • Enable BPL BATTLE
    • Quick Retry (hold both EFFECT & VEFX buttons to restart the song.)
    • Disable Volume Change (by default, your volume gets automatically changed to 100% upon launching spice. This option fixes that issue.)

Spicecfg settings

  1. Open spicecfg.exe and bind the following buttons:
    • Test
    • P1 button 1-7 (or bind P2 buttons if you wanna play on the Player 2 right-side.)
    • Start
    • Effect
    • Vefx
    • Keypads
    • Insert card
    • (Bind the rest of controls to your liking.)
  2. For the turntable on your IIDX controller, put the controller in HID light mode, go to the Analogs tab, and bind the turntable.

For PS2 KOC and keyboard, they only have digital input, so you bind TT+ and TT- buttons instead.

  1. Go to the Cards tab and click the Generate button on either P1 or P2 side. This will create card0.txt (or card1.txt for P2) in your game folder, as that card will be used for logging in the profile in your Asphyxia server.
  2. Go to the Options tab and set those two parameters:
    • EA Service URL = http://localhost:8083 (This will be set as your Asphyxia network URL to connect with.)
    • IIDX Disable Cameras = Enabled (To avoid encountering camera error on game startup.)

Game setup

  1. Open asphyxia-core-win-x64.exe for starting up your local server, then spice64.exe to launch the game.

Asphyxia can even run offline. You may get a bad network check upon game startup, but just ignore that error and you'll still be able to sign in your profile without an internet connection.

  1. Wait for a bit, then press the Test button to initialize the backup data when you came across the "Backup data is not found" error message. Press the Test button again when you came across the Clock error. Wait until the monitor check is complete, and you should be taken to the service menu.

Service menu controls: P1/P2 button 1 & 2 to navigate down and up, P1/P2 button 6 to select.

  1. Go to Network Option, configure the shop name setting to whatever name you desire and test the network.

If it doesn't connect to Asphyxia, see fixes for Network error here.

  1. Go to Sound Option and test the game audio.

If you don't hear any audio, see fixes for Audio issues here.

  1. Go to Clock, and select save & exit to set a time.
  2. Tweak the rest of settings to your own liking.
  3. When you're done, select the Game Mode in the service menu, which should take you to the game.
  4. Press the Keypad Insert Card button to load up account creation, and use the numpad to create new pin code.
  5. You can go back to the service menu at any time by pressing the Test button, and enjoy playing IIDX RESIDENT :)

If you made it here, congrats! You are now ready to proceed to upgrading RESIDENT to EPOLIS here.


FAQ

What are helpful resources for playing IIDX?
How to get 120 FPS? (Only for 120hz+ monitor)

Enable the following options in the patcher:

  • Force Custom Timing and Adapter Mode in LDJ.
  • 120 FPS in all section (also includes in Skip Monitor Check FPS section if enabled.)
  • Skip Monitor Check (optional, but not recommended enabling it unless the game runs at stable 120 FPS.)
How to customize note skins, lane cover, etc.

Go to http://localhost:8083/ after you open up asphyxia-core-x64.exe.
Click on IIDX under plugins on the sidebar > Profiles > Details > Settings > Tweak options to your liking > Hit Submit.

A preview list of notes, lane cover, and more can be found on IIDX.org, rgbmew and qpro preview.

In EPOLIS on TDJ mode, you can customize your gameplay look on the subscreen without having to go to Asphyxia settings.

What are available patchers for patching bm2dx.dll?
What's the difference between TDJ and LDJ?

TDJ mode has 120 FPS support and a secondary screen for accessing additional features like a search bar for songs, playlist, etc. This mode is used in the Lightning model and can be enabled in spicecfg. Note that you have to use Numpad on the subscreen instead of your keyboard.

LDJ mode has 60 FPS support, but no secondary screen. This mode is used in older IIDX model and your game will be set to this default mode if this is your first time installing IIDX.

If you wish to get 120 or 60 FPS on either mode, patcher has options for that.

How to launch a game in TDJ mode?

Do the following for enabling TDJ:

  1. Enable TDJ mode in spicecfg (latest version)
  2. Don't disable the subscreen and don't enable the single monitor mode in spicecfg & patcher.
  3. Enable Bypass Lightning Monitor Error, Lightning Mode Camera Crash Fix, and Force TDJ mode in the patcher (not all options are available depending on what IIDX version you have installed, just enable as much as you can.)

Launching subscreen in three ways:

  • To activate the subscreen window on a main screen, press the Toggle Subscreen button (can be bound in spicecfg), and use your mouse to interact on the subscreen. Only one monitor needed.
  • To use a secondary monitor as a subscreen, the monitor has to support at least 1280x720@60hz and have touchscreen support.
    • If your secondary monitor's resolution doesn't match the above requirement, you can fix this by enabling GPU resolution scaling for that monitor in the NVIDIA control panel or other similar program. Recommended to only have 2 monitors turned on at a time.
  • Use the SpiceCompanion app on Android or IOS to hook up subscreen display on a tablet. To set up that app, do the following steps:
    1. Open spicecfg and go to options tab, set an API port and optionally a password.
    2. Open the spicecompanion app and enter your computer’s IPv4 address (which can be found by entering ipconfig in a command prompt) & port you set in spicecfg.
How to transfer a profile from the older IIDX to a newer one?

Move both savedata folder and card0.txt from the older IIDX to a newer one.

How to update IIDX?

To update the game to latest version, here's an example of how you upgrade the game's version in the following steps:

  1. Apply 20221025 update on top of 20221019 and overwrite all files, it will then upgrade the game's version to 20221025.
  2. Apply 20221031 update on top of 20221025 and overwrite all files, it will then upgrade the game's version to 20221031.
  3. And so on…

Each update version typically contains new songs, features and bugfixes. If you upgrade 20221019 to 20221031 without installing 20221025 update, you won't get contents from the update you skipped over and also may break the game. You can check the version history in patcher for references.

Please backup your IIDX folder each time you're planning to upgrade the game in case something goes wrong.

Make sure that all DLLs are in the modules folder (create one if it doesn't exist) at your install directory.

How to manually change the version number in-game?

In the /prop/ea3-config.xml, change the version number to whichever version you have installed. Let's say It's 2023090500 for example, It should look like this:

<ext __type="str">2023090500</ext>
What are alternatives to IIDX?
My question/issue isn't listed here

Check out Emuline thread here.


Troubleshooting

Fix performance issues
Network error

Please check the following:

  • Use the latest versions of spice2x and Asphyxia.
  • Use the latest version of Asphyxia plugin that supports whichever IIDX version you have installed.
  • Ensure the game isn't blocked by a firewall.
  • Set http://localhost:8083 as your service URL for Asphyxia
  • Unticked the -ea option in spicecfg (that option is there if you just want to get past the network check, and play the game without scoresaving.)
I can only press 6 keys or less at a same time

This issue is called ghosting and It's a common problem among all office keyboards. What you want is a keyboard designed for anti-ghosting, as almost all mechanical keyboards will have this feature built-in.

Alternatively, you can use two office keyboards simultaneously to be able to press more than 6 keys.

No audio is captured when recording IIDX with OBS, Discord, etc.

Enable the WASAPI shared mode in patcher and set your audio device to 44100 Hz.

To get WASAPI shared mode working in EPOLIS, set your audio to 16bit, 48000hz or 96000hz.

IIDX doesn't capture my controller inputs

Check your bindings on spicecfg and ensure there aren't any controls marked as Device missing. If so, rebind them.

Audio issues
1
2
3
##### log.txt (audio crash) #####
W:audio::wasapi: WrappedIAudioClient::IsFormatSupported failed, hr=0x88890008
W:SuperstepSound: Audio device is not available!!!
  • Method One (WASAPI):
    • If you set the game to use exclusive audio (by default, the game uses exclusive audio), then ensure your audio device can support exclusive mode at 44100 Hz. Be sure to enable "Allow applications to take exclusive control of this device" and "Give exclusive mode applications priority" options on the advanced tab in a sound properties window.
    • If you've enabled WASAPI shared mode in patcher, set your audio device to 44100 Hz.
    • If 44100 Hz isn't available in your audio device, try connecting the USB DAC.
  • Method Two (ASIO):
    • If 44100 Hz isn't available in your audio device, or that you're using an older CPU that doesn't supports SSE 4.2 & have enabled the SSE 4.2 Fix option in the patcher, you can route the speaker through ASIO4ALL program, then make sure to set -iidxsounddevice option to asio and -iidxasio to ASIO4ALL in spicecfg.
      • Alternatively, you could use FlexASIO if you prefer more customizability than what ASIO4ALL has to offer, then simply set -iidxsounddevice to asio and -iidxasio to FlexASIO

See here for more info on audio modes.

To get WASAPI shared mode working in EPOLIS, set your audio to 16bit, 48000hz or 96000hz.

W:libutils: 'C:\LDJ\contents\libavs-win64.dll (or bm2dx.dll)' couldn't be loaded

This error in log.txt usually occurs if there are DLLs in the game folder or anywhere else that spice failed to find. It's recommended that all DLLs are inside the modules folder (create one if it doesn't exist) in your game directory.

You can specify the folder path with DLLs with -modules parameter from spicecfg:

  • -modules modules
  • -modules .\
W:mounttab: boot(/dev/nvram2,/dev/nvram) mount error(80070002)
1
2
3
4
5
6
7
##### log.txt #####
W:mounttab: boot(/dev/nvram2,/dev/nvram) mount error(80070002)
W:boot: logger: /dev/raw/log does not exist
W:boot: logger: cannot create /dev/raw/log
W:boot: logger: cannot create log file
W:avs-core: failed to create '/dev/raw' folder at 'D:/LDJ/contents/dev/raw': Filename too long
W:avs-core: failed to create '/dev/nvram2' folder at 'D:/LDJ/contents/dev/nvram': Filename too long

Edit \prop\avs-config.xml and remove these lines:

<vfs name="boot" fstype="fs" src="D:/LDJ/contents/dev/raw" dst="/dev/raw" opt="vf=1,posix=1"/>  
<vfs name="boot" fstype="fs" src="D:/LDJ/contents/dev/nvram" dst="/dev/nvram2" opt="vf=0,posix=1"/>

and replace with:

<vfs name="boot" fstype="fs" src="dev/raw" dst="/dev/raw" opt="vf=1,posix=1"/>
<vfs name="boot" fstype="fs" src="dev/nvram" dst="/dev/nvram" opt="vf=1,posix=1"/>

This allows the game to create both /dev/raw and /dev/nvram folders in the game directory, instead of trying to create them in a nonexistance folder location that were specified in avs-config.xml by mistake. Tested on RESIDENT.


More resources

Check out other Rentry guides here.

Edit
Pub: 28 Aug 2023 04:38 UTC
Edit: 05 Jan 2024 00:21 UTC
Views: 35723