/osu-winello

osu! stable installer for Linux with patched wine-osu and other nice features 8)

Primary LanguageShellGNU General Public License v3.0GPL-3.0

osu-winello

osu! stable installer for Linux with patched wine-osu and other features.

ezgif com-video-to-gif(1)

Index

Installation

Prerequisites

The only real requirement is actually git, as the script will install the rest itself. You can easily get it like this:

Ubuntu/Debian: sudo apt install -y git

Arch Linux: sudo pacman -Sy --needed --noconfirm git

Fedora: sudo dnf install -y git

openSUSE: sudo zypper install -y git

PipeWire:

PipeWire isn't really a dependency but is highly recommended, especially with this script.

You can install it like this:

Debian (Ubuntu, Linux Mint, Pop!_OS etc..):

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install -y pipewire libspa-0.2-bluetooth pipewire-audio-client-libraries
sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream
sudo apt update 
sudo apt install -y wireplumber
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire pipewire-pulse

Arch Linux (Manjaro, Endeavour OS, etc.):

Remove PulseAudio: sudo pacman -Rdd pulseaudio

And then:

sudo pacman -Sy --needed --noconfirm pipewire pipewire-pulse pipewire-alsa wireplumber
systemctl --user enable --now pipewire.service pipewire.socket pipewire-media-session.service pipewire-pulse.service pipewire-pulse.socket

Manjaro users can instead use their distro's package: sudo pacman -S --needed --noconfirm manjaro-pipewire

Steam Deck users don't need to install PipeWire as it's already shipped by default.

Fedora:

Fedora's latest versions already ship with Pipewire ; you might want to check with this:

sudo dnf install pulseaudio-utils
pactl info

Rebooting your system is recommended e.e

openSUSE (Tumbleweed, Leap):

sudo zypper install pipewire-pulseaudio
systemctl --user daemon-reload
systemctl --user --now enable pipewire wireplumber

These commands will install the pipewire-pulseaudio and wireplumber-audio packages.

If pulseaudio is installed, zypper will warn you with a message. You should choose "Solution 1" to uninstall pulseaudio.

Since the 20220708 openSUSE Tumbleweed release, new installations use PipeWire as the default audio engine instead of PulseAudio

Note that a system upgrade from a previous openSUSE Tumbleweed release won't automatically replace PulseAudio, so you might enable and use PipeWire by yourself

Rebooting your system is highly recommended. After rebooting you might want to check if PipeWire is working:

pactl info | grep "Server Name"

Installing osu!:

git clone https://github.com/NelloKudo/osu-winello.git
cd osu-winello
chmod +x ./osu-winello.sh
./osu-winello.sh

## OR

./osu-winello.sh --basic #if you want a clean install without tweaks (advanced)

You can now launch osu! with: osu-wine

WARNING: you might need to close and relaunch your terminal to use the command.

General recommendations: use -40/35ms offset to make up for Wine (or -25 if you're using audio compatibility mode)

Features:

  • installs every needed wine dependency by itself (for distros using apt, pacman and dnf)
  • comes with utilities like osu-handler, Discord RPC (winestreamproxy) and native support for Linux file managers!
  • uses patched wine-osu binaries with the latest community patches, you can read more here and support updates according to the repo!
  • installs osu! on either default or custom path (using GUI)
  • integrates with both already existing osu! installations from Windows or with diamondburned's osu-wine
  • skips the pain of downloading prefix stuff thanks to my fork of osu-wineprefix
  • support for installing Windows fonts (fix for Japanese and special characters)
  • support for old distros too! (binaries built on GLIBC 2.27)
  • lutris support

This script is based on the guide I've written on the osu! website: more troubleshooting on the game itself can be found there e.e

Flags:

Installation script:

./osu-winello.sh # Installs the game
./osu-winello.sh --basic # Installs the game with only dotnet40 and w/o tweaks
./osu-winello.sh uninstall # Uninstalls the game

Game script:

osu-wine: Runs osu!
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 --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 latest version
osu-wine --w10fonts: Installs Windows 10 fonts from either GitHub or ISO (Needed for JP characters etc.)
osu-wine --fixprefix: Reinstalls the osu! Wineprefix from system
osu-wine --info: Troubleshooting and more info
osu-wine --remove: Uninstalls osu! and the script
osu-wine --lutris: Copies wine-osu to lutris and shows instructions to add osu! there
osu-wine --changedir: Changes directory of the install according to the user
osu-wine --devserver <server>: Runs osu on the specified devserver
osu-wine --fixfolders: Reinstalls registry keys for native file manager in case they break
osu-wine --fixsteamdeck: Reinstalls game dependencies after SteamOS updates

Steam Deck Support

Since osu! runs on Wine, you can play that 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.

Before using the script, make sure to:

  • Set a password using the passwd command
  • Disable read-only filesystem with sudo steamos-readonly disable

If you need help with pacman or just want reliable info, check these two links: Link 1 -- Link 2

The script will handle the rest itself, but you might need to reinstall dependencies after every Deck update (read more here); you can simply do that with:

osu-wine --fixsteamdeck

Credits

Special thanks to:

And that's all. Have fun playing osu!

Check the guide above for troubleshooting or extra tools!