Alright, so you want to install osu! on Endeavour OS. I just reinstalled my system. Two birds with one stone!
Based on https://wiki.archlinux.org/title/User:Katoumegumi
My Windows installation has been unstable since year 1 of my computer, and it even went to the point that when I open osu! sometimes it would just not work, black out my screen and play the last sound it was playing (see audio when a BSOD happens)
Yesterday I went to install the latest update, click on restart, yadiyadiyada and unfortunately my computer CRASHED. I didn't feel nervous until I opened up the game to play a bit and find out that my skin was the default one.
Okay, strange, lemme open up the game...
It starts importing all beatmaps.
Okay then, a bit understandable because the update is all about difficulty calculator.
When it finishes, I go to my most recent plays.
I go into my collections.
They're still there.
Okay, but are the scores there?
Thus, after recovering my replays using a batch scripts that opens all
.osr files in my
Data\r folder, I just moved to linux, and this is a writeup on how I've been installing the game since my first time in April.
We first need to install wine and winetricks, to do so run:
sudo pacman -S wine wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks sudo mv ./winetricks /usr/local/bin/winetricks
We now need to install dependencies like fonts or dotnet to make osu! run correctly
WINEARCH=win32 WINEPREFIX=~/.wineosu winetricks dotnet40 dotnet45 cjkfonts gdiplus
(update 12/19/2023): added
dotnet45 to make it work with gosumemory
Skipping this part, but basically download the installer and run it.
I already have my own 3-year-old installation with all my everything on it, so I'm bind-mounting it.
Create a directory:
And then I added the following fstab line:
/mnt/HDD/osu! /home/srizan/.wineosu/osu none defaults,bind 0 0
WINEARCH=win32 WINEPREFIX=~/.wineosu wine ~/.wineosu/osu/osu\!.exe twice leads us in the osu! installer with no network connection found.
This is a bit easy to fix, as Wine itself yields this error if you scroll up a bit:
01b0:err:winediag:process_attach Failed to load libgnutls, secure connections will not be available.
Looking the package up in the Arch Linux repos, a package called
lib32-gnutls shows up which looks to be exactly what we want.
After installing it, the SSL connection worked and the game is going to sta- too bad!
You thought that was gonna be IT!
It wants a GL context, which we don't have, so installing
lib32-mesa fixes it. Easy!
Now, the window is... dark? WHEN ARE WE DONE MAN?
Welp, when going to almost the top of the file, we can see this:
0024:err:winediag:create_gl_drawable XComposite is not available, using GLXPixmap hack.
The game is, according to peppy, held with duct tape, so no hacks are really going to work.
Here we go, yet ANOTHER lib32 package should fix it.
It opens up!
Yeah. Nice. No audio.
Browsing through the Arch forums I found , and I installed the three
lib32-alsa-plugins lib32-libpulse lib32-openal packages.
And it started up! (too lazy to screenshot)
edit a file in
~/.wineosu/osu/start.sh with the following contents:
#!/usr/bin/env bash # props to Katoumegumi for the original script, this is exactly the same one and it works wonders. #export PATH="$HOME/.wineosu/osuwine/bin:$PATH" #Use custom WINE version to run osu! export WINEARCH=win32 export WINEPREFIX="$HOME/.wineosu" #export WINEFSYNC=1 #VSync. For some reason, some people had been getting input latency issues and for some reason, the fix is to set VSync to off. export vblank_mode=0 #For AMD, Intel and others export __GL_SYNC_TO_VBLANK=0 #For NVIDIA proprietary and open source >=500 #export STAGING_AUDIO_PERIOD=10000 #start osu! wine osu\!.exe
Download the osu! logo:
wget --output-document ~/.wineosu/osu/icon.png https://github.com/ppy/osu-wiki/raw/master/wiki/Brand_identity_guidelines/img/usage-full-colour.png
and finally edit a new file in the path
Comment=A free-to-play rhythm game inspired in Osu! Tataekae! Ouendan!
Way harder than I thought. If you want the command with all dependencies, type in:
sudo pacman -S lib32-gnutls lib32-mesa lib32-alsa-plugins lib32-libpulse lib32-openal