Table of Contents
Osu! on Linux
Osu works pretty well on Linux, it just requires a bit of configuration for low-latency playing.
Requirements
- Wine Staging (current version in Gentoo repos fix alot of issues in the older versions of wine)
- Winetricks
Wine Gecko or Mono isn't needed, we won't be using them. This install assumes a default pulseaudio config. Staging is preferred over vanilla if possible, but osu! can run with vanilla just fine with some tweaks.
Setup
- Create an empty wineprefix, 64-bit works perfectly fine and is recommended if you want to use other windows applications too.
- Using winetricks, install
dotnet40
andcjkfonts
- (optional) Install
gdiplus
. While this fixes the option menu icons and audio player icons, it breaks cjk fonts using the fontaliases that wine does by default, you will have to copy over windows fonts to fix this. - Install osu! with their installer.
- Create a .desktop file in
~/.local/share/applications
. See template.
Alternative: Use Lutris
The Windows version
of osu! Stable on Lutris' website is another good way to install the game. It contains tkg's patched wine v4.16 with Poon's audio fixes alongside other things. Its recommended to follow Poon's guide after setting this one up. Also, since the installer adds gdiplus
into the wineprefix, you must copy over Windows fonts for CJK text to display properly. Apart from that, it is practically plug and play.
.desktop Template
- osu!.desktop
[Desktop Entry] Exec=wine /home/<user>/.wine/drive_c/users/<user>/Local\ Settings/Application\ Data/osu\!/osu\!.exe #Exec=env PULSE_LATENCY_MSEC=40 vblank_mode=0 wine /home/<user>/.wine/drive_c/users/<user>/Local\ Settings/Application\ Data/osu\!/osu\!.exe Name=osu! Comment=Weeb circle clicking game Icon=osu.png StartupWMClass=osu!.exe Type=Application Categories=Game; MimeType=x-scheme-handler/discord-367827983903490050;x-scheme-handler/osu;
Replace <user>
with your Linux user. The commented Exec
option is for an older version of wine that required PULSE_LATENCY_MSEC=40
to prevent audio artifacts. vblank_mode=0
1) stops vsync if you are having issues with your desktop environment. Place osu.png in ~/.local/share/icons
for a lovely icon.
OpenTabletDriver
Linux users are lucky to have 1 osu! tablet driver available! It's cross-platform, open-source, and the successor to hawku's drivers which are windows only :/. Anyways, it's called OpenTabletDriver and it is a C# program. You can manually install it into /opt
, and make a cronjob/systemd-user service to start the daemon on boot. The AUR package also has an icon and accompanating .desktop file. Be sure to blacklist the wacom
drivers and copy over the provided udev rules to avoid permission errors. Check the FAQ if there are any other issues. This driver works 100x better than the native Windows/Linux wacom drivers.
Discord RPC
To get Discord RPC working on the lutris version of osu!, use this script and follow the README.md
instructions.
Notes
- While Poon's wine modifications seem to improve latency alot, the newer version of wine don't have as bad latency as the older ones and his patch no longer compiles on the latest staging version. Maybe I still should try it sometime though.
- Play on unlimited framerate, you can notice a decrease in responsiveness otherwise.
- Don't play with fucking mouse acceleration. You can disable it in GNOME with
gnome-tweaks
.
References
__GL_SYNC_TO_VBLANK=0
is the proprietary NVIDIA equivalent