Skip to content

Instantly share code, notes, and snippets.

@quvide
Created February 20, 2018 16:07
Show Gist options
  • Save quvide/6a8779fa25c8b84e906ed29debb114f5 to your computer and use it in GitHub Desktop.
Save quvide/6a8779fa25c8b84e906ed29debb114f5 to your computer and use it in GitHub Desktop.

banner

I assume you're using 64-bit Arch Linux for these instructions but you should be able to follow if you have a basic grasp of the inner workings of your own distro.

Please note that patching the scripts, images and other stuff to use English is out of the scope of this post. To replace the Japanese script with the extracted ones plus Committee of Zero's other improvements, follow their full tutorial here.

They provide instructions on acquiring the Japanese PC version of the VN and the English translated PSP version legally. You need both to use their patch.

Please note that I'm not sure how well their patchers work under Wine as I performed it inside a Windows VM. I couldn't get the actual game to run inside the VM because of some weird driver issues.

Please consider supporting the developers of Steins;Gate 0, the English translation team and Committee of Zero for their hard work. They are also working on a PlayOnLinux script for Steins;Gate 0 se you probably won't need these instructions soon.

Some applications don't really like to run in pure 64-bit environments so we will use a 32-bit environment. Open up /etc/pacman.conf with your favourite text editor and enable multilib and multilib-testing. These repositories contain all 32-bit libraries for Arch.

{% highlight ini %} [multilib-testing] Include = /etc/pacman.d/mirrorlist

[multilib] Include = /etc/pacman.d/mirrorlist {% endhighlight %}

Refresh your package index with pacman -Syu and then make sure you have correct graphics drivers and an appropriate version of OpenGL installed. See this page for a chart of GPU vendors and appropriate packages. For Intel integrated graphics:

pacman -S xf86-video-intel lib32-mesa

First, we'll need to install Wine. Wine (Wine Is Not an Emulator) is a compatibility layer that translates Windows-specific API calls to POSIX equivalents. In addition to Wine, we need to install Winetricks for missing Windows libraries and OpenAL for sound.

The command below assumes you're using PulseAudio. If you use a different sound system, you'll probably know what to install instead.

pacman -S wine-staging winetricks lib32-openal lib32-pulseaudio

On 64-bit systems Wine automatically creates a 64-bit prefix, but we don't want that. We can change the desired architecture with the WINEARCH environment variable. You can use the default Wine prefix (the folder where the windows file hierarchy is stored) in ~/.wine, but I like to use separate prefixes for each application I use. We can specify the prefix with WINEPREFIX.

The easiest way to manage these two environment variables is creating a shell script that sets them. Create a file called env.sh with the following contents. Obviously substitute the path for something that fits you.

#!/bin/sh
WINEARCH=win32 WINEPREFIX=/home/viderizer/Documents/sg/.wine2 "$@"

Mark it as executable with chmod u+x env.sh.

Now we'll install the Windows runtimes the VN needs with Winetricks. d3dcompiler_43 is related to shaders and xact_jun2010 to the XACT audio system of the DirectX family. Normal xact doesn't work for whatever reason. dinput8 is only needed if you want to be able to use external controllers such as the Steam Controller or an Xbox 360 controller. You don't need to install Mono.

# append dinput8 if you need it
./env.sh winetricks d3dcompiler_43 xact_jun2010

Then we'll enable CSMT with winecfg.

./env.sh wine winecfg

A window will pop up. Choose the "Staging" tab and check the "Enable CSMT" checkbox. Apply the settings. On my computer the game crashes in the initial splash screens without CSMT.

pop-up

We should be ready to run the game now.

./env.sh wine Game.exe

steins;gate 0

Success!

If you want to use the launcher instead, you'll need to change Wine's locale when running the game. To use the Japanese locale we must first generate it. Open /etc/locale.gen and uncomment the ja_JP.UTF-8-line. Then run locale-gen. Add LC_ALL=ja_JP.UTF-8 to your env.sh script. Then substitute Game.exe for Launcher.exe in the above command.

Consider reporting how well the game runs on your machine to Wine's app database after playing it for a while.

エル・プサイ・コングルゥ。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment