This page explains how to properly set up a touch screen for IIDX Lightning Model (TDJ), SDVX Valkyerie Model (UFC), and Pop'n Pikapika Pop-kun model.
For general touch screen info, please see this page instead.
For streaming to a different PC, tablet, or phone, check out companion apps like:
Before reading rest of the page, please read these warnings:
Caution
If any of these apply to you, displaying subscreen on a second monitor may not work properly (white screen, crashes, graphical corruption, etc)
- Intel or AMD GPU will likely not work, especially with SDVX (NVIDIA is recommended)
- PCs with Multiple GPUs will only use monitors connected to the main GPU
- Laptops with hybrid GPU will likely have white screen issue (iGPU + dGPU)
- Monitors connected over USB Video protocol likely won't work
- Using DX9 re-implementations such as DXVK, DX9on12 are known to be problematic
If any of the conditions apply to you, don't spend a bunch of money on a touchscreen only to realize later that it doesn't work.
Background
Please note that a touch screen is not required to play, you can use the subscreen overlay (Page Up button by default) and use your mouse. You can also use the SpiceCompanion app.
For other touch-enabled games (RB, JB, BS...), these steps are not necessary, as touch screen is already the primary screen.
This page assumes that you are running the game in full screen, NOT windowed mode.
Can wireless display / projection to other tablets/phones work?
This page is about physical touchscreen monitors connected over HDMI/DisplayPort, so you're in the wrong place if you are asking about that.
Configurations below are unsupported:
- Wireless display projection
- Apps for using tablets as a second monitor for PC (SpaceDesk, Duet, etc)
- Local streaming services like Moonlight
Notably, people have reported success with recent versions of Moonlight.
Can monitors connected over USB Type-C work?
Depends.
If you can get DisplayPort-over-Type-C (DP Alt Mode) to work with your GPU and your monitor, it'll probably work.
If not, or if you are using any combination of adapters, your mileage may vary.
Windows Touch
It's helpful to understand that Windows doesn't know if your second display has touch capabilities. They are seen as two entirely different devices: a display, and a touch sensor. Normally, you would want the touch input to be tied to the screen it's on; however, for full screen TDJ / VM, you want touch input to be on the primary monitor. It's just the way the game is programmed, unrelated to spicetools. Please stop filing bugs about it.
Step by step instructions
For full screen
- Connect your touch screen (usually, HDMI for display, USB for touch input, and power)
- Make sure it can display things, and touching on the screen results in input. Confirm by dragging around on the Windows desktop. You probably see the selection lasso on the touch screen, right underneath your fingers.
- In Windows display settings, ensure that your main monitor is set to primary - not the touch screen.
- In SpiceCfg, press Shortcuts, and then Tablet PC Settings.
- Alternatively, press Windows key + R, type
%windir%\explorer.exe shell:::{80F3F1D5-FECA-45F3-BC32-752C152E456E}, and OK.
- Alternatively, press Windows key + R, type
- Next to
Configure your pen and touch displays, click onSetup(this is the first button available). - Follow instructions on the screen. "Lie" so that Windows thinks the primary screen is a touch screen.
- To confirm that things were set up correctly, try touching again. The selection lasso should now appear on your primary screen.
For windowed mode
Do the same as above, but don't "lie" this time, let Windows know that your touch screen is where the touches must be routed.
Troubleshooting
Touch monitors are finicky things, and a lot of the times, devices do not properly implement the correct touch API needed, resulting in missed touches, duplicated touches, inability to use multi-touch, not recognizing taps, not recognizing swipes, etc. It's the wild wild west out there, but Spice has a few options to deal with them.
Refresh rate issues
Assuming you have a 120Hz monitor as the primary monitor and 60Hz monitor as the sub screen, if you forcibly enable V-Sync, the game may incorrectly launch at 60Hz on both screens. To fix this, make sure to use default V-Sync settings. For example, in NVIDIA Control Panel, you want to set V-Sync settings to Use the 3D application setting. You also need to ensure that FreeSync and G-Sync are OFF.
For SDVX / pop'n, if your sub monitor display does not seem to be refreshing (instead refreshing every couple seconds), use SDVX Subscreen Force Redraw (-sdvxsubredraw) / Pop'n Music PikaPika Subscreen Force Redraw (-popnsubredraw).
Touches not lining up
For GITADORA and popn, you can perform touch calibration in the test menu, which will be able to compensate for monitor rotation and aspect ratio mismatches.
For IIDX / SDVX which lack calibration, you may need to tweak your GPU settings to stretch images (e.g., scaling options in NVIDIA Control Panel). You may also need to experiment with CRU - again, YMMV if it will help.
Compatible monitors, white screen issue
- IIDX: 1280x720@60Hz (16:9 ratio)
- SDVX: 1920x1080@60Hz (16:9 ratio)
- Pop'n: 1280x800@60Hz (16:10 ratio)
If your monitor doesn't support these resolutions, the game may fail to boot, or boot but with white windows. If your monitor is incompatible, there are options to override the resolution and refresh rate - see below.
There are many cheap Chinese monitors that advertise to be 60Hz but actually use weird refresh rates like 53Hz, 62Hz, 75Hz, and so on, so watch out for those.
7" or bigger is recommended. Any smaller than that, you will have trouble entering the PIN.
Displays using HDMI or DisplayPort are usually safe and preferred. DisplayPort protocol over USB-C should work as well. Devices using USB Video as the protocol may have issues - YMMV.
Most displays that support the standard HID API for touch input - recognized by Windows and available to applications via Windows touch API - should work.
Workaround for submonitors that can't do correct resolution or refresh rate (white screen issue)
As mentioned above, the game will end up with a white screen if the subscreen does not properly support the required resolution + refresh rate.
If you bought a touchscreen monitor and it can't do 60Hz properly (instead can only do 70Hz, for example), you can try the new -graphics-force-refresh-sub option, and enter the desired refresh rate of your monitor. This will force the game to launch the subscreen display adpater in that refresh rate instead of 60Hz.
If your touchscreen can't support the correct resolution, then you can try -forceressub option and enter your submonitor resolution there. Make sure you turn on GPU-side resolution scaling and set it to "stretch" if the image is squished. Touch targets should still align correctly.