Playing ZUN Touhou games on GNU/Linux with Wine
Disclaimer: I’m using Arch Linux. Instructions may be slightly different depending on your distro.
I’ve personally had a bit of trouble running touhou games on Linux at first. This guide is my personal effort towards helping people play them. A lot of guides online are quite outdated and mention bugs that were fixed years ago.
- Initial preparations
- Preparing the virtual drive
- Installing games
- Installing translations
- Creating game shortcuts
- Launching the game
- I need to launch my game in a japanese locale!
- My window manager / desktop environment is fucking up the dimensions of the program!
- I need to access the hard drive. How do I open it in my file manager?
- Hisoutensoku / one of the fighting games is fucking up!
- I can’t select anything in the menu, the cursor keeps moving!
- There’s no music in-game!
- I keep getting a crash screen, even though everything is working fine!
First, you should install PlayOnLinux. Instructions depend on your distro. Here’s the commands for the most common ones:
- Arch Linux:
sudo pacman -S playonlinux
- Ubuntu: Follow these instructions.
- Fedora: RPM repository.
emerge --ask app-emulation/playonlinux
The reason we’re gonna use PlayOnLinux is that we’re going to install a bunch of packages that could make your existing wine installation unstable and buggy.
You can find an archive of touhou games on nyaa. thcrap is available here.
Preparing the virtual drive
First, we’ll start PlayOnLinux. The executable name is
This is where you’re going to be able to launch all of your games. (one convenient aspect of using PlayOnLinux is a centralized interface for all of your games.)
The first thing we’re gonna do is create a virtual drive which will contain all of our installed games. To do this, click on the “Install” button at the top, then on “Install a non-listed program” on the bottom left of the new window.
When PlayOnLinux gives you the choice between installing in a new virtual drive or editing an existing application, choose the former option.
Give a name to the new virtual drive. It doesn’t really matter, just choose something you’ll remember.
On the next screen, choose “Install some libraries”.
Choose a 32-bit installation. Yes, even if your processor is a 64-bit one. Wine is still kind of buggy in 64-bit mode.
Now, we’re going to install the packages that are often needed by visual novels. These are: corefonts, d3dx9_36, directmusic, dsound, and dinput8. Simply select all of the “POL_Install_<package name>” options.
Everything should install relatively quickly. After the installation finishes, you should see this window:
You can ignore it for now. simply press Cancel.
Your virtual drive is now ready to install games on it.
Generally, games can be installed in two ways: either from an installation executable/exe, or simply extracted and ran from an archive. You probably have an archive.
Everything from now on will happen in the configuration window. You can access it by pressing “Configure” at the top of the main window. Then, click on your virtual drive on the left:
Installing from an executable
Go to the “Miscellaneous” tab, and click on “Run a .exe in this virtual drive”, then simply choose the executable and follow the installation.
That was easy, wasn’t it?
Installing from an archive/folder
This is a bit longer than the previous step, but it’s still really easy. I’m going to use this collection as an example:
Go to the configuration window, move to the “Miscellaneous” tab, and click on “Open virtual drive’s directory”. This should open your file manager.
Navigate to the
drive_c/Program Files folder, then copy your game installation there.
The game should now be inside your virtual drive, ready to be launched.
After copying our touhou installs, we’re gonna need to apply translations using thcrap for the latest games.
Extract the thcrap archive you downloaded in a folder (for example,
drive_c/Program Files/Touhou Community Reliant Patcher).
Go to the configuration window, move to the “Miscellaneous” tab, and click on “Open a shell”. The newly opened shell will place you at the root of the virtual drive. I will assume you know how to use
cd, so navigate to the root of the directory you put thcrap in (for example, if you used the same path as me,
cd "Program Files/Touhou Community Reliant Patcher" should work [upper-case / lower-case matters!]).
wine thcrap_configure.exe. Afterwards, follow the instructions (steps 3 to 6) Here.
Creating game shortcuts
Installing the game is nice, but now we need to figure out how to launch it. In the configure window, go to the General tab and click “Make a new shortcut from this virtual drive”. It will scan the executables inside the virtual drive and then display a list.
Scroll down until you reach the shortcuts ending with “.lnk” (these are thcrap’s shortcuts). Afterwards, just select each shortcut (for example, “th07 (en).lnk”) and click on “Next”. Choose a shortcut name (for example “Touhou 07 - Perfect Cherry Blossom”) and click on next again.
Your game is now displayed in the main POL window!
You’ll be brought back to the shortcut selection menu. Just do it in batch for every single game and then click cancel when you’re finished.
Please note that Touhou 06: Embodiment Of Scarlet Devil is not supported in thcrap. Therefore, you’ll have to add “th06e.exe” (it’s probably towards the beginning of the list). Fighting games are concerned too.
While we now have game shortcuts in the main POL window, there aren’t any icons for most of the games. There’s no easy fix for this: you’ll have to download the icons (from here, for example) and apply them manually, either by right clicking each shortcut and selecting “Set the icon” or by putting the icons in
~/.PlayOnLinux/icones/32 and renaming them to the shortcut’s exact name. (You may also copy all of the new icons in the
~/.PlayOnLinux/icones/full_size folder if you want access to the “Very Large Icons” option in POL.)
This also means you can easily customize the icons used for the games.
Launching the game
Just double click on the icon.
I need to launch my game in a japanese locale!
First, verify you have the japanese locale installed. Instructions may vary based on your distro.
Next, go to the configuration window in POL and select the shortcut of the game you want to launch in a japanese locale. (Not the virtual drive!)
Then, go to the Miscellaneous tab, and paste “LANG=”ja_JP.UTF-8” in the “command to exec before running the program” box.
My window manager / desktop environment is fucking up the dimensions of the program!
Some tiling WMs, like i3 or bspwm, may alter the window, making it impossible to play or kind of ugly. To fix this, we’re going to run the program in a virtual desktop. Open the configuration window in POL, go in the “Wine” tab, and click on “Configure Wine”. Then, go to “Graphics, and click on “Emulate a virtual desktop”.
In this virtual desktop, the application should render correctly.
I need to access the hard drive. How do I open it in my file manager?
Open the configuration window in POL, go in the “Miscellaneous” tab, and click on “Open virtual drive’s directory”. In the file manager window that opens, navigate to the
drive_c folder. This is the root of the virtual drive.
Hisoutensoku / one of the fighting games is fucking up!
I can’t guarantee the stability of the TasoFro games under Wine. While they launch fine for me, they may not for you. Please check this page for info on how to fix common glitches occurring for those.
I can’t select anything in the menu, the cursor keeps moving!
You didn’t install dinput8.
There’s no music in-game!
You didn’t install dsound and directmusic.
I keep getting a crash screen, even though everything is working fine!
That happened to me too. Open the tools menu in the top POL bar, click on “PlayOnLinux console”, type
cd shortcuts, and type
POL_Shortcut_QuietDebug "exact shortcut name" for each shortcut you don’t want crash screens to open for.
If you have anything to add to this guide (or want to correct something I said), query apt-get on IRC. I’m on Rizon, freenode, and SynIRC. My e-mail address is aptget (at) cock (dot) lu.