Skip to content

Instantly share code, notes, and snippets.

@snsinfu
Last active October 10, 2020 04:33
Show Gist options
  • Save snsinfu/a3934d03bdf10fc1a577239643a41905 to your computer and use it in GitHub Desktop.
Save snsinfu/a3934d03bdf10fc1a577239643a41905 to your computer and use it in GitHub Desktop.

Install wine

$ sudo dnf install wine wine-alsa wine-mono winetricks

Create wine environment

Create a 32-bit wine environment for sdvx:

$ export WINEARCH=win32 WINEPREFIX=~/.wine.sdvx
$ winetricks dotnet48

It is good idea to take a snapshot of the environment because you would end up reinstalling sdvx to copies of the same environment multiple times.

$ tar czf .wine.sdvx.tar.gz .wine.sdvx

Install sdvx

Run sdvx installer:

$ wine sv3c_installer_2018082900.exe

The installation may randomly fail. Retry and it will succeed eventually.

Start sdvx

Start sdvx launcher:

$ wine start 'c:\users\Public\Desktop\SOUND VOLTEX III.lnk'

User authentication randomly fails. Restart the launcher and repeat authentication until it succeeds. Sometimes it takes dozen(s) of times, but it will succeed.

Note: Playing

First play of each music fails after ~10s of delay reporting download failure. Retry and it will succeed.

Note: Updating

Monthly update always fails. Reinstall sdvx to a new copy of the wine environment and run update in the new environment.

$ mv .wine.sdvx .wine.sdvx.old
$ tar xf .wine.sdvx.tar.gz
$ wine sv3c_installer_2018082900.exe

You can transfer music cache in the old installation to the new one:

$ cp -r ~/.wine.sdvx.old/drive_c/ProgramData/KONAMI/eacloud/SOUND*/MusicData ~/.wine.sdvx/drive_c/ProgramData/KONAMI/eacloud/SOUND*/

Do not try to reverse engineer the music data. Be a good citizen. Doing bad things on linux can lead to more aggressive protections against non-standard installs that would make playing sdvx on linux harder or even impossible.

Note: Broken audio

Try tuning pulseaudio settings:

$ sudo vi /etc/pulse/daemon.conf

Add these lines:

default-fragments = 5
default-fragment-size-msec = 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment