Bottles compatibility list
A brief overview on what works for a visual novel. Tested with Bottles following its guide.
- ✅: Verified to work
- ⚠️: Works with some issues
- ❓: Unknown
- ❌: Broken
- N/A: Not applicable
Tweaks
- Install Japanese Fonts
- Enable “Take Focus” in the bottle display settings if needed
- Disable “Allow the window manager to decorate the windows” and “Allow the window manager to control the windows” in “winecfg” (“Legacy Wine Tools > Configuration”)
- Change renderer to “GDI” in your bottle settings (under “Display” and “Advanced Display Settings”) to avoid black screen when switching to fullscreen mode
- Enable “Virtual Desktop” if needed (under “Display” and “Advanced Display Settings”) and configure it
- Change the prefix Windows version to “Windows XP”, run
wmfdist11.exe
and change it back to “Windows 10” - Enable DXVK in the executable shortcut settings
- Install
quartz
through Bottles or Winetricks - Add
taskset -c 0 %command%
as a launch command to only use the first core of your CPU - Add these environment variables:
LIBGL_ALWAYS_SOFTWARE=1 __GLX_VENDOR_LIBRARY_NAME=mesa
LIBGL_ALWAYS_SOFTWARE=1
- Check “DirectSound enabled” in the game top menu and select “DirectSoundWave” in the “Music Setup Menu”
- For MIDI support, install “Timidity++”, a sound font and add
timidity -iA -B2,8 -EFreverb=0 & %command%; pkill -f timidity
as a launch command in your executable shortcut settings. Then select “Music from MIDI source” option in the game menu bar - Change in-game graphics settings
- Install
wmp10
- Change initial start-up settings
- Install
amstream
,devenum
andquartz
through Bottles or Winetricks - Configure Japanese locale system wide or for Flatpak then add
LC_ALL=ja_JP.UTF-8
andTZ=Asia/Tokyo
as environment variables - Add
PULSE_LATENCY_MSEC=60
as an environment variable to fix audio crackling - Install Mangohud and add this line as a launch command in your executable shortcut settings if a game runs at a really high framerate:
MANGOHUD=1 MANGOHUD_CONFIG=no_display,fps_limit=60 DXVK_HUD=1 %command%
MANGOHUD_CONFIG=no_display,fps_limit=30,vsync=3,gl_vsync=1 mangohud --dlsym %command%
- Import this registry file using the registry editor (under “Tools”, in your bottle settings) to change the Windows theme to a more modern one (runners usually come with a similar theme by default)
- Change runner/DXVK version
- Install GPU-related dependencies for your operating system to fix some crashes or performance issues.
sudo pacman -S --needed nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader cuda opencl-nvidia lib32-opencl-nvidia
sudo pacman -S --needed mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader
- Add
WINEDEBUG=+wgl %command% &> wine.log
as a launch command in your executable shortcut settings (it will create a log file at the executable location) - Install
quartz
through Bottles or Winetricks - Override
wined3d.dll
to “Native, Builtin” - Install
xact
through Bottles or Winetricks - Copy
ms-pgothic.ttf
from the patch directory toWindows/Fonts
- Disable
winegstreamer.dll
,ir50_32.dll
andwmvcore.dll
- Install
lib32-gst-plugins-base
,lib32-gstreamer
andgst-plugin-good
through your package manager.
Workarounds
- Press Alt+F4 during the movie playblack and keep the focus on the small confirmation window to avoid flickering
- Back up the content of the
SAVEDATA
directory, delete its content, run the game and restore the files once the main menu appear to avoid a black screen when starting the game - When the screen turns black after accessing the game top menu, refresh the screen by hovering in-game menu items
- If you want to use DXVK, create a bottle using the “Gaming” preset (Wine 5.5), immediately change the Wine version to 8.21 after its creation and install
lavfilters741
andquartz
dependencies - Run the game by changing the desktop resolution during gameplay only:
nvidia-settings --assign=CurrentMetaMode="800x600" && bottles-cli run -p game -b 'example' && nvidia-settings --assign=CurrentMetaMode="1920x1080"
- On GNOME, toggle fullscreen mode with a keyboard shortcut (you have to configure it in the GNOME setting) if the game doesn’t start in fullscreen
- Extract audio files from the audio CD, rename and move them into the game directory
- Use a 32-bit prefix
- If you get a “Some files didn’t install properly” error message when running a game executable, don’t put special characters in its installation path
- After updating Bottles, Bottles “Virtual desktop” settings can conflict with program launch options so you’ll have to edit your
bottle.yml
to fix that - Revert to the
sdl
package fromsdl12-compat
using your package manager - Use an old version of Lutris (like 0.5.9.1) instead
- Run
touch DPLogViewer.ade
andtouch DPSACT2.ade
from a terminal inside the game directory to avoid slow menu transition while in-game (seems common for AliceSoft games) - Use lavfilters/lavfilters-j then switch to lavfilters-new/lavfilters-j-new if you encounter any issues
- Rename main executable extension from
.EXE
to.exe
- Backup your saves regularly.
- Edit “GAMEEXE.INI” and remove
#KOEREPLAYICON.NAME = "koeicon"
if you’re using version 1.2 of the patch to avoid getting an error at the start. - Disable “Allow the window manager to decorate the windows” and “Allow the window manager to control the windows” in “winecfg” (“Legacy Wine Tools > Configuration”), run the game then reenable these options. It should avoid showing the GNOME bar while allowing for window manipulation.
- Import this file through the registry editor once the bottle is created (you might have to change the installation path or rename the directory).
- Do not change from windowed to fullscreen mode on the main menu (it will crash the game)
- Change in-game fullscreen mode but don’t select the “Hardware interpolation” option as it can crash the game after the opening movie
Notes
- Movies don’t play
- Game starts in windowed mode and can crash while going into fullscreen mode or switching windows (restarting the game and trying again should work)
- No sound during opening playback
Game-specific information
- “Kanon” was tested with the “Ultimate Voice Patch” 3.0 and the optional 18+ patch applied.
- “One” was tested with English patch 1.5 (the “Eternal patch” needs Mono/.NET to run).
- “AIR” was tested with Gao Gao Translations’ English patch 1.0 and 1.2.
Suggested Wine versions
If you don’t know which Wine/Proton version might be the best for a particular game, try these ones:
- Caffe 7.7
- GE-Proton7-55
- GE-Proton8-6
- GE-Proton9-5
- GE-Proton9-7
- GE-Proton9-9
- GE-Proton9-10
- GE-Proton9-13
- Kron4ek Wine 8.15
- Kron4ek Wine 8.21
- Kron4ek Wine 10.0
- Lutris Wine 6.14-4
- Lutris Wine 7.2
- Proton 5.13-6
- UMU-Proton 9.0-2
- Wine 5.0
- Wine 5.5
- Wine 5.10
- Wine 6.0.1
- Wine 6.3
- Wine 6.21
- Wine 7.1
- Wine 7.2
- Wine 9.14
- Wine 9.18
- Wine 10.0
- Wine-GE-Proton7-43
- Wine-GE-Proton8-5
- Wine-GE-Proton8-13
Suggested dependencies
If you don’t know which dependencies might be needed for a particular game, try these ones:
Suggested packages
Lutris documentation about drivers, Wine dependencies and GloriousEggroll’s Blog.
- alsa-lib
- alsa-plugins
- alsa-utils
- cups
- dosbox
- ffmpeg
- giflib
- gnutls
- gst-devtools-libs
- gst-editing-services
- gst-libavgst-plugins-ugly
- gst-plugin-good
- gst-plugin-gtk
- gst-plugin-pipewire
- gst-plugins-bad
- gst-plugins-bad-libs
- gst-plugins-base
- gst-plugins-base-libs
- gst-plugins-good
- gst-python
- gstreamer
- gtk3
- lib32-alsa-lib
- lib32-alsa-plugins
- lib32-giflib
- lib32-gnutls
- lib32-gst-plugins-base
- lib32-gst-plugins-base-libs
- lib32-gst-plugins-good
- lib32-gstreamer
- lib32-gtk3
- lib32-libgcrypt
- lib32-libgpg-error
- lib32-libjpeg-turbo
- lib32-libldap
- lib32-libpng
- lib32-libpulse
- lib32-libva
- lib32-libxcomposite
- lib32-libxinerama
- lib32-libxslt
- lib32-mpg123
- lib32-ncurses
- lib32-openal
- lib32-opencl-icd-loader
- lib32-sqlite
- lib32-v4l-utils
- lib32-vulkan-icd-loader
- libgcrypt
- libgpg-error
- libjpeg-turbo
- libldap
- libpng
- libpulse
- libva
- libxcomposite
- libxinerama
- libxslt
- mpg123
- ncurses
- openal
- opencl-icd-loader
- pulseaudio
- samba
- sqlite
- v4l-utils
- vulkan-icd-loader
- wine-staging
- winetricks