osu! stable installer for Linux with patched wine-osu and other features.
The only requirements, besides 64-bit graphics drivers, are git
, zenity
,wget
and xdg-desktop-portal
(for in-game links).
You can easily install them like this:
Ubuntu/Debian: sudo apt install -y git wget zenity xdg-desktop-portal
Arch Linux: sudo pacman -Syu --needed --noconfirm git wget zenity xdg-desktop-portal
Fedora: sudo dnf install -y git wget zenity xdg-desktop-portal
openSUSE: sudo zypper install -y git wget zenity xdg-desktop-portal
As obvious as this might sound, installing drivers the right way is needed to have a great experience overall and avoid poor performance or other problems.
Keep in mind that osu! needs 64-bit graphics drivers in order to run as it should, so if you're having performance problems, it's probably related to this.
This is usually something like nvidia-utils
or nvidia-driver
for NVIDIA, and libgl1-mesa-dri
for AMD/Intel.
You may find more helpful instructions for your distro here (only 64-bit is required):
If you're still confused, try installing Steam with your package manager. That will install the necessary drivers for your distro.
PipeWire
isn't really a dependency but is highly recommended, especially with this script.
Check if it's already on your system with:
export LANG=C
pactl info | grep "Server Name"
If it shows Server Name: PulseAudio (on Pipewire)
, then you're good to go.
Otherwise, make sure to install it following the instructions at here:
git clone https://github.com/NelloKudo/osu-winello.git
cd osu-winello
chmod +x ./osu-winello.sh
./osu-winello.sh
You can now launch osu! with:
osu-wine
- You might need to relaunch your terminal to launch the game.
- Use -40/35ms offset to make up for Wine quirks (or -25 if you're using audio compatibility mode)
- Comes with updatable patched wine-osu binaries with the latest osu! patches for low-latency audio, better performance, alt-tab behavior, crashes fixes and more.
- Uses yawl to run wine-osu in Steam's runtime, providing great performance on every system without needing to download dependencies.
- Provides osu-handler for importing maps and skins, Discord RPC with rpc-bridge and support for native file managers!
- Supports the latest tosu and legacy gosumemory for streaming etc. with automatic install! (Check flags!)
- Installs osu! on either default or custom path (using the zenity GUI), also working for already existing osu! installations from Windows!
- Skips the pain of downloading Wineprefix thanks to my fork of osu-wineprefix
- Support for Windows fonts pre-installed in Wine (JP fonts, special characters etc.)
Winello allows you to set launch arguments or custom environment variables using .cfg
files located in:
~/.local/share/osuconfig/configs
An example.cfg
file is provided, containing all supported environment variables along with usage instructions.
To add mangohud
to the launch arguments, edit the example.cfg
file:
nano ~/.local/share/osuconfig/configs/example.cfg
Then, set the following line:
LAUNCH_ARGS="mangohud"
Due to the vast variety of distributions and setups, follow the guide below to optimize your osu! performance:
Please refer to osu-winello's wiki for troubleshooting of any type.
If that doesn't help, either:
- Join ThePooN's Discord and ask in #osu-linux, they'll know how to help! <3
- Write me on Discord (marshnello)
Installation script:
./osu-winello.sh: Installs the game
./osu-winello.sh --no-deps: Installs the game but skips installing dependencies
./osu-winello.sh uninstall: Uninstalls the game
./osu-winello.sh fix-yawl: Tries to fix yawl issues (partial downloads, corruption etc.)
Game script:
osu-wine: Runs osu!
osu-wine --help: Show this help
osu-wine --info: Troubleshooting and more info
osu-wine --edit-config: Open your configuration file to edit launch arguments and other customizations
osu-wine --winecfg : Runs winecfg on the osu! Wineprefix
osu-wine --winetricks: Install packages on osu! Wineprefix
osu-wine --regedit: Opens regedit on osu! Wineprefix
osu-wine --wine <args>: Runs wine + your arguments as if it was normal wine
osu-wine --kill: Kills osu! and related processes in osu! Wineprefix
osu-wine --kill9: Kills osu! but with wineserver -k9
osu-wine --update: Updates wine-osu to the latest version
osu-wine --fixprefix: Reinstalls the osu! Wineprefix from system
osu-wine --fixfolders: Reconfigure osu-handler and native file integration (run this if osu!direct/.osz/.osk/opening folders from ingame is broken)
osu-wine --fix-yawl: Reinstalls files related to yawl and the Steam Runtime in case something went wrong
osu-wine --fixrpc: Reinstalls rpc-bridge if needed!
osu-wine --remove: Uninstalls osu! and the script
osu-wine --changedir: Changes directory of the install according to the user
osu-wine --devserver <address>: Runs osu with an alternative server (e.g. --devserver akatsuki.gg)
osu-wine --runinprefix <file>: Launches a custom executable within osu!'s Wineprefix
osu-wine --osuhandler <beatmap, skin..>: Launches osu-handler-wine with the specified file/link
osu-wine --gosumemory: Installs and runs gosumemory without any needed config!
osu-wine --tosu: Installs and runs tosu without any needed config!
osu-wine --disable-memory-reader: Turn off gosumemory and tosu
NOTE: Any command can be prefixed by the letter 'n' to avoid updating when running it.
e.g. osu-wine n --fixprefix
will run --fixprefix
without overwriting any of your files from the osu-winello git repo
Since osu! runs on Wine in the Steam Linux Runtime (same as Proton), you should be able to play on Steam Deck as well!
It is recommended to not manually install PipeWire on the Steam Deck as it is already installed by default and attempting to do so may cause audio issues.
Special thanks to:
- whrvt aka spectator for his help with Wine, Proton and related, never failed to solve any issue :')
- ThePooN's Discord for supporting Winello since its early stages!
- gonX's wine-osu
- Integrating native file manager by Maot
- KatouMegumi's guide
- hwsnemo's wine-osu
- diamondburned's osu-wine
- openglfreak's packages
- EnderIce2's rpc-bridge
- Last but not least, every contributor. Thanks for making Winello even better!
And that's all. Have fun playing osu!