- Install wine from the official repositories, wine 7.12 is stable enough to run osu!
$ sudo pacman -S wine
$ WINEPREFIX="/home/(your username here)/.wineosu" WINEARCH=win64 winetricks dotnet48 cjkfonts corefonts meiryo vlgothic gdiplus_winxp win2k3
- This will create the wine prefix, install fonts and .NET to run the game
- If it asks you to install mono and gecko, don't install them
# pacman -S --needed wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader
- These are some libraries used by wine, some are to have internet connection and/or make the game even run
- Get the osu installer:
wget https://m1.ppy.sh/r/osu!install.exe
- Launching the installer in the WINEPREFIX we
WINEPREFIX="/home/(your username here)/.wineosu" WINEARCH=win64 wine64 (path to osu installer)
- Select
C:/
as the install path, "osu! will install to C:/osu! in x..." - Now osu! will open, close it, we will make a start script
- create a text/shell file where you want the start script to be
#! /bin/sh
export WINEPREFIX="/home/(your username here)/.wineosu"
export WINEARCH=win64
if [[ -z "$1" ]]; then
wine64 C:/osu\!/osu\!.exe
fi
if [[ $1 == "config" ]]; then
winecfg
fi
if [[ $1 == "tricks" ]]; then
winetricks
fi
if [[ $1 == "kill" ]]; then
wineserver -k
fi
- XDG spec doesn't support enviroment variables. Enter your username manually
- Make the script executable:
chmod +x (path to your osu script)
./script
Opens osu!./script "config"
Opens winecfg in the osu WINEPREFIX./script "tricks"
Opens winetricks in the osu WINEPREFIX./script "kill"
kills everything running in the osu WINEPREFIX
- Install
osu-handler
from the AUR
wget --output-document ~/.osulogo.png https://github.com/ppy/osu-wiki/raw/master/wiki/Brand_identity_guidelines/img/usage-full-colour.png
- Create the .desktop file:
touch ~/.local/share/applications/osustable.desktop
- Paste this into the file:
[Desktop Entry]
Exec=(Path to you osu start script)
Icon=/home/(username here)/.osulogo.png
Name=osu!
- XDG spec doesn't support enviroment variables. Enter your username and path manually
- This is your .desktop entry, you can make a symlink to the desktop to have it there if you prefer to do so
- If you are using PulseAudio, uninstall and disable it, if you don't know if you are using PA, check with
pactl info
- Install pipewire:
sudo pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-media-session
- Enable and start pipewire:
systemctl --user enable --now pipewire.service pipewire.socket pipewire-media-session.service pipewire-pulse.service pipewire-pulse.socket
-
Copy default config to user's config:
cp -r /usr/share/pipewire/* ~/.config/pipewire/
-
Add this line
pulse.min.quantum = 48/48000 # 1m
in~/.config/pipewire/pipewire-pulse.conf
-
The lower the value, the lower latency you get, 48 means how big the packet is, if you have problems below 1ms then set it to 1ms
-
You may want to edit other files to have the correct sample rate, this is defined in
.config/pipewire/media-session.d/alsa-monitor.conf
asaudio.rate
, make sure you edit output instead of input
- Edit the line that says
session.suspend-timeout-seconds
inmedia-session.d/alsa-monitor.conf
, uncomment this line and change the value to 0
- Install
opentabletdriver
from the AUR - Enable and start OTD:
systemctl --user enable --now opentabletdriver.service
- Add this to
/etc/modprobe.d/blacklist.conf
to disable kernel modules so it doesn't get in the way of OTD
blacklist wacom
blacklist hid_uclogic
- Stopping wacom drivers:
rmmod wacom
- Stopping other tablet drivers:
rmmod hid_uclogic
- Reconnect your tablet to apply the udev rules
- If you have problems, check out https://opentabletdriver.net/Wiki/FAQ/Linux
- It is HIGLY recommended to adjust your universal offset according to your setup, checkout ThePoon's server on how to measure latency and to check what value fits your best
- If you don't have a LOCALE set, set one, this is to allow non-english characters in beatmaps and skin paths
- If you STILL have problems after all this, ask for help in the #osu-linux channel in ThePoon's server, they know best