Wine Distributions For GNU/Linux
This page covers a few notable builds of Wine and software often distributed with Wine, Wine Managers, and their compatibility with visual novels. It explains the strengths of these Wine builds and how to use them.
Using Bottles as a Wine Manager
While this guide is designed around using Lutris for managing visual novels, we also recommend Bottles. Bottles makes managing your Wineprefxes easy, while Lutris leaves you to do this on your own unless you're using their installer wizard.
Here is a brief overview of the advantages and limitations of Bottles:
Advantages | Limitations |
---|---|
Can be installed on any distribution with Flatpak. | There is no installer wizard for visual novels, so you need to add the installer executable as a shortcut, install the game, delete the shortcut, and add a shortcut for the launch executable. Lutris has an installer wizard that automatically finds the launch executable in most cases. |
Smoothly integrates with Gamescope Flatpak. | You can't add native visual novels to the library. Bottles is a Wine manager, not a game manager. |
You can manage all your visual novels in a single Wineprefix and easily create dedicated Wineprefixes with special configurations. | If Bottles can't find cover art for the game, you will need to manually link cover art in the library.yml file. See this post for a guide: https://forum.usebottles.com/t/guide-custom-cover-arts-in-library-view/673 |
You can easily install compatibility components like cjkfonts into an entire bottle with the click of a button. | |
Includes handy tools like Task Manager, Snapshots, and Backups. | |
Automatically grabs cover art from the web based on the executable name. | |
Simple, beautiful interface. |
Basic Bottles Setup
You can install Bottles with Flatpak (check your distribution's wiki for instructions on installing Flatpak):
flatpak install com.usebottles.bottles
There are three ways to set up your games in Bottles:
Grant Bottles Access to Your Home Directory
This method grants Bottles access to all the files in your home directory. This is the easiest method of ensuring Bottles can access your game files properly, but continue at your own risk.
Install Flatseal. Under the Filesystem section, enable filesystem=home
. Restart Bottles if it was already open.
Click Add Shortcuts… and add your game executable.
Move Your Game Files
Open Bottles and create a new Gaming bottle (call it vns
).
Move your game files to this directory: ~/.var/app/com.usebottles.bottles/data/bottles/bottles/vns/drive_c/Program Files
Click Add Shortcuts… and add your game executable.
Symlink Method
You can keep your game files where they are and link them to Bottles with a symlink. You need to install Flatseal first.
flatpak install com.github.tchx84.Flatseal
Open Flatseal and grant Bottles the All User Files (filesystem=home) permission. Then, open Bottles and create a new Gaming bottle (call it vns
).
Close bottles and go to the directory of the new bottle you just created in a Terminal, replacing [YOURUSERNAME]
with your own username:
cd ~/.var/app/com.usebottles.bottles/data/bottles/bottles/vns/drive_c/[YOURUSERNAME]
You need to create a symbolic link to your game directory. If your game directory is ~/Games
, then the command will look like this:
ln -s ~/Games games
Now you can add the game. Open Bottles and click Add Shortcuts… Click through that new games
directory, which is a link to your ~/Games
directory, and find your game executable.
If you're trying to play a Japanese language visual novel, click the Settings button for the bottle, and scroll down to Environment Variables. Set these two variables:
- Variable Name:
LANG
- Key:
ja_JP.UTF-8
- Variable Name:
TZ
- Key:
Asia/Tokyo
You can now launch the game by clicking the ▶ button.
Installing Compatibility Components and Other Dependencies
Bottles doesn't use Winetricks—it has its own dependency management system that lets you easily install compatibility components for your bottle.
To get a list of available dependencies, click Dependencies. Many Japanese language visual novels require cjkfonts
to display Japanese text correctly, so if you encounter garbled text, we recommend installing it.
Gamescope Integration
If you want to use Gamescope, you need to close Bottles and install it with:
flatpak install com.valvesoftware.Steam.Utility.gamescope
You can now re-open Bottles and configure Gamescope inside the bottle's Settings.
Lutris Runtime
Wine relies on several libraries for providing the functionality a visual novel needs. Lutris has made this easy by shipping as many of these dependencies as possible in the Lutris Runtime, which comes with Lutris. Lutris will automatically update the runtime on every launch.
The Lutris Runtime includes DXVK, VKD3D-Proton, and Winetricks. You can see all of the dependencies the Lutris Runtime installs in the ~/.local/share/lutris/runtime
directory.
You can disable the Lutris Runtime for a particular game inside the System Options tab, but this usually isn’t necessary. For debugging issues with the Lutris Runtime, see the Lutris Documentation.
Wine-GE-Custom
Glorious Eggroll provides Wine-GE Custom for Lutris. It includes extra patches for games that depend on Media Foundation for video playback, so it might be worthwhile giving this build a try in Lutris if you’re having video playback issues with a visual novel.
Steam Play/Proton
CodeWeavers has worked with Valve to create Proton, which is a collection of Windows compatibility tools designed to allow Windows games to run on GNU/Linux. It’s built-in to Steam. To enable Proton, click Steam in the top-left corner of the Steam client, then click Settings, go to Compatibility, and make sure Enable Steam Play is on.
Some games on Steam have a Japanese language option. If the game has Japanese text, you may need to insert LANG=ja_JP.UTF-8 %command%
as a launch option to get Japanese text to display correctly.
If you're having trouble with DXVK, you can fallback to WineD3D’s OpenGL renderer with this launch option: PROTON_USE_WINED3D=1
CrossOver
CodeWeavers is responsible for upstreaming over 50,000 patches to Wine, hosting the WineHQ and AppDB websites, hosting the annual WineConf developer conference, and employing many Wine developers. Their main product since 2002 has been CrossOver, which is a commercial version of Wine with a proprietary graphical interface. Crossover is designed to be easy to use and to better support certain software1) with hacks that aren’t possible to send upstream.
CrossOver, in our experience, does not work any better for visual novels than upstream Wine and uses an older base than Wine Staging. It's possible to add the compatibility enhancements mentioned on our Troubleshooting section to a CrossOver bottle if you prefer the interface, however.
CrossOver is currently the best Wine offering for macOS players and much of their energy is spent getting games working on macOS. Apple has made it too difficult for upstream Wine to continue supporting the platform in any major way, but CrossOver has managed to keep up with the platform.