Skip to content

Known issues

sp2xdev edited this page May 4, 2024 · 152 revisions

General

  • Some anti-virus software may (incorrectly) flag the binaries as malware. If you have concerns, you are free to inspect the included source files and compile on your own.
  • Spice will always process keyboard / mouse / gamepad / touch input even if the game does not have focus, as it uses Windows raw input API to directly communicate with input devices.
  • Windows XP is not supported, due to MinGW dropping support for it. In theory, if you recompiled MinGW with the correct flags set for XP compatibility, and then built Spice on top of it, it would work. Alternatively, you can use the last version of original Spicetools, which is known to work on XP. Issue 109
  • Make sure the game contents are not marked as read-only on your filesystem. Having files with read only attribute can lead to game crashes or failures to launch. This commonly happens when a file-sharing program (like torrent clients) is open, or when copying files across filesystems or operating systems (Linux, Mac OS).

Configurator (spicecfg)

  • You may find yourself unable to type anything to the text boxes. If this happens, try the following:
    • Uncheck Disable Win/Media/Special Keys (-nolegacy) and restart application. Issue 162
    • Make sure you're using English keyboard input and not an IME.
    • If it still doesn't work, try resetting the settings (go to Advanced tab and press Reset Configuration button at the bottom, OR delete %appdata%\spicetools.xml) and try again.

Graphics

  • Almost all of the supported games are meant to run in exclusive full screen. Running in windowed mode is a hack done on per-game basis. Things may not work as expected in windowed mode. Namely:
    • Some multi-monitor games will fail to display more than one window.
    • For most touch screen games, touch coordinates may not be aligned.
    • Games may launch in incorrect refresh rate.
  • When in windowed mode, resizing the window also resizes the overlay, which may cause it to be difficult to use.
    • As a workaround, use ctrl+mouse wheel to use the zoom function of ImGUI.
    • Additionally, there is also no linear filtering that can be enabled in windowed mode.
    • It's unlikely that these issues will be solved in the future.
  • DirectX 9on12 options may result in better or worse performance. This is entirely up to your GPU.
    • Generally, NVIDIA handles games in DX9 mode fairly well, while AMD suffers from lower framerate, and other GPUs like Intel may flat out not support DX9. With 9on12 enabled, NVIDIA might actually perform slightly worse, while AMD will tend to be better than DX9.

Game-specific

Gitadora

  • Gitadora may seem like it's stuttering, notes not moving at a steady framerate - if you see this, turn off full screen optimizations for spice64.exe.

DDR

  • DDR is known to crash when you change window decoration (borderless window) - option has been disabled in the UI.

SDVX

  • On laptops - especially ones with hybrid iGPU+dGPU configuration - seem to have a lot of trouble correctly launching recent EG versions. This includes: window launching on the wrong monitor, failing to launch at correct resolution and/or refresh rate, or just failing to launch completely. The main issue seems to be that the game uses Windows and NVIDIA APIs to determine monitor state, but ends up with wrong information on hybrid GPU configurations. There is no fix or workaround at the moment, other than playing in windowed mode (YMMV), or just switching to a desktop PC. Issue 117
  • EG may launch at wrong refresh rate when using the auto-rotate option. If that happens, try specifying -graphics-force-refresh - and if that still doesn't work, try setting -sp2x-dx9on12 to DX12on9. Note that, depending on your GPU, 9on12 may result in poor performance - or maybe better performance, it depends.
  • For EG, running on AMD GPUs (to be precise, non-NVIDIA GPUs) will need a few workarounds, due to the game taking dependency on NVIDIA SDK:
    • You MUST have x64 versions of nvcuda.dll and nvcuvid.dll next to soundvoltex.dll. Originally, these are bundled with NVIDIA GPU drivers and installed automatically, but if you don't have NVIDIA, you can use the stub DLLs included in the release package, starting with version 2023-12-27 and up. Look in the /stubs/64 folder.
    • If you get graphical glitches, such as missing textures, enable DirectX 9 on 12 (-9on12) option, but performance may vary depending on your GPU.
    • For running in VM mode with AMD GPU, see below regarding notes scroll speed issue.
  • SDVX Force 720p (-sdvx720) does not work for EG. If you must, use windowed mode instead, and then use window resize function.
  • Some songs with heavy Live2D effects may result in lowered framerate. This is not a tools issue. Please see this wiki page for potential solutions.

VM mode specific

  • VM mode doesn't play nice with -monitor option. As a workaround, change the primary monitor before launching.
  • VM mode has odd quirks in windowed mode (-w). If you have one monitor connected, subscreen window will not show. If you have two monitors connected, the subscreen will show, and it can be interacted with using mouse / touch. Regardless, it's recommended that you stick to full screen for best performance.
  • VM mode may fail to launch if you have 3 or more monitors connected. Disconnect them so that you only have 1 or 2 connected, or use -graphics-force-single-adapter option.
  • VM mode may launch at 120Hz, but the notes scroll at 60Hz.
    • For NVIDIA GPUs, a fix is automatically applied starting with spice2x-2023-12-23. If you still run into issues, you can also try NVAPI Block (-sp2x-nonvapi) option, available in spice2x-2023-12-30, and apply the FPS hex edits as if you have an AMD GPU.
    • For AMD/Intel GPUs, you must apply Notes FPS Target hex edit in a patcher to match the refresh rate. Issue 107

Subscreen for VM

  • Note that a touch screen is not required to play VM mode, you can press Page Up (Toggle Sub Screen button) and use your mouse.
  • See this page for instructions on how to set up your touch screen.
  • If the secondary monitor doesn't refresh (if graphics seem "stuck"), enable -sp2x-sdvxsubredraw. Don't enable it if there are no issues.

IIDX

  • Camera hook does not work for IIDX 26 and above. Use -iidxdisablecams option or look into https://github.com/aixxe/2dxcamhook
  • Depending on the data you have, it may be forcing the usage of WASAPI, or ASIO, which means IIDX Sound Output Device -iidxsounddevice option may not have any effect. Use a web-based patcher to apply hex edits in order to convince the game what sound engine should be used.
    • In log.txt, spice will detect this and log the following message: This game does not accept SOUND_OUTPUT_DEVICE environment variable; it will be ignored. Make sure you applied appropriate patches to use the correct sound device (ASIO or WASAPI)
  • Depending on the type of DLL you have (003, 010, 012...) and the version of the DLL, you may not be able to freely switch between LDJ and TDJ modes just from spice. You will need to find a patcher to force LDJ mode, or TDJ mode, and in addition, enable the appropriate setting in spice.

TDJ specific

  • Note that a touch screen is not required to play TDJ mode, you can press Page Up (Toggle Sub Screen button) and use your mouse.
  • TDJ mode doesn't play nice with -monitor option. As a workaround, change the primary monitor before launching.
  • To play TDJ in windowed mode, use -sp2x-iidxtdjw, not -w. This allows the subscreen to work properly, but only in the overlay; the separate window that launches for the subscreen is not intractable (the game is programmed that way).
  • TDJ mode may fail to launch if you have 3 or more monitors connected. Disconnect them so that you only have 1 or 2 connected, or use -graphics-force-single-adapter option.
  • See this page for instructions on how to set up your touch screen.
  • Game shuts down immediately with no crashes in the log when TDJ is enabled - you might have the wrong DLL type.
  • Enabled TDJ but subscreen overlay is blank/transparent - you have the wrong DLL type and/or you forgot to apply patches to enable TDJ properly.

Beatstream

  • Beatstream uses native Windows Touch APIs, but makes a lot of assumption about how often touch events are sent. If your touch screen doesn't poll enough, it'll end up with holds not working in the game (instead it will be flickering on and off). You can try using Force Touch Emulation (-touchemuforce) option to work around it.

Nostalgia

  • Same touch polling issue may be present in Nostalgia - see Beatstream section for a workaround. Fortunately, since you only need to navigate menus with the touch screen, you can just use a mouse instead.
  • -graphics-single-adapter doesn't work for Nostalgia, it'll just use 2 displays regardless. #19

Reflec Beat

  • RB cabinets use high-frequency polling of IR sensor grid. Which means:
    • You may see phantom touches! If you use two fingers to touch [X1, Y1] and [X2, Y2], game will also register a touch at [X1, Y2] and [X2, Y1]. This is an issue on real cabs too, you just gotta live with it; it's a limitation of IR sensor grid technology.
    • Spice will attempt to translate touch events received through raw input API to emulate the IR touch grid for the game. Unfortunately, due to how capacitive touch screens work, it may be difficult to register flicks. You may need to do more exaggerated swipe motion to compensate for it.
    • You can try using Force Touch Emulation (-touchemuforce) option to work around touch screen issues (and make sure Show Cursor (-c) is off) - Issue 100
  • In test menu, in touch screen test option where it shows the touch points, the lines may seem misaligned near the edges. This is actually normal and happens on the cab too for some reason.
    • It should be fine once you're in the game, check for touch "glow" animation that shows up in the menu. Do note that only one of these touch indicators show up in the menu, even when you're pressing with multiple fingers. This is normal.

Jubeat

  • Jubeat is unique in that it's the only OpenGL game. Therefore, many of the graphics options simply do not work, including but not limited to: screenshots, window options, image scaling, streaming to Companion, etc.
  • The game always launches in windowed mode.
  • If you put the game in a top-level directory (e.g., c:\jubeat\) then the game crashes with EXCEPTION_STACK_OVERFLOW. To fix this, move the game folder one level deeper (e.g., c:\jubeat\xyz\)

Popn

  • pop'n 19 Tune Street; when HD mode is enabled, it may crash on title screen with CommReadMyAddr / CommPolling on the stack. This is caused by dirty / incomplete data that is widely distributed.
  • pop'n may appear to hang immediately after launching (either stuck on black screen, or "not responding" popup from Windows). This may be caused by slow disk I/O when the game tries to access NVRAM. Try waiting a few minutes and see if the game eventually boots. To speed this up, move to an SSD, and add an exception to any anti-virus scanners.
  • Hello! pop'n music, and some older popn games, may boot into a cyan boot screen with white text (instead of black background with white text). Normally, this should only happen on boot screen, and should go back to normal colors when the game boots to the title screen.
  • Hello! pop'n music may completely freeze during boot up sequence on AMD Ryzen processors. Root cause is unknown and it has not been debugged yet. #87

Silent Scope: Bone Eater

  • Implementation is incomplete. It boots to test menu, but fails I/O check and does not boot to title screen. Serial I/O needs work. Issue 114

Busou Shinki: Armored Princess Battle Conductor

Chase Chase Jokers

  • Local EA server does not work for CCJ; it has been explicitly disabled.
  • CCJ is based on Unity. See section on Unity Games for various limitations.

Ongaku Paradise

  • Crash after boot screen, before title screen, showing the following message: Assertion failed! (contents may vary). Update to the latest build for a fix. Issue 48.

Otoca Doll

  • If you get a camera error, disable / unplug all webcams on your PC, including any VR headsets.

Unity-based Games

  • These games are sensitive to long file paths (even 32+ character path will make the game unhappy and fail to launch) - put them closer to the drive letter root.
  • Graphics: no hooks are performed. This means: no windowed mode, no Spice overlay, no screenshots, and so on.

SpiceCompanion

Note that SpiceCompanion apps are not part of the spice2x project (not forked). Unfortunately, they are also not being updated.

  • Mirroring display - main or subscreen - is very resource-intensive, on both server and client side.
  • On Windows and Android apps, multi-touch does not seem to work properly.

Touch

  • Always Show Cursor (-s) option force enables WinTouch hooks. This is usually not what you want if you're using a touch screen, so leave it off.
  • In some rare cases, the overlay may interfere with touch input. Toggle it off, or use Disable Spice Overlay (-overlaydisable).

Card Readers

Spice uses the standard Windows smartcard API, but many poor quality NFC card readers from China do not properly implement the needed protocol.

This includes NFC readers branded as "ACR122U". The official ACS product has been discontinued years ago. Most of them being sold today online are poor knock-offs of ACS ACR122U. Unfortunately, many of these knock-offs are unable to properly read FeliCa cards, making it unusable for Bemani games. It should be mentioned that even the official ACR122U cannot read the old grey cards (E004 cards).

Instead, look into DIY solutions based on cardIO HID protocol: https://rhythm-cons.wiki/w/Card_Readers

Other issues

  • For more, please see the GitHub issue tracker.
  • Spice ships with ifs_layeredfs built in, but it's an old and slightly broken version. Download a newer version from ifs_layeredfs and add it as a DLL hook.