osu! low-latency guide (ENG)

osu! low-latency guide (ENG)

Vudek (translated by YAUIO)

First step is to download ISO from the official site. Download Rufus and write the ISO to any useless flash drive.

System installation

  1. Boot from the USB drive and choose the first option, wait for the system to boot
picture 1 - boot option menu in the ISO installer

2. Now we are in the installer

picture 2 - welcome to arch linux

3. Type the archinstall command to get into install settings

picture 3 - archlinux installation menu

4. We will start the installation from setting up mirrors, which is option 3. Then you need to find your city/region. In my case it would be Georgia.

picture 4 - choosing a region

5. After setting up your region, you need to choose option Drives. In that guide installation is supposing that you have free SSD/HDD drive without any important data, because we will completely delete all the data. Next you need to choose Disk Layout and choosing options as shown below.

picture 5.1 - choosing a drive
picture 5.2 - choosing a layout
picture 5.3 - chossing a filesystem

6. After choosing a drive, a layout and a filesystem, you need to set up Root password.

picture 6.1 - menu option Root password

And you need to enter whatever password you want (it is password for root user). WARNING!!! Password isn't shown while typing it in, it is normal for linux.

picture 6.2 - setting up root password

7. After setting up root password choose the User account option.

picture 7.1 - menu option User account

Choose Add a user

picture 7.2 - choosing "Add a user" option

Now you need to set up username and password to your account

picture 7.3 - choosing a username and setting up password

After setting up your password, you will be asked to give the user superuser rights. You need to choose yes. Then you need to choose Confirm and exit.

picture 7.4 - superuser setting
picture 7.5 - saving user config

8. Choose Audio -> Pipewire

picture 8 - picking an audio-server

9. Choose Kernels, then find linux-zen and tick it using SpaceBar (as shown on the photo below)

picture 9 - picking a kernel

10. Choose Optional repositories, open it and tick multilib (also using SpaceBar)

picture 10 - choosing additional repositories

11. Choose Additional packages and write those packages to install:

git go chromium wine winetricks lib32-gnutls lib32-libxcomposite kitty rofi nemo flameshot

And press Enter.

picture 11 - writing additional packages (PACKAGES ON THE PHOTO ARE DIFFERENT)

12. Choose Profile. Then, choose desktop

picture 12.1 - picking graphical enviroment

In my installation i will use i3-gaps as the enviroment, so i choose i3.

picture 12.2 - picking desktop enviroment


//if you don't have i3-gaps option, choose i3-wm

picture 12.3 - picking desktop enviroment

Further install depends on your PC config.

You should choose between AMD/ATI [for AMD graphics], Nvidia (proprietary)[for Nvidia graphics], Intel [for Intel graphics] and VMware/VirtualBox [for virtual machines]

Picture 12.3 - picking a graphical driver

13. Choose Timezone and select your timezone

picture 13 - picking a timezone

14. We are installing Arch Linux on your PC, not flash drive, so you need to copy the network setting from the USB drive. Choose Network configuration.

picture 14.1 - menu option Network configuration
picture 14.2 - choose "Copy ISO network configuration"

15. Choose Install and press Enter two times. Congratulations, you are a linux user now.

picture 15.1 - Install button
picture 15.2 - starting in 3 2 1

Now you can go make yourself a deserved cup of tea or coffee, or drink some beer if you would like to. The length of installation is 100% capped with your internet speed, so you need to just wait a bit. While you are waitng, you can subscribe to mine (Vudek's) telegram, twitter, YouTube, twitch. It isn't hard for you at all, but it will make me feel a lot better :3

//Translator's (YAUIO's) socials: Twitter, Telegram, YouTube, Twitch

After the installation ended, you need to choose No, and execute reboot in the command line.

Now you need to boot into the freshly-installated system. You will see the login screen, where you need to enter the password from your user account (7.2) and press Enter. Congratulations, you made it to the insides of the system! You may already have a lot of questions, so let's start basic linux configuration.


WE ARE IN LINUX

Linux configuration

With your first login, you will be asked to create basic config. You need to agree, pressing Enter two times.

First of all, let's change that outdated console to beautiful kitty terminal.

Press Win+D and type in kitty and press Enter. Terminal will open.

terminal "kitty"

Type in

nano ~/.config/i3/config

And press Enter

Find that line using Ctrl+W

exec i3-sensible-terminal

and change i3-sensible-terminal to kitty:

exec kitty

Repeat the search using Ctrl+W, but search for other line that time:

bindsym $mod+r mode

and change the line to:

bindsym $mod+r exec "rofi -show drun -theme purple"

and somewhere in the file you need to add that line:

bindsym Print exec "flameshot gui"

and that one (for russian layout):

exec --no-startup-id "setxkbmap -layout us,ru -option grp:caps_toggle"

Save the config pressing Ctrl+O and then Enter. Ctrl+X to exit text editor.

Type the command in:

i3 reload

to check is everything working.

PrintScreen should execute flameshot, which is similar to the Windows' scissors.

Changing the language to russian (or whatever you've set up) is CapsLock.

To open any program you should use Win+R.

Now we can open our terminal threw Win+Enter and we even won't get blinded!

osu! phase

Type that line in terminal and press Enter

sudo pacman -S pipewire-media-session

and you'll need to type in your password. Type it in and choose Y to install the package.

Installing a package in archlinux

Now we'll try to run osu!

(by the way you can open Chromium using Win+R and open the guide there, to copy the lines. To paste in terminal use Mouse3)

Type in

WINEARCH=win32 WINEPREFIX=~/.wineosu winetricks dotnet45 cjkfonts gdiplus

When the MONO installation pops up, press Cancel.

Further install is Windows-alike, ticking up some options and pressing Next. After install choose Restart Later, because it won't change anything.

So, we've installed the enviroment for osu! to run, now we need to install osu!

Create a folder for osu

mkdir ~/osu/

Download osu!

wget --output-document ~/osu/osu\!.exe https://m1.ppy.sh/r/osu\!install.exe

Run osu!

WINEARCH=win32 WINEPREFIX=~/.wineosu wine ~/osu/osu\!.exe

If you've done everything correctly, now you have running osu! on archlinux.

//any issues? - dm @yauio in discord, i'll try to help

Let's make a start script for osu

Create a folder

mkdir -p ~/.local/bin

Create a script

nano ~/.local/bin/osu

And paste that in (using Mouse3, which is scrolling wheel button)

#!/usr/bin/env bash
#export PATH="/opt/wine-osu/bin:$PATH" #custom WINE ArchLinux
export PATH="$HOME/wine-osu/bin:$PATH" #custom WINE new

export WINEARCH=win32
export WINEPREFIX="$HOME/.wineosu"
export WINEFSYNC=1

export STAGING_AUDIO_DURATION=13333 #1.333ms at 48KHz
export STAGING_AUDIO_PERIOD=13333 #1.333ms at 48KHz

#export vblank_mode=0 #For AMD, Intel and others
export __GL_SYNC_TO_VBLANK=0 #For NVIDIA 

cd ~/osu
#wine --version
wine "osu!.exe" #-devserver gatari.pw

Save using Ctrl+O, exit using Ctrl+X

Type

 chmod +x ~/.local/bin/osu

Add our freshly-installed game to the program list

nano ~/.local/share/applications/osu.desktop

And paste that code into it

[Desktop Entry]
Type=Application
Comment=osu!
Exec=.local/bin/osu
GenericName=osu!
Name=osu!
StartupNotify=true

Save using Ctrl+O, exit using Ctrl+X

Now you should have osu! in Win+R program list.


Finalizing tweeks

You need to set up custom WINE version with all patches osu! needs. Here is the link

After downloading, paste that line into terminal

cd ~/Downloads && tar -xvf wine-osu-7.15.2-x86_64.tar.xz && cp -r wine-osu ~/wine-osu && rm -rf wine-osu && cd

Custom WINE build is installed!The last step is to set up low-latency settings for our audio server. Paste that line into terminal

mkdir -p ~/.config/pipewire && cp -r /usr/share/pipewire/* ~/.config/pipewire/

Than create a file using

nano ~/.config/pipewire/media-session.d/alsa-monitor.conf

Where we will write

session.suspend-timeout-seconds = 0

Save using Ctrl+O, exit using Ctrl+X

Now we need to change some values in configs

nano ~/.config/pipewire/pipewire.conf

Find that section (you won't find the wrong one) and change values to 64, as shown below

  ## Properties for the DSP configuration
  default.clock.rate     = 48000
  #default.clock.allowed-rates = [ 48000 ]
  default.clock.quantum    = 64
  default.clock.min-quantum  = 64

Save using Ctrl+O, exit using Ctrl+X

Enter the second config

nano ~/.config/pipewire/pipewire-pulse.conf

Find sections that are shown below (it is better to use Ctrl+W here) and change values to 64 as shown below

node.latency = 64/48000

And the second section is

  pulse.min.req       = 64/48000   # 5ms
  pulse.default.req   = 64/48000   # 20 milliseconds
  pulse.min.frag      = 64/48000   # 5ms
  pulse.min.quantum   = 64/48000   # 5ms
  pulse.min.req       = 64/48000   # 5ms
  pulse.default.req   = 64/48000   # 20 milliseconds
  pulse.min.frag      = 64/48000   # 5ms
  pulse.min.quantum   = 64/48000   # 5ms

Save using Ctrl+O, exit using Ctrl+X

Now we need to reload the audio server to activate new settings. Paste this line into terminal and run it using Enter

systemctl --user restart pipewire.service pipewire.socket pipewire-media-session.service pipewire-pulse.service pipewire-pulse.socket

Let's test our osu!gameplay

Enter osu! using Win+R. Before playing, you need to go to audio -> devices -> turn on compatibility mode (as shown below)

IT IS MANDATORY TO TURN IT ON, REALLY

Congartulations, now you can play osu!, but there is one problem. You probably need OpenTabletDriver, don't you?


Paste into terminal

pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si

After installation paste

yay -S opentabletdriver osu-handler osu-mime

If somethings pops up, just press Enter multiple times.

Then set up OpenTabletDriver running these lines in terminal

echo "blacklist wacom" | sudo tee -a /etc/modprobe.d/blacklist.conf


sudo rmmod wacom


echo "blacklist hid_uclogic" | sudo tee -a /etc/modprobe.d/blacklist.conf


sudo rmmod hid_uclogic


systemctl --user daemon-reload


systemctl --user enable opentabletdriver --now

Congratulations, you've set up your OTD! You can close terminal using Win+Shift+Q and open OpenTabletDriver. Press Win+R and open it using Enter or double click on Mouse1.

After opening the driver, you will see everything as in Windows.

OpenTabletDriver

Set up your area and filters, Save and Apply. Close the driver using Ctrl+X (or Win+Shift+Q if doesn't work)

CONGRATULATIONS!!! Welcome to the world of low latency and no freezes!

Guide is written by Vudek and translated to English by YAUIO. See you next time <3

Report Page