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

  1. Create an empty wineprefix, 64-bit works perfectly fine and is recommended if you want to use other windows applications too.
  2. Using winetricks, install dotnet40 and cjkfonts
  3. (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.
  4. Install osu! with their installer.
  5. 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=01) 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

1)
__GL_SYNC_TO_VBLANK=0 is the proprietary NVIDIA equivalent

Navigation

bruh

QR Code
QR Code osu_on_linux (generated for current page)