Welcome! o/
❤️ | Thanks to everyone who donated osu! supporter! I love you guys so much <3 | ❤️
Video example:
Houkago Rakuenbu - Houkago Kakumei [Revolution!] played on Zorin OS
Guide is also out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc
A small introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to community patches and help, but it's time to make it even easier 8)
To install the game, we'll use my osu-winello script you can find at GitHub, which will handle the install itself.
Well, time to install osu! now!
Installation:
Just follow the commands and you'll be good e.e
========================================================================
Prerequisites:
First of all, check if you've already installed your GPU drivers.You can read how to do that at here.
Then install PipeWire using the following commands (according to your distro):
sudo add-apt-repository -y 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 -y 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-pulseReboot and you should be done.
Remove PulseAudio:
sudo pacman -Rdd pulseaudioAnd install PipeWire:
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.socketManjaro users can instead use their distro's package:
sudo pacman -Sy --needed --noconfirm manjaro-pipewireReboot and you should be done.
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
sudo dnf install -y pulseaudio-utils
pactl infoAnd if you see Server Name: PulseAudio (on PipeWire) you're good to go.
Now install Git, which is needed to download the script.
sudo apt install -y git
sudo pacman -Sy --needed --noconfirm git
sudo dnf install -y git
Done with prerequisites, time for the proper installation e.e
========================================================================
Installing osu!:
Installing the game is just as simple as this:git clone https://github.com/NelloKudo/osu-winello.git cd osu-winello chmod +x osu-winello.sh ./osu-winello.shFollow the script's instructions and the installation will work with no problems!
You can launch the game after relaunching your terminal with:
osu-wineor just using the shortcuts installed by the script e.e
But before playing, you need to adjust your universal offset to around -35ms, so that your osu! will sound just like on Windows.
Warning: -35ms is what I generally recommend, but try to find your sweet spot from -40ms!
And you're done! You can now play osu!
The script is bundled with some great tools too, you can check those with:
osu-wine --help
Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) or Discord (MarshNello#4178) [OS in the ss is Zorin OS 16.1]
And that's it! Enjoy playing osu! on your Linux!
You used the old guide before and want the latest updates? See this.
Got any error? (Input lag, random crashes etc.)
Check the box below:
Troubleshooting:
What really affects input lag is desktop compositing, which is active by default on many desktop environments even when gaming.
If you're using Lutris to run osu!, you can disable it from the rule as you can see here:

If you are not, check the other box for "How to add osu! to Lutris" xd
If you're using Lutris to run osu!, you can disable it from the rule as you can see here:
If you are not, check the other box for "How to add osu! to Lutris" xd
If you don't know what Lutris is, just google it and install it for your own system (it's really simple).
After doing that (and launching it at least one first time), run:
After doing that (and launching it at least one first time), run:
osu-wine --lutrisand follow the instructions told there e.e
If your osu! throws some random error while playing or dealing with maps etc, reinstalling the prefix might just magically fix those.
You can do that with:
You can do that with:
osu-wine --fixprefixand then just launch the game as usual e.e
Gamemode is a tool which might improve your gaming depending on your system: to install it and try it, follow the instructions spunout enjoyer wrote here: https://osu.ppy.sh/community/forums/topics/1248084?n=61
(great job <3)
If you notice your game's actually running worse than before, just disable its rule on Lutris/don't use it when launching the game.
(great job <3)
If you notice your game's actually running worse than before, just disable its rule on Lutris/don't use it when launching the game.
If after installing osu! your latency sounds strange and you want an even lower one, just apply gonX's PipeWire settings (don't forget to thank him for the help he always delivers with others on ThePoon's discord <3)
First of all, to prevent any missing files, run this command:
After doing this, you just need to edit the pipewire-pulse.conf file in ~/.config/pipewire/
I'll do it with nano:
Here, you might want to push your latency as far as possible: starting from 256, try to find the closest value to 32 which makes your sound stable/not cracking. It depends on your pc, there's not a "default" value xD
I'll use 32 as an example, so edit the file like this:
Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Reboot, and the settings are done e.e
First of all, to prevent any missing files, run this command:
mkdir -p ~/.config/pipewire && cp -rv /usr/share/pipewire/* ~/.config/pipewire/
After doing this, you just need to edit the pipewire-pulse.conf file in ~/.config/pipewire/
I'll do it with nano:
nano ~/.config/pipewire/pipewire-pulse.conf
Here, you might want to push your latency as far as possible: starting from 256, try to find the closest value to 32 which makes your sound stable/not cracking. It depends on your pc, there's not a "default" value xD
I'll use 32 as an example, so edit the file like this:
context.modules = { pulse.min.req = 32/48000 # 0.67ms pulse.min.quantum = 32/48000 # 0.67ms }
Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Reboot, and the settings are done e.e
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find using:
sudo apt install -y ntfs-3g
sudo pacman -Sy ntfs-3g
sudo dnf install -y ntfs-3g
Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find using:
osu-wine --info
Gosumemory actually works perfectly with this osu! guide e.e
Let's start from downloading the latest release from GitHub (you obv need to download the Linux version): https://github.com/l3lackShark/gosumemory/releases/
I'll go with amd64 since my PC is 64bits.
Now let's extract the file in the gosumemory folder: (remember to change "Downloads" to your language's name if needed!)
Let's now run gosumemory once with:
Ignore the error and edit this file:
Here, you need to edit these 2 lines like this: (replace username with your own)
You can find your osu! songs' path with 'osu-wine --info'
Save with CTRL+O and exit with CTRL+X.
Our gosumemory is now working, but let's create a script to launch it whenever we want:
There, just paste the following:
And now just launch this one:
And we're done! You can now launch gosumemory whenever you want by just typing:
Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Flatpak version of OBS (https://flathub.org/apps/details/com.obsproject.Studio) as it provides everything you might need for streaming.
Now open your osu!, launch gosumemory and then open your browser at this link: http://127.0.0.1:24050
Here you should see all the different overlays available: let's say I choose this one

You need to copy that link and paste in it OBS > Sources > Browser like this:

And you're done! PP Counter is finally working xD
Let's start from downloading the latest release from GitHub (you obv need to download the Linux version): https://github.com/l3lackShark/gosumemory/releases/
I'll go with amd64 since my PC is 64bits.
Now let's extract the file in the gosumemory folder: (remember to change "Downloads" to your language's name if needed!)
cd ~/Downloads && mkdir gosumemory
unzip -q gosumemory_linux_amd64.zip -d ~/Downloads/gosumemory/
Let's now run gosumemory once with:
cd ~/Downloads/gosumemory && chmod +x gosumemory
./gosumemory
Ignore the error and edit this file:
nano ~/Downloads/gosumemory/config.ini
Here, you need to edit these 2 lines like this: (replace username with your own)
You can find your osu! songs' path with 'osu-wine --info'
wine = true
path = /path/to/osu!/Songs
Save with CTRL+O and exit with CTRL+X.
Our gosumemory is now working, but let's create a script to launch it whenever we want:
nano ~/.local/bin/gosumemory
There, just paste the following:
#!/bin/sh cd ~/Downloads/gosumemory sudo ./gosumemory
And now just launch this one:
chmod +x ~/.local/bin/gosumemory
And we're done! You can now launch gosumemory whenever you want by just typing:
gosumemoryin your terminal! e.e
Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Flatpak version of OBS (https://flathub.org/apps/details/com.obsproject.Studio) as it provides everything you might need for streaming.
Now open your osu!, launch gosumemory and then open your browser at this link: http://127.0.0.1:24050
Here you should see all the different overlays available: let's say I choose this one
You need to copy that link and paste in it OBS > Sources > Browser like this:
And you're done! PP Counter is finally working xD
OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux
(Fedora users can use this: https://github.com/hwsmm/OpenTabletDriver.Packaging/releases/download/test/OpenTabletDriver.rpm and read more at here if they have problems not listed in FAQ.)
and enable it with:
systemctl --user enable --now opentabletdriver.service
Rebooting after that should be enough e.e
All these errors come from missing dependencies: make sure to install them all like told here: https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/
You probably only need to reboot or reload PipeWire by doing this:
systemctl --user restart pipewire pipewire-pulse systemctl --user daemon-reload
========================================================================
Credits:
Special thanks to: