Skip to content

Instantly share code, notes, and snippets.

@SeongGino
Last active July 14, 2024 00:04
Show Gist options
  • Save SeongGino/92c5222d0baaf235332e09d2522e76db to your computer and use it in GitHub Desktop.
Save SeongGino/92c5222d0baaf235332e09d2522e76db to your computer and use it in GitHub Desktop.
Seong's Linux Wine Windows Arcade Games Compatibility List (Featuring Dante from the Devil May Cry Series)
(TODO: Fix formatting and descriptions for some games, lol)

Working Games:

Raw Thrills Titles

Requires JConfig (for specified games)

Warning

JConfig'd games seem to crash on boot (error code 1280) if a configured controller isn't present at runtime.

  • Batman (Specular/Raw Thrills): Works w/ JConfigBTM & prepacked patched libusb0.dll. Run sdaemon.exe.
  • H2Overdrive: Works w/ JConfigH2O. Run the packaged H2Overdrive.exe.

Sega Ring- Systems

Requires RConfig v1.1, except for Lightgun Games which can alternatively use game-specific JConfig patches; see note.
  • Dengeki Bunko Fighting Climax Ignition: Works w/ RConfig (and bundled sv dir). Run ring_loader.exe. (May or may not be possibly unstable?) APM3 version might be more stable? If native DirectSound is installed in the prefix, set WINEDLLOVERRIDES="dsound=builtin" to fix no sound.
  • Operation G.H.O.S.T.: Works w/ game-specific JConfig* (and bundled sv dir) & prepacked patched executable. Run gs2.exe. Requires d3dcompiler_47 to start, xact for sound fixes and mitigating random crashes. Title WMV doesn't show anything, subsequent videos do show but are stuttery. Needs directshow + lavfilters741 to make videos show with less hitching, and ffdshow (make sure wmv2/3 audio is enabled!) to make fmvs' audio work. Don't use JConfig's mouse handler, use DemulShooter instead (-target=ringwide -rom=og). For fullscreen, make sure gs2.ini has Fullscreen=1, and set env vars WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_CUSTOM_MODE=1024x600 to use Wine-GE's FSR to fake the supported resolution and provide seamless upscaling (albeit with sharpening artifacts).
  • Let's Go Island: Works w/ game-specific JConfig* (and bundled sv dir) & prepacked patched executable. Run LGI_RingW_F_safe.exe. Don't use JConfig's mouse handler, use DemulShooter instead (-target=ringwide -rom=lgi). Disable JConfig's Direct3D9 Wrapper to prevent game window from minimizing at launch and stalling, and set env vars WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_CUSTOM_MODE=1024x600 to use Wine-GE's FSR to fake the supported resolution and provide seamless upscaling (albeit with sharpening artifacts).
  • Let's Go Island 3D: Works w/ game-specific JConfig* (and bundled sv dir) & prepacked patched executable. Run LGI.exe. Don't use JConfig's mouse handler, use DemulShooter instead (-target=ringwide -rom=lgi3d). JConfig's Direct3D9 Wrapper can be disabled entirely, as in-game resolution can be set and scaled in $GAMEDIR/data/Fraw/fwDataDB/fwDataDB_Application.txt (adjusting the Window/Render/Frontend sizes to match your desired size) with few ill effects.
  • Sega Golden Gun: Works w/ game-specific JConfig* (and bundled sv dir) & prepacked patched executable. Run RingGunR_RingWide.exe. Requires d3dcompiler_43/47 (forget which one, lol). Don't use JConfig's mouse handler, use DemulShooter instead (-target=ringwide -rom=sgg). Disable JConfig's Direct3D9 Wrapper to prevent game window from minimizing at launch and stalling, and set env vars WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_CUSTOM_MODE=1360x768 to get the screen filled without an ERRO DIRECT3D error.
  • Transformers Human Alliance: Works w/ JConfig* (and bundled sv dir) & prepacked patched executable. Run TF_Gun_R_Ring_dumped.exe. Don't use JConfig's mouse handler, use DemulShooter instead (-target=ringwide -rom=tha). Keep default resolution (1280x720).

Note

[*]Asterisks indicates that the game has a Service Menu app available, but using these requires that the game-specific JConfig patch be used (i.e. ones with a replacement executable) - doing this allows for more customization for each game, with the handicap that games not using the Direct3D9 Wrapper option will require an external app (like unclutter) to hide the mouse cursor. Alternatively, you can choose to use RConfig v1.1 (2021/12/15) and launch with ring_loader.exe, which allows keeping the original executable and all titles to hide the mouse cursor, but at the cost of the games being forced to run in Japanese and with the only selectable customization being Free Play.

Sega ALLS Platform

Requires TeknoParrot
  • Scarlet Dawn: JConfigSCD w/ patched amdaemon.exe. JConfig's Daemon doesn't seem to boot, but TeknoParrot's works (may be source of performance problems?).

Examu eX-Board Platform

Requires XB-Monitor+
  • Suggoi! Arcana Heart 2 (eX-Board): If prefix has native DirectSound installed, it needs WINEDLLOVERRIDES="dsound=builtin" to fix sound oddities.

Taito Type X Series

Requires JConfig (for specified games, unless noted otherwise)

Warning

JConfig'd games seem to crash on boot (error code 1280) if a configured controller isn't present at runtime.

  • Gundam - Spirits of Zeon: Doesn't use a configurator. Using dgVoodoo as an upscaler requires using DemulShooter, otherwise aim is inaccurate (locked to the "640x480" area to the top-leftmost part of the screen). Needs quartz verb for opening demo videos to not crash (but could be bypassed). May or may not have potentially random crashing issues.
  • Haunted Museum: Works w/ default patched executable. Run game.exe. If native DirectSound is installed in the prefix, set WINEDLLOVERRIDES=dsound=builtin for working sound. Settings (mainly res) can be modified in HAUNTED.ini; going over 640x480 causes the HUD to render in a small window at the top left corner.
  • Haunted Museum 2: Works w/ default patched executable in a plain prefix. Run game.exe, needs ir50_32.dll manually defined as a native DLL override may work ootb on Wine versions based on 9.0+; if native DirectSound is installed in the prefix, also set WINEDLLOVERRIDES=dsound=builtin for working sound. Settings (mainly res) can be modified in HAUNTED2.ini; HUD scales better with custom/bigger resolutions.
  • Gaia Attack 4: Works w/ default patched executable. Run game.exe. Settings (mainly res) can be modified in MINIGUN.ini; FMVs require the WMV9 codec installer it comes with to be installed (though NOT requiring Windows Media Player), but still look to stutter. 3D rendered gameplay seems fine. Will eventually crash with an FMV play error after long enough.
  • Music GunGun! 2: Works ONLY with any of the custom patched EXEs from this link from Sinden Wiki & JConfig for MGG2. Overwrite original exe and run game.exe. If native DirectSound is installed, set builtin dsound override for working sound.

Taito NESiCAxLive Platform

Requires iDMacx86/x64 + bundled JConfig

Warning

JConfig'd games seem to crash on boot (error code 1280) if a configured controller isn't present at runtime.

Warning

TEMP NOTE: Wine 8.0 and onwards seems to cause the keyboard input in iDMacx86 to stop responding. If you use keyboard mappings for gameplay or test/service/exit, you might want to use WineGE-7-43 in its own prefix to prevent issues until this is resolved.

  • Senko no Ronde DUO (for NESiCAxLive): Works w/ JConfig for NESiCA games (and bundled sv dir) and Ring Unlocker. Import NESiCA registry file to prefix, run using NESiCA_Unlocker.exe to remove nags. DirectSound wrapper seems to crash Wine, but not using it makes SFX not work. Attract mode uses WMVs and letting it play while idle on the title will crash on normal prefixes; using the setup/workaround for Operation G.H.O.S.T. will allow FMVs to play without sound.
  • Suggoi! Arcana Heart 2: Works w/ NESiCAxLive JConfig & iDmacDrv32. Doesn't seem to respect any custom resolutions, other than the NESICA/Type X toggle for HD mode (stretched 720p w/ borders) or not (native 480p), so D3D9/8 patch is useless. Saves only seem to commit on the first boot; subsequent boots reads fine, but can't save Test Mode settings/high scores. It's a DX8 game, FWIW.
    • If native XAudio is installed in the prefix AND you're using a modded bgm.xwb (e.g. created with Microsoft Cross-Platform Audio Creation Tool (XACT) v3.0), setting WINEDLLOVERRIDES="*XActengine3_5=builtin" is needed to fix music not playing.

Konami Arcade Systems

Requires JConfig (for specified games)
  • Castlevania The Arcade: Game itself has no dependencies, but ensure data/shader files are patched properly (Archive is your friend). Needs a 30fps cap if not using game's provided Vsync. WMVs can work with ([wmp11?] directshow|wmv9vcm) or (directshow|lavfilters741), otherwise will crash when playing FMVs.

Namco ES-series Platform

Standalone:
  • Point Blank/Gunbullet X: Can be run standalone by simply copying the contents of DemulShooter (12.7+)/Unity/PointBlankX to the game's root directory, right next to the main executable. Requires vcrun2010 to fix I/O check lockup on boot, quartz to fix the game locking up on inserting coinage, and lavfilters741 to be able to start the game after inserting coinage (not required for Free Play, it seems?). For DS, make sure to also add winhttp native,builtin DLL override.
    • The latter two are necessary because PBX uses .avi files, which are actually just WMV2/Windows Media Video 8 video streams in disguise.
    • This game also uses a forced Vsync, so you may find it desirable to have a dxvk.conf file with d3d9.presentInterval = 0 next to the executable for best performance.
    • You may want to use -noinput as a DS launch arg for this game, as the plugin's mouse handling can sometimes warp out of the screen, missing shots.
TeknoParrot Required:

Note

TeknoParrot's DRM (whatever it may be) has been observed as the cause of a performance penalty, which (ironically) is more significant the more powerful your GPU is with regards to what the game requires. May or may not be a bug with NVIDIA cards of at least Turing architecture (16-series) and newer. Read more here.

  • Time Crisis 5: JConfigTC5 w/ patched RSLauncher is supposed to work, but doesn't boot. Could also directly run TC5\Binaries\Win64\TimeCrisisGame-Win64-Shipping.exe with launch arguments, but mouse aiming will horribly delayed. TeknoParrot is recommended. Needs vcrun2010 for RSLauncher to work. TP performance penalty is minimal.
  • Luigi's Mansion Arcade: Works with TeknoParrot. TP's performance penalty is significant enough on an RTX 3060ti that the game is unplayable.

Others

  • Akuma Mortis - Immortal: Can be run with its standalone crack/"fix" on a vanilla prefix. Make sure to set DXVK_FRAME_RATE=60 to keep game logic in expected 60hz behavior; if prefix has a native DirectSound installed, you may want to set WINEDLLOVERRIDES="dsound=builtin" in addition to alleviate sound delay. DemulShooter (-target=gamewax -rom=akuma) only provides outputs, as normal mouse input works fine.
  • Friction: Can be run with its standalone crack/"fix", requires d3dcompiler_42. DemulShooter is required (-target=windows -rom=friction -useSingleMouse), if modding the game to use higher resolutions than 640x480, for correct aim.

Utilities:

Note

For Lightguns: Wine always seems to combine/clamp down all mouse devices into one "The Wine Project HID Mouse" object, even with both a relative mouse device and an absolute positioning pointer device, i.e. Lightgun, plugged in. This means playing with more than one player is effectively impossible at the moment, at least until Wine can expose multiple input devices. J/RConfig's built-in Lightgun mode thing doesn't work well, so use DemulShooter. DS also needs -useSingleMouse at the moment to prevent cursor jitter (except for GSoZ which should be run with its original inputs explicitly). Status of this issue can be tracked in Wine bug 55547.

  • DemulShooter: Requires .NET2 (provided by dotnet20/dotnet35); DS will "run" with builtin Wine Mono, but hooking is unreliable without real .NET. If used for lightgun games, set -useSingleMouse to mitigate potential issues with the cursor position (or -noinput to disable all input hooks and only use for outputs, which might be desirable for Gundam SoZ).
  • TeknoParrot: Needs dotnet461 at minimum for the rawinput extension to work - UI and Dinput/Xinput hooks works with Mono, but not RawInput, which is needed for Lightgun Games. Should be used for SEGA ALLS (Scarlet Dawn) and Namco ES3X (TC5) loaders; BudgieLoader, NESiCA, TTX, and Ring loaders crash (all similar unknown errors).
  • MAMEHOOKER: Requires Visual Basic 6 (vbrun6); for guns, requires setting/rerouting COM devices through the wineprefix's Registry @ HKEY_LOCAL_MACHINE/Software/Wine/Ports - or more simply/alternatively, install attached COM_devices_setup.reg below in the prefix's registry for reference.
    • If you're only using MAMEHOOKER for lightgun force-feedback/gun lighting, consider using QMamehook

Not Working:

  • Aliens Extermination (Global VR): Supposed to run aliens dehasped.exe, but crashes with an EXCEPTION_ACCESS_VIOLATION (0xc0000005) after loading alut.dll (OpenAL Utility Toolkit?). No amount of changing between different OpenAL-related libraries seems to resolve this.
  • Fast & Furious (Raw Thrills): Requires JConfigFF w/ patched sdaemon.exe. Boots, but forced calibration utility doesn't recognize (simulated) wheel device.
  • Persona 4 Arena - THE ULTIMAX ULTRA SUPLEX HOLD (NESiCAxLive): Requires iDMacx86 + bundled JConfig w/ key 303108. Heavy WMVs use means FMVs will just show a black screen; game can be started, but crashes after selecting a character when starting arcade mode. TODO: game seems to have heavy reliance on WMV usage and generates quartz errors in the problem area, eventually leading to Syscall stack overrun. Is not solved by the operation G.H.O.S.T. prefix setup/workaround.
  • Silent Hill The Arcade (Taito Type X): Window opens then immediately closes (sometimes with Syscall stack overrun). TODO: It seems like SHA's driver shaiolib.dll is trying to initialize a MIDI driver, but on my machine anyways it fails when all it finds is PipeWire-System - input. But it seems like disabling PipeWire and Linux's default dummy MIDI port (# rmmod snd_seq_dummy) will get the game to boot and does go ingame. Now it's just about figuring out how to get it to work with PW...
*For Bottles users, environment variables exported from the game's launch arguments don't take effect on .bat scripts; they only work when the target is a normal executable. Thankfully on batch scripts, these can be exported with "set ENVIRONMENT_VAR=value".
*EXTRA INTERESTING NOTE: Wine can start unix applications (absolute paths only) with start /unix /path/to/application (this is how HedgeModManager works!)

Did I Miss Something?

If you're having problems with any of the working games listed, make sure to run your game/Wine prefix with the env var WINEDEBUG=+loaddll and paste the full output of the Wine start command/your Wine manager's run logs wherever is most accessible to you (preferably in a reply here for everyone to see).

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Wine\Ports]
"COM1"="/dev/ttyACM0"
"COM2"="/dev/ttyACM1"
"COM3"="/dev/ttyACM2"
"COM4"="/dev/ttyACM3"
"COM5"="/dev/ttyS0"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment