forum

Installing osu! on Linux with low-latency [2025]

posted
Total Posts
366
show more
Topic Starter
MarshNello

ImPristine wrote:

KatouMegumi wrote:

PSA: If you use pipewire, don't update to 0.3.41 yet or use self built version from git.
so what version of pipewire that is the most stable?

EDIT: i use pipewire 0.3.40

I’d stay on 0.3.40 for a while as latest version broke my OBS somehow lmao
nah it works fine kekw
multimode freak

Kolmas wrote:

System.AccessViolationException
Welcome to hell.
Topic Starter
MarshNello

Doxxz wrote:

Kolmas wrote:

System.AccessViolationException
Welcome to hell.
Coming from heaven with an update e.e
First things first: what all these crashes have in common (besides System.AccessViolationException) is OSSOCK.select, and as I've read on ThePoon's ds (ty openglfreak) this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



Then I built it with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).
Kolmas

MarshNello wrote:

Doxxz wrote:

Kolmas wrote:

System.AccessViolationException
Welcome to hell.
Coming from heaven with an update e.e
First things first: what all these crashes have in common (besides System.AccessViolationException) is OSSOCK.select, and as I've read on ThePoon's ds (ty openglfreak) this socket code crash has been fixed in the latest Wine 7.0-rc3. Therefore I built it with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/1YOMPZbgRTCR9j-9v9jREpDfkF3zOfaqy/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).
thx so much for everyone's work, hopefully this does fix the crashes and stop ruining my marathon run XD
BoofMonke
I have a question, the hit circles appear to be more choppy than on windows. Is there any way to fix this?

On windows it runs at a proper 240fps framerate, but on Linux everything runs at 240, but the hitcircles are slowed down to 60, this is really bugging me.

Any way to fix ?

Also, I've heard that pipewire is not necessary as the +25ms delay does the job even for pulse. Is this true? I really can't upgrade to PipeWire as 1 crucial thing i depend on (Viper4Linux) does not work properly under pipewire even with all the tweaks about audio underflow etc.
ImPristine

MarshNello wrote:

ImPristine wrote:

KatouMegumi wrote:

PSA: If you use pipewire, don't update to 0.3.41 yet or use self built version from git.
so what version of pipewire that is the most stable?

EDIT: i use pipewire 0.3.40
I’d stay on 0.3.40 for a while as latest version broke my OBS somehow lmao
my debian repository only has pipewire 0.3.42 version
onegabriel

BoofMonke wrote:

Also, I've heard that pipewire is not necessary as the +25ms delay does the job even for pulse. Is this true? I really can't upgrade to PipeWire as 1 crucial thing i depend on (Viper4Linux) does not work properly under pipewire even with all the tweaks about audio underflow etc.
-25ms works fine for me on pulseaudio
Isshiki Kaname
pipewire 0.3.42 works fine, lol.
Topic Starter
MarshNello

KatouMegumi wrote:

pipewire 0.3.42 works fine, lol.
lmao I figured my obs broke for damn easyeffects 💀
EnderNeko
How do i delete osu! because i just need to reinstall again
Topic Starter
MarshNello

EnderNeko wrote:

How do i delete osu! because i just need to reinstall again
If you only want to uninstall the script, there’s:

cd osu-wine
sudo ./install.sh uninstall

You can also delete the osu! folder and the Wineprefiz with:

sudo rm -rf ~/.local/share/osu-wine
BeefBoy
I installed and everything is working fine but i cannot drag and drop osz and osk files. is there a fix for this as i currently don't have supporter
Topic Starter
MarshNello

BeefBoy wrote:

I installed and everything is working fine but i cannot drag and drop osz and osk files. is there a fix for this as i currently don't have supporter
This script somehow disables that so here's the fix:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine
Kolmas
just today i found that all cjk characters are shown as blocks, i then installed ttf-win10 but it didn't solved the problem, how can i fix it?

ok after several reboot it's working again, just the font size looks a bit too large
krvqx
for some reason, if i try to change slider velocities or timings in editor by pressing F6, the whole game crashes
this didn't happen until recently and no idea why
i did the latest Patches (7.0 one) and didn't help
mqwilliamscom
I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Topic Starter
MarshNello

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
You sure you’re using PipeWire? That sounds like some Pulse thing xd always if you didn’t mess with Pipewire’s settings
mqwilliamscom

MarshNello wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
You sure you’re using PipeWire? That sounds like some Pulse thing xd always if you didn’t mess with Pipewire’s settings


100%. I typed in pactl info and got this string:

Server String: /run/user/1000/pulse/native
Library Protocol Version: 33
Server Protocol Version: 35
Is Local: yes
Client Index: 784
Tile Size: 65472
User Name: (blocking for private reasons)
Host Name: (blocking for private reasons)
Server Name: PulseAudio (on PipeWire 0.3.43)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_05_00.6.analog-stereo
Default Source: alsa_input.pci-0000_05_00.6.analog-stereo
Cookie: 7116:75cf
Topic Starter
MarshNello

krvqx wrote:

for some reason, if i try to change slider velocities or timings in editor by pressing F6, the whole game crashes
this didn't happen until recently and no idea why
i did the latest Patches (7.0 one) and didn't help
could you give me the logs for that? just run osu-wine in your terminal, try pressing F6 in editor and post the output here

edit: i’m also gonna update the guide in a few days so if it doesn’t fix, try with that
krvqx

MarshNello wrote:

krvqx wrote:

for some reason, if i try to change slider velocities or timings in editor by pressing F6, the whole game crashes
this didn't happen until recently and no idea why
i did the latest Patches (7.0 one) and didn't help
could you give me the logs for that? just run osu-wine in your terminal, try pressing F6 in editor and post the output here

edit: i’m also gonna update the guide in a few days so if it doesn’t fix, try with that
https://pastebin.com/mcLEJbyD
AnjoK

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.

UPDATE. installed Ubuntu 21.10 and all of the issues persist even with a completely fresh install. when the game crashes with a specific beatmap it crashes with "01c0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046" it's not a corrupted file, re-downloading fixes it until i restart the game, then the issue comes back.
mqwilliamscom

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
Kolmas

mqwilliamscom wrote:

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
This happens to me just today (things are fine yesterday even after two reboot and a system update) , turning on audio compatibility mode does solve the audio issue but whenever i tried to play a map or watch a replay, it will stuck and jitter on the first note then straight up crashing the game and shows the following error code
01b0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046
Astironom

MarshNello wrote:

final result:


UPDATE: Guide is finally out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc

A little introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to ThePoon's patches and Franc[e]sco's guide, but thanks to PipeWire and to the latest custom builds it's actually even easier. Let's start 8^)

Prerequisites:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
 sudo apt update && sudo apt upgrade && sudo apt install git curl build-essential zstd
Arch Linux (Manjaro, Endeavour OS, etc.):
 sudo pacman -Syu git p7zip wget
Fedora:
 sudo dnf update 
 sudo dnf install git zstd p7zip p7zip-plugins wget 
 sudo dnf groupinstall "Development Tools" "Development Libraries" 

install wine and its dependencies:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update
sudo apt install --install-recommends winehq-staging
sudo apt install winetricks

Arch Linux (Manjaro, Endeavour OS, etc.):
make sure to enable multilib first (https://i.imgur.com/DuLktxI.jpg)
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
sudo pacman -S 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 alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama 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 cups samba dosbox

Fedora:
 sudo dnf install alsa-plugins-pulseaudio.i686 glibc-devel.i686 glibc-devel libgcc.i686 libX11-devel.i686 freetype-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXext-devel.i686 libXxf86vm-devel.i686 libXrandr-devel.i686 libXinerama-devel.i686 mesa-libGLU-devel.i686 mesa-libOSMesa-devel.i686 libXrender-devel.i686 libpcap-devel.i686 ncurses-devel.i686 libzip-devel.i686 lcms2-devel.i686 zlib-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 cups-devel.i686 libxml2-devel.i686 openldap-devel.i686 libxslt-devel.i686 gnutls-devel.i686 libpng-devel.i686 flac-libs.i686 json-c.i686 libICE.i686 libSM.i686 libXtst.i686 libasyncns.i686 liberation-narrow-fonts.noarch libieee1284.i686 libogg.i686 libsndfile.i686 libuuid.i686 libva.i686 libvorbis.i686 libwayland-client.i686 libwayland-server.i686 llvm-libs.i686 mesa-dri-drivers.i686 mesa-filesystem.i686 mesa-libEGL.i686 mesa-libgbm.i686 nss-mdns.i686 ocl-icd.i686 pulseaudio-libs.i686 sane-backends-libs.i686 tcp_wrappers-libs.i686 unixODBC.i686 samba-common-tools.x86_64 samba-libs.x86_64 samba-winbind.x86_64 samba-winbind-clients.x86_64 samba-winbind-modules.x86_64 mesa-libGL-devel.i686 fontconfig-devel.i686 libXcomposite-devel.i686 libtiff-devel.i686 openal-soft-devel.i686 mesa-libOpenCL-devel.i686 opencl-utils-devel.i686 alsa-lib-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pulseaudio-libs-devel.i686 pulseaudio-libs-devel gtk3-devel.i686 libattr-devel.i686 libva-devel.i686 libexif-devel.i686 libexif.i686 glib2-devel.i686 mpg123-devel.i686 mpg123-devel.x86_64 libcom_err-devel.i686 libcom_err-devel.x86_64 libFAudio-devel.i686 libFAudio-devel.x86_64
 sudo dnf groupinstall "C Development Tools and Libraries"
 sudo dnf groupinstall "Development Tools"
 sudo dnf install wine

(if you're using other distros, give this a look https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/)

also make sure you installed the right drivers for your gpu:
https://github.com/lutris/docs/blob/master/InstallingDrivers.md

Let's begin from Latency:
Latency: Installing Pipewire
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
To install Pipewire on Debian, just follow these commands:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire-media-session.service pipewire pipewire-pulse
And then just reboot and you should be done.

Arch Linux (Manjaro, Endeavour OS, etc.):
Remove PulseAudio:
sudo pacman -Rdd pulseaudio
And install PipeWire:
sudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
And then just reboot and you should be done.

Fedora:
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
 sudo dnf install pulseaudio-utils
 pactl info
And if you see Server Name: PulseAudio (on PipeWire) you're good to go.

After doing this, you should be already done with Pipewire :D

Now let's install osu! and set up our Wine:
Installing osu! (All distros)
To install osu!, we'll just use Forefront's package on gitlab (https://gitlab.com/osu-wine/osu-wine). His package is the most stable one I've ever tried, so huge grats and credits to him e.e

Installing the game is just as simple as this:

git clone https://gitlab.com/osu-wine/osu-wine
cd osu-wine
sudo ./install.sh
osu-wine

The game is now working, but we need to change the Wine version to an osu! specific one.
To do this, let's download the wine-osu 7.0 package with gonX's patches from here:
https://drive.google.com/file/d/1xgJIe18ccBx6yjPcmBxDbTnS1XxwrAcc/view?usp=sharing

Once you've done that, you need to extract the package.
You can do it like this: (remember to change "Downloads" to your language's name if needed!)

cd ~/Downloads
tar -xf wine-osu-7.0-x86_64.pkg.tar.zst

Now let's copy the extracted folder to the /opt directory:

sudo cp -r ~/Downloads/opt/wine-osu/ /opt

And let's edit the /etc/osu-wine.conf file:

sudo nano /etc/osu-wine.conf

Here, you need to uncomment the PATH line at the end, just like this:

## Path, DO NOT EDIT THIS VARIABLE, ONLY UNCOMMENT
PATH="/opt/wine-osu/bin:$PATH"

Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Now use this last command to copy the .conf file:

cp /etc/osu-wine.conf ~/.osu-wine.conf

Last but not least: run this to fix drag and drop songs:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine

The installation is now finished! You need just to open osu! and run it.

But before playing, the last thing you need to do is to set your universal offset to -25ms, so that your osu! will sound just like on Windows.



Warning: -25ms is what I generally recommend, but try to find your sweet spot from -40ms!

And you're done! You can now play osu!



Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) [OS in the ss is Arch Linux GNOME]
And that's it! Enjoy playing osu! on your Linux!

Got any error? (GLIBC, Game not starting, input lag, random crashes etc.)
Check the box below:


Extra info and troubleshooting:

Open me \o/:
Game won't start/ntdll.so (GLIBC_2.32) error
This error actually occurs a lot when using Ubuntu or Debian-based distros. whose GLIBC isn't updated.
Before doing anything, upgrading your system might fix depending on your distro:

sudo apt update
sudo apt upgrade
If that didn't help, we will need to change some things xD

Assuming you've followed the guide until the end, let's delete wine-osu first.

sudo rm -rf /opt/wine-osu/

Let's now download another version, working on older GLIBCs as well.
Make sure curl is installed first:

sudo apt install curl

And now:

echo 'deb http://download.opensuse.org/repositories/home:/hwsnemo:/packaged-wine-osu/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:hwsnemo:packaged-wine-osu.list
curl -fsSL https://download.opensuse.org/repositories/home:hwsnemo:packaged-wine-osu/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hwsnemo_packaged-wine-osu.gpg > /dev/null
sudo apt update
sudo apt install wine-osu

You can now play perfectly fine e.e

(Instructions might change depending on your distro, you can check yourself here:
https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu)

Input lag/Compositing

First of all, if you're gaming on Linux make sure to install all the necessary dependencies listed above (see Wine and dependencies)

Otherwise, 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:
(thanks TheKej for the reply below <3)


If you are not, check the other box for "How to add osu! to Lutris" xd

How to add osu! to Lutris

If you don't know what Lutris is, just google it and install it for your own system (it's really simple).

Now, if you're never used Lutris before, open it and then run this command:

cd ~/.local/share/lutris/runners/ && mkdir wine

This will create our wine folder; then, let's copy the Wine version we downloaded beforehand here as well:

sudo cp -r /opt/wine-osu/ ~/.local/share/lutris/runners/wine

Close Lutris and open it again.
Click on the + button you can find on the top left of your Lutris and just write osu! (or whatever you want) in the name. For the runner instead, just choose Wine (click yes to whatever pops up). It should look like this:



After this, go on the "Game options" box and just set it up like this:

Executable:
~/.local/share/osu-wine/OSU/osu!.exe
Working directory:
~/.local/share/osu-wine/OSU
Wine prefix:
~/.local/share/osu-wine/WINE.win32

Example:



Now let's go to the "Runner options" box and here select "wine-osu":



Last but not least, let's disable our desktop effects aka compositor in "System options" (enable advanced options):



And we're done! You can now run your osu! through Lutris as well!

osu! disappears/crashes randomly

These random crashes have been a thing for many people as they depended on a wine bug, and what those have in common (besides System.AccessViolationException) is OSSOCK.select. As I've read on ThePoon's ds (ty openglfreak), this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



So I built Wine 7.0-rc4 with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).

Optimize your performance: Gamemode

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 games are actually running worse than before, just disable its rule on Lutris/don't use it when starting the game.

Even lower latency: gonX's PipeWire settings

If after installing osu! your latency sounds strange and you want an even lower one, we'll apply gonX's PipeWire "patch" (credits to him and 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:

 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:

sudo 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 patch is done e.e

Moving your songs/skins from Windows
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Fedora:
sudo dnf install ntfs-3g

Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find at:
~/.local/share/osu-wine/OSU

PP Counter for OBS: gosumemory
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 as 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
 sudo ./gosumemory


Ignore the error and edit this file:

 sudo nano ~/Downloads/gosumemory/config.ini

Here, you need to edit these 2 lines like this: (replace username with your own)

 wine = true 
 path = /home/username/.local/share/osu-wine/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:

 sudo nano /usr/bin/gosumemory

Here, just paste these commands:

 #!/bin/sh

cd ~/Downloads/gosumemory
sudo ./gosumemory

And now just launch this one:

 sudo chmod +x /usr/bin/gosumemory

And we're done! You can now launch gosumemory whenever you want by just typing:

 gosumemory
in your terminal! e.e

Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Snap version of OBS (https://snapcraft.io/obs-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

Tablet drivers on Linux: OpenTabletDriver (+ Fedora install)

OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux

Fedora isn't supported yet as of right now, so you need to compile it from source to actually use it. It's a bit long, but I wrote every step here e.e:

Fedora instructions
Compiling OTD from source
Let's start from dependencies: (most of them should be already installed)

 sudo dnf install libX11 libXrandr libevdev gtk3 bash

Let's now install .NET 6 SDK which isn't available in repositories yet xd
Follow these commands:

 cd && wget https://download.visualstudio.microsoft.com/download/pr/17b6759f-1af0-41bc-ab12-209ba0377779/e8d02195dbf1434b940e0f05ae086453/dotnet-sdk-6.0.100-linux-x64.tar.gz && mkdir dotnet

 tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C dotnet/

 export PATH=$PATH:$HOME/dotnet

Last thing to do is to build OpenTabletDriver:

 git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git && cd OpenTabletDriver/

 chmod +x build.sh

Now replace username with your own:

 sudo env "PATH=$PATH:/home/username/dotnet/" ./build.sh

 chmod +x generate-rules.sh

 sudo env "PATH=$PATH:/home/username/dotnet/" ./generate-rules.sh

 sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

Let's now create a script to launch OTD:

OTD Scripts
Let's start:

 sudo nano /usr/bin/otd

Here, you need to paste this: (change username with your own)

 !/bin/bash
cd /home/username/OpenTabletDriver/OpenTabletDriver.UX.Gtk/bin/Release/net6.0/linux-x64
export PATH=$PATH:$HOME/dotnet
dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/otd

Let's now create a script to launch the OTD daemon:

 sudo nano /usr/bin/otddaemon

Paste this: (change username with your own)

 #!/bin/bash
cd /home/username/OpenTabletDriver/bin
export PATH=$PATH:$HOME/dotnet
if [ $# -eq 0 ]
then
    if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
    then
        echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
        exit 64
    fi
    dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
else
    dotnet ./OpenTabletDriver.Console.dll "$@"
fi

Now just run this:

 sudo chmod +x /usr/bin/otddaemon

Our two scripts are now finally set up; let's create the last one to launch both together:

 sudo nano /usr/bin/opentabletdriver

Here, just paste this:

 #!/bin/bash
otddaemon &
P1=$!
otd &
P2=$!
wait $P1 $P2

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/opentabletdriver

You're finally done! Launch OTD by typing:

 opentabletdriver
in your terminal e.e

osu! installer can't download files/XComposite error etc.

All these errors come from missing dependencies: make sure to install them all (see Wine and dependencies)

No sound when opening osu!

You probably only need to reboot or reload PipeWire by doing this:

sudo systemctl --user restart pipewire pipewire-pulse
sudo systemctl --user daemon-reload

Special thanks to:
  1. KatouMegumi's guide: https://wiki.archlinux.org/title/User:Katoumegumi#osu!_(stable)_on_Arch_Linux
  1. ThePoon's Discord server: https://discord.com/invite/thepoon
  1. GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
  1. hwsnemo's prepackaged wine-osu:
    https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu
  1. l3lackShark's gosumemory: https://github.com/l3lackShark/gosumemory
And to everyone willing to help! :3
hello, what exactly is the archlinux gnome you are using, I am using gnome but it is not like yours.
Topic Starter
MarshNello

Kolmas wrote:

mqwilliamscom wrote:

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
This happens to me just today (things are fine yesterday even after two reboot and a system update) , turning on audio compatibility mode does solve the audio issue but whenever i tried to play a map or watch a replay, it will stuck and jitter on the first note then straight up crashing the game and shows the following error code
01b0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046
latest pipewire broke something here too a.a try to revert with downgrade
Kolmas

MarshNello wrote:

Kolmas wrote:

mqwilliamscom wrote:

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
This happens to me just today (things are fine yesterday even after two reboot and a system update) , turning on audio compatibility mode does solve the audio issue but whenever i tried to play a map or watch a replay, it will stuck and jitter on the first note then straight up crashing the game and shows the following error code
01b0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046
latest pipewire broke something here too a.a try to revert with downgrade
downgrading from 0.3.44 to 0.3.43 works, thx for the tip
caaath

MarshNello wrote:

final result:


UPDATE: Guide is finally out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc

A little introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to ThePoon's patches and Franc[e]sco's guide, but thanks to PipeWire and to the latest custom builds it's actually even easier. Let's start 8^)

Prerequisites:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
 sudo apt update && sudo apt upgrade && sudo apt install git curl build-essential zstd
Arch Linux (Manjaro, Endeavour OS, etc.):
 sudo pacman -Syu git p7zip wget
Fedora:
 sudo dnf update 
 sudo dnf install git zstd p7zip p7zip-plugins wget 
 sudo dnf groupinstall "Development Tools" "Development Libraries" 

install wine and its dependencies:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update
sudo apt install --install-recommends winehq-staging
sudo apt install winetricks

Arch Linux (Manjaro, Endeavour OS, etc.):
make sure to enable multilib first (https://i.imgur.com/DuLktxI.jpg)
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
sudo pacman -S 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 alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama 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 cups samba dosbox

Fedora:
 sudo dnf install alsa-plugins-pulseaudio.i686 glibc-devel.i686 glibc-devel libgcc.i686 libX11-devel.i686 freetype-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXext-devel.i686 libXxf86vm-devel.i686 libXrandr-devel.i686 libXinerama-devel.i686 mesa-libGLU-devel.i686 mesa-libOSMesa-devel.i686 libXrender-devel.i686 libpcap-devel.i686 ncurses-devel.i686 libzip-devel.i686 lcms2-devel.i686 zlib-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 cups-devel.i686 libxml2-devel.i686 openldap-devel.i686 libxslt-devel.i686 gnutls-devel.i686 libpng-devel.i686 flac-libs.i686 json-c.i686 libICE.i686 libSM.i686 libXtst.i686 libasyncns.i686 liberation-narrow-fonts.noarch libieee1284.i686 libogg.i686 libsndfile.i686 libuuid.i686 libva.i686 libvorbis.i686 libwayland-client.i686 libwayland-server.i686 llvm-libs.i686 mesa-dri-drivers.i686 mesa-filesystem.i686 mesa-libEGL.i686 mesa-libgbm.i686 nss-mdns.i686 ocl-icd.i686 pulseaudio-libs.i686 sane-backends-libs.i686 tcp_wrappers-libs.i686 unixODBC.i686 samba-common-tools.x86_64 samba-libs.x86_64 samba-winbind.x86_64 samba-winbind-clients.x86_64 samba-winbind-modules.x86_64 mesa-libGL-devel.i686 fontconfig-devel.i686 libXcomposite-devel.i686 libtiff-devel.i686 openal-soft-devel.i686 mesa-libOpenCL-devel.i686 opencl-utils-devel.i686 alsa-lib-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pulseaudio-libs-devel.i686 pulseaudio-libs-devel gtk3-devel.i686 libattr-devel.i686 libva-devel.i686 libexif-devel.i686 libexif.i686 glib2-devel.i686 mpg123-devel.i686 mpg123-devel.x86_64 libcom_err-devel.i686 libcom_err-devel.x86_64 libFAudio-devel.i686 libFAudio-devel.x86_64
 sudo dnf groupinstall "C Development Tools and Libraries"
 sudo dnf groupinstall "Development Tools"
 sudo dnf install wine

(if you're using other distros, give this a look https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/)

also make sure you installed the right drivers for your gpu:
https://github.com/lutris/docs/blob/master/InstallingDrivers.md

Let's begin from Latency:
Latency: Installing Pipewire
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
To install Pipewire on Debian, just follow these commands:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire-media-session.service pipewire pipewire-pulse
And then just reboot and you should be done.

Arch Linux (Manjaro, Endeavour OS, etc.):
Remove PulseAudio:
sudo pacman -Rdd pulseaudio
And install PipeWire:
sudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
And then just reboot and you should be done.

Fedora:
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
 sudo dnf install pulseaudio-utils
 pactl info
And if you see Server Name: PulseAudio (on PipeWire) you're good to go.

After doing this, you should be already done with Pipewire :D

Now let's install osu! and set up our Wine:
Installing osu! (All distros)
To install osu!, we'll just use Forefront's package on gitlab (https://gitlab.com/osu-wine/osu-wine). His package is the most stable one I've ever tried, so huge grats and credits to him e.e

Installing the game is just as simple as this:

git clone https://gitlab.com/osu-wine/osu-wine
cd osu-wine
sudo ./install.sh
osu-wine

The game is now working, but we need to change the Wine version to an osu! specific one.
To do this, let's download the wine-osu 7.0 package with gonX's patches from here:
https://drive.google.com/file/d/1xgJIe18ccBx6yjPcmBxDbTnS1XxwrAcc/view?usp=sharing

Once you've done that, you need to extract the package.
You can do it like this: (remember to change "Downloads" to your language's name if needed!)

cd ~/Downloads
tar -xf wine-osu-7.0-x86_64.pkg.tar.zst

Now let's copy the extracted folder to the /opt directory:

sudo cp -r ~/Downloads/opt/wine-osu/ /opt

And let's edit the /etc/osu-wine.conf file:

sudo nano /etc/osu-wine.conf

Here, you need to uncomment the PATH line at the end, just like this:

## Path, DO NOT EDIT THIS VARIABLE, ONLY UNCOMMENT
PATH="/opt/wine-osu/bin:$PATH"

Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Now use this last command to copy the .conf file:

cp /etc/osu-wine.conf ~/.osu-wine.conf

Last but not least: run this to fix drag and drop songs:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine

The installation is now finished! You need just to open osu! and run it.

But before playing, the last thing you need to do is to set your universal offset to -25ms, so that your osu! will sound just like on Windows.



Warning: -25ms is what I generally recommend, but try to find your sweet spot from -40ms!

And you're done! You can now play osu!



Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) [OS in the ss is Arch Linux GNOME]
And that's it! Enjoy playing osu! on your Linux!

Got any error? (GLIBC, Game not starting, input lag, random crashes etc.)
Check the box below:


Extra info and troubleshooting:

Open me \o/:
Game won't start/ntdll.so (GLIBC_2.32) error
This error actually occurs a lot when using Ubuntu or Debian-based distros. whose GLIBC isn't updated.
Before doing anything, upgrading your system might fix depending on your distro:

sudo apt update
sudo apt upgrade
If that didn't help, we will need to change some things xD

Assuming you've followed the guide until the end, let's delete wine-osu first.

sudo rm -rf /opt/wine-osu/

Let's now download another version, working on older GLIBCs as well.
Make sure curl is installed first:

sudo apt install curl

And now:

echo 'deb http://download.opensuse.org/repositories/home:/hwsnemo:/packaged-wine-osu/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:hwsnemo:packaged-wine-osu.list
curl -fsSL https://download.opensuse.org/repositories/home:hwsnemo:packaged-wine-osu/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hwsnemo_packaged-wine-osu.gpg > /dev/null
sudo apt update
sudo apt install wine-osu

You can now play perfectly fine e.e

(Instructions might change depending on your distro, you can check yourself here:
https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu)

Input lag/Compositing

First of all, if you're gaming on Linux make sure to install all the necessary dependencies listed above (see Wine and dependencies)

Otherwise, 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:
(thanks TheKej for the reply below <3)


If you are not, check the other box for "How to add osu! to Lutris" xd

How to add osu! to Lutris

If you don't know what Lutris is, just google it and install it for your own system (it's really simple).

Now, if you're never used Lutris before, open it and then run this command:

cd ~/.local/share/lutris/runners/ && mkdir wine

This will create our wine folder; then, let's copy the Wine version we downloaded beforehand here as well:

sudo cp -r /opt/wine-osu/ ~/.local/share/lutris/runners/wine

Close Lutris and open it again.
Click on the + button you can find on the top left of your Lutris and just write osu! (or whatever you want) in the name. For the runner instead, just choose Wine (click yes to whatever pops up). It should look like this:



After this, go on the "Game options" box and just set it up like this:

Executable:
~/.local/share/osu-wine/OSU/osu!.exe
Working directory:
~/.local/share/osu-wine/OSU
Wine prefix:
~/.local/share/osu-wine/WINE.win32

Example:



Now let's go to the "Runner options" box and here select "wine-osu":



Last but not least, let's disable our desktop effects aka compositor in "System options" (enable advanced options):



And we're done! You can now run your osu! through Lutris as well!

osu! disappears/crashes randomly

These random crashes have been a thing for many people as they depended on a wine bug, and what those have in common (besides System.AccessViolationException) is OSSOCK.select. As I've read on ThePoon's ds (ty openglfreak), this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



So I built Wine 7.0-rc4 with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).

Optimize your performance: Gamemode

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 games are actually running worse than before, just disable its rule on Lutris/don't use it when starting the game.

Even lower latency: gonX's PipeWire settings

If after installing osu! your latency sounds strange and you want an even lower one, we'll apply gonX's PipeWire "patch" (credits to him and 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:

 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:

sudo 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 patch is done e.e

Moving your songs/skins from Windows
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Fedora:
sudo dnf install ntfs-3g

Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find at:
~/.local/share/osu-wine/OSU

PP Counter for OBS: gosumemory
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 as 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
 sudo ./gosumemory


Ignore the error and edit this file:

 sudo nano ~/Downloads/gosumemory/config.ini

Here, you need to edit these 2 lines like this: (replace username with your own)

 wine = true 
 path = /home/username/.local/share/osu-wine/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:

 sudo nano /usr/bin/gosumemory

Here, just paste these commands:

 #!/bin/sh

cd ~/Downloads/gosumemory
sudo ./gosumemory

And now just launch this one:

 sudo chmod +x /usr/bin/gosumemory

And we're done! You can now launch gosumemory whenever you want by just typing:

 gosumemory
in your terminal! e.e

Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Snap version of OBS (https://snapcraft.io/obs-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

Tablet drivers on Linux: OpenTabletDriver (+ Fedora install)

OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux

Fedora isn't supported yet as of right now, so you need to compile it from source to actually use it. It's a bit long, but I wrote every step here e.e:

Fedora instructions
Compiling OTD from source
Let's start from dependencies: (most of them should be already installed)

 sudo dnf install libX11 libXrandr libevdev gtk3 bash

Let's now install .NET 6 SDK which isn't available in repositories yet xd
Follow these commands:

 cd && wget https://download.visualstudio.microsoft.com/download/pr/17b6759f-1af0-41bc-ab12-209ba0377779/e8d02195dbf1434b940e0f05ae086453/dotnet-sdk-6.0.100-linux-x64.tar.gz && mkdir dotnet

 tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C dotnet/

 export PATH=$PATH:$HOME/dotnet

Last thing to do is to build OpenTabletDriver:

 git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git && cd OpenTabletDriver/

 chmod +x build.sh

Now replace username with your own:

 sudo env "PATH=$PATH:/home/username/dotnet/" ./build.sh

 chmod +x generate-rules.sh

 sudo env "PATH=$PATH:/home/username/dotnet/" ./generate-rules.sh

 sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

Let's now create a script to launch OTD:

OTD Scripts
Let's start:

 sudo nano /usr/bin/otd

Here, you need to paste this: (change username with your own)

 !/bin/bash
cd /home/username/OpenTabletDriver/OpenTabletDriver.UX.Gtk/bin/Release/net6.0/linux-x64
export PATH=$PATH:$HOME/dotnet
dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/otd

Let's now create a script to launch the OTD daemon:

 sudo nano /usr/bin/otddaemon

Paste this: (change username with your own)

 #!/bin/bash
cd /home/username/OpenTabletDriver/bin
export PATH=$PATH:$HOME/dotnet
if [ $# -eq 0 ]
then
    if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
    then
        echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
        exit 64
    fi
    dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
else
    dotnet ./OpenTabletDriver.Console.dll "$@"
fi

Now just run this:

 sudo chmod +x /usr/bin/otddaemon

Our two scripts are now finally set up; let's create the last one to launch both together:

 sudo nano /usr/bin/opentabletdriver

Here, just paste this:

 #!/bin/bash
otddaemon &
P1=$!
otd &
P2=$!
wait $P1 $P2

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/opentabletdriver

You're finally done! Launch OTD by typing:

 opentabletdriver
in your terminal e.e

osu! installer can't download files/XComposite error etc.

All these errors come from missing dependencies: make sure to install them all (see Wine and dependencies)

No sound when opening osu!

You probably only need to reboot or reload PipeWire by doing this:

sudo systemctl --user restart pipewire pipewire-pulse
sudo systemctl --user daemon-reload

Special thanks to:
  1. KatouMegumi's guide: https://wiki.archlinux.org/title/User:Katoumegumi#osu!_(stable)_on_Arch_Linux
  1. ThePoon's Discord server: https://discord.com/invite/thepoon
  1. GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
  1. hwsnemo's prepackaged wine-osu:
    https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu
  1. l3lackShark's gosumemory: https://github.com/l3lackShark/gosumemory
And to everyone willing to help! :3
Hello, I finished installing osu. But when I try to run it gives me this error "wine: could not load ntdll.so: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /opt/wine-osu/bin/../lib32/wine/i386-unix/ntdll.so)"
Topic Starter
MarshNello

caaath wrote:

MarshNello wrote:

final result:


UPDATE: Guide is finally out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc

A little introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to ThePoon's patches and Franc[e]sco's guide, but thanks to PipeWire and to the latest custom builds it's actually even easier. Let's start 8^)

Prerequisites:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
 sudo apt update && sudo apt upgrade && sudo apt install git curl build-essential zstd
Arch Linux (Manjaro, Endeavour OS, etc.):
 sudo pacman -Syu git p7zip wget
Fedora:
 sudo dnf update 
 sudo dnf install git zstd p7zip p7zip-plugins wget 
 sudo dnf groupinstall "Development Tools" "Development Libraries" 

install wine and its dependencies:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update
sudo apt install --install-recommends winehq-staging
sudo apt install winetricks

Arch Linux (Manjaro, Endeavour OS, etc.):
make sure to enable multilib first (https://i.imgur.com/DuLktxI.jpg)
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
sudo pacman -S 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 alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama 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 cups samba dosbox

Fedora:
 sudo dnf install alsa-plugins-pulseaudio.i686 glibc-devel.i686 glibc-devel libgcc.i686 libX11-devel.i686 freetype-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXext-devel.i686 libXxf86vm-devel.i686 libXrandr-devel.i686 libXinerama-devel.i686 mesa-libGLU-devel.i686 mesa-libOSMesa-devel.i686 libXrender-devel.i686 libpcap-devel.i686 ncurses-devel.i686 libzip-devel.i686 lcms2-devel.i686 zlib-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 cups-devel.i686 libxml2-devel.i686 openldap-devel.i686 libxslt-devel.i686 gnutls-devel.i686 libpng-devel.i686 flac-libs.i686 json-c.i686 libICE.i686 libSM.i686 libXtst.i686 libasyncns.i686 liberation-narrow-fonts.noarch libieee1284.i686 libogg.i686 libsndfile.i686 libuuid.i686 libva.i686 libvorbis.i686 libwayland-client.i686 libwayland-server.i686 llvm-libs.i686 mesa-dri-drivers.i686 mesa-filesystem.i686 mesa-libEGL.i686 mesa-libgbm.i686 nss-mdns.i686 ocl-icd.i686 pulseaudio-libs.i686 sane-backends-libs.i686 tcp_wrappers-libs.i686 unixODBC.i686 samba-common-tools.x86_64 samba-libs.x86_64 samba-winbind.x86_64 samba-winbind-clients.x86_64 samba-winbind-modules.x86_64 mesa-libGL-devel.i686 fontconfig-devel.i686 libXcomposite-devel.i686 libtiff-devel.i686 openal-soft-devel.i686 mesa-libOpenCL-devel.i686 opencl-utils-devel.i686 alsa-lib-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pulseaudio-libs-devel.i686 pulseaudio-libs-devel gtk3-devel.i686 libattr-devel.i686 libva-devel.i686 libexif-devel.i686 libexif.i686 glib2-devel.i686 mpg123-devel.i686 mpg123-devel.x86_64 libcom_err-devel.i686 libcom_err-devel.x86_64 libFAudio-devel.i686 libFAudio-devel.x86_64
 sudo dnf groupinstall "C Development Tools and Libraries"
 sudo dnf groupinstall "Development Tools"
 sudo dnf install wine

(if you're using other distros, give this a look https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/)

also make sure you installed the right drivers for your gpu:
https://github.com/lutris/docs/blob/master/InstallingDrivers.md

Let's begin from Latency:
Latency: Installing Pipewire
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
To install Pipewire on Debian, just follow these commands:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire-media-session.service pipewire pipewire-pulse
And then just reboot and you should be done.

Arch Linux (Manjaro, Endeavour OS, etc.):
Remove PulseAudio:
sudo pacman -Rdd pulseaudio
And install PipeWire:
sudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
And then just reboot and you should be done.

Fedora:
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
 sudo dnf install pulseaudio-utils
 pactl info
And if you see Server Name: PulseAudio (on PipeWire) you're good to go.

After doing this, you should be already done with Pipewire :D

Now let's install osu! and set up our Wine:
Installing osu! (All distros)
To install osu!, we'll just use Forefront's package on gitlab (https://gitlab.com/osu-wine/osu-wine). His package is the most stable one I've ever tried, so huge grats and credits to him e.e

Installing the game is just as simple as this:

git clone https://gitlab.com/osu-wine/osu-wine
cd osu-wine
sudo ./install.sh
osu-wine

The game is now working, but we need to change the Wine version to an osu! specific one.
To do this, let's download the wine-osu 7.0 package with gonX's patches from here:
https://drive.google.com/file/d/1xgJIe18ccBx6yjPcmBxDbTnS1XxwrAcc/view?usp=sharing

Once you've done that, you need to extract the package.
You can do it like this: (remember to change "Downloads" to your language's name if needed!)

cd ~/Downloads
tar -xf wine-osu-7.0-x86_64.pkg.tar.zst

Now let's copy the extracted folder to the /opt directory:

sudo cp -r ~/Downloads/opt/wine-osu/ /opt

And let's edit the /etc/osu-wine.conf file:

sudo nano /etc/osu-wine.conf

Here, you need to uncomment the PATH line at the end, just like this:

## Path, DO NOT EDIT THIS VARIABLE, ONLY UNCOMMENT
PATH="/opt/wine-osu/bin:$PATH"

Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Now use this last command to copy the .conf file:

cp /etc/osu-wine.conf ~/.osu-wine.conf

Last but not least: run this to fix drag and drop songs:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine

The installation is now finished! You need just to open osu! and run it.

But before playing, the last thing you need to do is to set your universal offset to -25ms, so that your osu! will sound just like on Windows.



Warning: -25ms is what I generally recommend, but try to find your sweet spot from -40ms!

And you're done! You can now play osu!



Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) [OS in the ss is Arch Linux GNOME]
And that's it! Enjoy playing osu! on your Linux!

Got any error? (GLIBC, Game not starting, input lag, random crashes etc.)
Check the box below:


Extra info and troubleshooting:

Open me \o/:
Game won't start/ntdll.so (GLIBC_2.32) error
This error actually occurs a lot when using Ubuntu or Debian-based distros. whose GLIBC isn't updated.
Before doing anything, upgrading your system might fix depending on your distro:

sudo apt update
sudo apt upgrade
If that didn't help, we will need to change some things xD

Assuming you've followed the guide until the end, let's delete wine-osu first.

sudo rm -rf /opt/wine-osu/

Let's now download another version, working on older GLIBCs as well.
Make sure curl is installed first:

sudo apt install curl

And now:

echo 'deb http://download.opensuse.org/repositories/home:/hwsnemo:/packaged-wine-osu/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:hwsnemo:packaged-wine-osu.list
curl -fsSL https://download.opensuse.org/repositories/home:hwsnemo:packaged-wine-osu/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hwsnemo_packaged-wine-osu.gpg > /dev/null
sudo apt update
sudo apt install wine-osu

You can now play perfectly fine e.e

(Instructions might change depending on your distro, you can check yourself here:
https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu)

Input lag/Compositing

First of all, if you're gaming on Linux make sure to install all the necessary dependencies listed above (see Wine and dependencies)

Otherwise, 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:
(thanks TheKej for the reply below <3)


If you are not, check the other box for "How to add osu! to Lutris" xd

How to add osu! to Lutris

If you don't know what Lutris is, just google it and install it for your own system (it's really simple).

Now, if you're never used Lutris before, open it and then run this command:

cd ~/.local/share/lutris/runners/ && mkdir wine

This will create our wine folder; then, let's copy the Wine version we downloaded beforehand here as well:

sudo cp -r /opt/wine-osu/ ~/.local/share/lutris/runners/wine

Close Lutris and open it again.
Click on the + button you can find on the top left of your Lutris and just write osu! (or whatever you want) in the name. For the runner instead, just choose Wine (click yes to whatever pops up). It should look like this:



After this, go on the "Game options" box and just set it up like this:

Executable:
~/.local/share/osu-wine/OSU/osu!.exe
Working directory:
~/.local/share/osu-wine/OSU
Wine prefix:
~/.local/share/osu-wine/WINE.win32

Example:



Now let's go to the "Runner options" box and here select "wine-osu":



Last but not least, let's disable our desktop effects aka compositor in "System options" (enable advanced options):



And we're done! You can now run your osu! through Lutris as well!

osu! disappears/crashes randomly

These random crashes have been a thing for many people as they depended on a wine bug, and what those have in common (besides System.AccessViolationException) is OSSOCK.select. As I've read on ThePoon's ds (ty openglfreak), this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



So I built Wine 7.0-rc4 with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).

Optimize your performance: Gamemode

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 games are actually running worse than before, just disable its rule on Lutris/don't use it when starting the game.

Even lower latency: gonX's PipeWire settings

If after installing osu! your latency sounds strange and you want an even lower one, we'll apply gonX's PipeWire "patch" (credits to him and 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:

 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:

sudo 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 patch is done e.e

Moving your songs/skins from Windows
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Fedora:
sudo dnf install ntfs-3g

Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find at:
~/.local/share/osu-wine/OSU

PP Counter for OBS: gosumemory
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 as 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
 sudo ./gosumemory


Ignore the error and edit this file:

 sudo nano ~/Downloads/gosumemory/config.ini

Here, you need to edit these 2 lines like this: (replace username with your own)

 wine = true 
 path = /home/username/.local/share/osu-wine/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:

 sudo nano /usr/bin/gosumemory

Here, just paste these commands:

 #!/bin/sh

cd ~/Downloads/gosumemory
sudo ./gosumemory

And now just launch this one:

 sudo chmod +x /usr/bin/gosumemory

And we're done! You can now launch gosumemory whenever you want by just typing:

 gosumemory
in your terminal! e.e

Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Snap version of OBS (https://snapcraft.io/obs-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

Tablet drivers on Linux: OpenTabletDriver (+ Fedora install)

OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux

Fedora isn't supported yet as of right now, so you need to compile it from source to actually use it. It's a bit long, but I wrote every step here e.e:

Fedora instructions
Compiling OTD from source
Let's start from dependencies: (most of them should be already installed)

 sudo dnf install libX11 libXrandr libevdev gtk3 bash

Let's now install .NET 6 SDK which isn't available in repositories yet xd
Follow these commands:

 cd && wget https://download.visualstudio.microsoft.com/download/pr/17b6759f-1af0-41bc-ab12-209ba0377779/e8d02195dbf1434b940e0f05ae086453/dotnet-sdk-6.0.100-linux-x64.tar.gz && mkdir dotnet

 tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C dotnet/

 export PATH=$PATH:$HOME/dotnet

Last thing to do is to build OpenTabletDriver:

 git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git && cd OpenTabletDriver/

 chmod +x build.sh

Now replace username with your own:

 sudo env "PATH=$PATH:/home/username/dotnet/" ./build.sh

 chmod +x generate-rules.sh

 sudo env "PATH=$PATH:/home/username/dotnet/" ./generate-rules.sh

 sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

Let's now create a script to launch OTD:

OTD Scripts
Let's start:

 sudo nano /usr/bin/otd

Here, you need to paste this: (change username with your own)

 !/bin/bash
cd /home/username/OpenTabletDriver/OpenTabletDriver.UX.Gtk/bin/Release/net6.0/linux-x64
export PATH=$PATH:$HOME/dotnet
dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/otd

Let's now create a script to launch the OTD daemon:

 sudo nano /usr/bin/otddaemon

Paste this: (change username with your own)

 #!/bin/bash
cd /home/username/OpenTabletDriver/bin
export PATH=$PATH:$HOME/dotnet
if [ $# -eq 0 ]
then
    if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
    then
        echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
        exit 64
    fi
    dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
else
    dotnet ./OpenTabletDriver.Console.dll "$@"
fi

Now just run this:

 sudo chmod +x /usr/bin/otddaemon

Our two scripts are now finally set up; let's create the last one to launch both together:

 sudo nano /usr/bin/opentabletdriver

Here, just paste this:

 #!/bin/bash
otddaemon &
P1=$!
otd &
P2=$!
wait $P1 $P2

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/opentabletdriver

You're finally done! Launch OTD by typing:

 opentabletdriver
in your terminal e.e

osu! installer can't download files/XComposite error etc.

All these errors come from missing dependencies: make sure to install them all (see Wine and dependencies)

No sound when opening osu!

You probably only need to reboot or reload PipeWire by doing this:

sudo systemctl --user restart pipewire pipewire-pulse
sudo systemctl --user daemon-reload

Special thanks to:
  1. KatouMegumi's guide: https://wiki.archlinux.org/title/User:Katoumegumi#osu!_(stable)_on_Arch_Linux
  1. ThePoon's Discord server: https://discord.com/invite/thepoon
  1. GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
  1. hwsnemo's prepackaged wine-osu:
    https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu
  1. l3lackShark's gosumemory: https://github.com/l3lackShark/gosumemory
And to everyone willing to help! :3
Hello, I finished installing osu. But when I try to run it gives me this error "wine: could not load ntdll.so: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /opt/wine-osu/bin/../lib32/wine/i386-unix/ntdll.so)"
check the troubleshooting box e.e
AnjoK

Kolmas wrote:

MarshNello wrote:

Kolmas wrote:

mqwilliamscom wrote:

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
This happens to me just today (things are fine yesterday even after two reboot and a system update) , turning on audio compatibility mode does solve the audio issue but whenever i tried to play a map or watch a replay, it will stuck and jitter on the first note then straight up crashing the game and shows the following error code
01b0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046
latest pipewire broke something here too a.a try to revert with downgrade
downgrading from 0.3.44 to 0.3.43 works, thx for the tip
I'm a bit new to linux and i tried to figure out how to downgrade but couldn't. Could someone tell me how to do that?
Kolmas

AnjoK wrote:

Kolmas wrote:

MarshNello wrote:

Kolmas wrote:

mqwilliamscom wrote:

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
This happens to me just today (things are fine yesterday even after two reboot and a system update) , turning on audio compatibility mode does solve the audio issue but whenever i tried to play a map or watch a replay, it will stuck and jitter on the first note then straight up crashing the game and shows the following error code
01b0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046
latest pipewire broke something here too a.a try to revert with downgrade
downgrading from 0.3.44 to 0.3.43 works, thx for the tip
I'm a bit new to linux and i tried to figure out how to downgrade but couldn't. Could someone tell me how to do that?
i'm on arcolinux right now (arch based) so i just use the downgrade in AUR: https://aur.archlinux.org/packages/downgrade/
after you install it basically just use sudo downgrade whatever packages related to pipewire to 0.3.43-5, after installing the old packages it will prompt you to add them to ignore update list, add them then you're done, after a reboot it should be fine

but if you are using non arch based distro then idk, my experience outside pacman is only install new package and system upgrade x_x
GGTyler

AnjoK wrote:

Kolmas wrote:

MarshNello wrote:

Kolmas wrote:

mqwilliamscom wrote:

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
This happens to me just today (things are fine yesterday even after two reboot and a system update) , turning on audio compatibility mode does solve the audio issue but whenever i tried to play a map or watch a replay, it will stuck and jitter on the first note then straight up crashing the game and shows the following error code
01b0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046
latest pipewire broke something here too a.a try to revert with downgrade
downgrading from 0.3.44 to 0.3.43 works, thx for the tip
I'm a bit new to linux and i tried to figure out how to downgrade but couldn't. Could someone tell me how to do that?
Bit of a newbie too, so there's probably a better way to do this, but here's all the .deb files for 0.3.43.
You'll need to download all the ones you have, and downgrade them all using dpkg -i "filename"
If it still doesn't work, enable audio compatibility in osu!, that's what got it to work for me :)

oh, also, apparently this uninstalls pipewire-media-session. for me at least. just install and enable it again like normal.
iZaIxSP
Hello

The last wine-osu build (7.1-1) broke and osu! just stalls at the splash screen.

Doing a timeshift rollback dind't help, so I tried redoing the whole process in the OP from scratch and got not just the same, but worse result, albeit a lil funny.
Wine would open so many instances of explorer.exe that I had to enter a console to kill the process because it would use nearly 100% of the cpu and memory.
After a reboot it would simply just crash on launch, here's the terminal's output

I'm running Linux Mint 20.3 (MATE), I'm very much certain that Pipewire hasn't broken anything since I kept it at version 0.3.42. (not upgrading it because can't downgrade with apt) and drivers are all up to date.

Should I just wait for an update or is this by fixable in some form?

oh by the way, tyvm to the author of this guide, its been really helpful and taught me few useful commands
Topic Starter
MarshNello

iZaIxSP wrote:

Hello

The last wine-osu build (7.1-1) broke and osu! just stalls at the splash screen.

Doing a timeshift rollback dind't help, so I tried redoing the whole process in the OP from scratch and got not just the same, but worse result, albeit a lil funny.
Wine would open so many instances of explorer.exe that I had to enter a console to kill the process because it would use nearly 100% of the cpu and memory.
After a reboot it would simply just crash on launch, here's the terminal's output

I'm running Linux Mint 20.3 (MATE), I'm very much certain that Pipewire hasn't broken anything since I kept it at version 0.3.42. (not upgrading it because can't downgrade with apt) and drivers are all up to date.

Should I just wait for an update or is this by fixable in some form?

oh by the way, tyvm to the author of this guide, its been really helpful and taught me few useful commands
Np! Glad it helped you e.e

Also yep it was Wine’s fault, one of the patches added in the latest update doesn’t seem to work xD

Hwsnemo’s already fixed that, you should be good by just updating it as soon as the update is out
DaSidKay
I don't know why but when I try to run Osu on linux, it just displays the logo then it disappears and nothing else happens. Is there a way to fix this?

(Sorry, I'm still a linux noob)


Edit: NVM, Fixed it. I'm just dumb lol
AnjoK

GGTyler wrote:

AnjoK wrote:

Kolmas wrote:

MarshNello wrote:

Kolmas wrote:

mqwilliamscom wrote:

AnjoK wrote:

mqwilliamscom wrote:

I followed the instructions to the T [including the Game won't start/ntdll.so (GLIBC_2.32) error]. The game starts but it runs too fast and the audio crackles a bit. It sounds exactly like this:

https://www.youtube.com/watch?v=kYhxZGzDe5w

How to fix? I'm running Ubuntu 20.04
Turning on audio compatibility mode fixes the issue for me.

It started happening suddenly even tho it worked fine for a while. Reinstalling didn't help the issue still occurs, and after reinstalling both the os and the game, japanese characters are shown as boxes and the game crashes randomly and with specific beatmaps, re-downloading the beatmaps seems to fix this issue tho i tested it on windows with the same files and it works fine. I followed all of the troubleshooting steps to no avail.

Running Pop!OS 21.10.


Dude you are a life saver. Works like a charm now.

Edit: all that's left is to figure out how to transfer my beatmaps and skins over to this device. Should be a piece of cake
This happens to me just today (things are fine yesterday even after two reboot and a system update) , turning on audio compatibility mode does solve the audio issue but whenever i tried to play a map or watch a replay, it will stuck and jitter on the first note then straight up crashing the game and shows the following error code
01b0:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc55046
latest pipewire broke something here too a.a try to revert with downgrade
downgrading from 0.3.44 to 0.3.43 works, thx for the tip
I'm a bit new to linux and i tried to figure out how to downgrade but couldn't. Could someone tell me how to do that?
Bit of a newbie too, so there's probably a better way to do this, but here's all the .deb files for 0.3.43.
You'll need to download all the ones you have, and downgrade them all using dpkg -i "filename"
If it still doesn't work, enable audio compatibility in osu!, that's what got it to work for me :)

oh, also, apparently this uninstalls pipewire-media-session. for me at least. just install and enable it again like normal.
I tried doing it like this but didn't manage to fix it.

Tho later i noticed that pop!os comes with "pipewire 0.3.32-1" pre-installed. So all i did was install "libspa-0.2-bluetooth" and "pipewire-audio-client-libraries" from the default repository and it's now working flawlessly. Is there some reason not to use this version?

Tho I'm still lacking japanese characters...
Kolmas

AnjoK wrote:

Tho I'm still lacking japanese characters...
for the japanese characters part you can install meiryo font yourself, but korean/chinese characters still seems to be not working
Isshiki Kaname

DaSidKay wrote:

I don't know why but when I try to run Osu on linux, it just displays the logo then it disappears and nothing else happens. Is there a way to fix this?

(Sorry, I'm still a linux noob)


Edit: NVM, Fixed it. I'm just dumb lol
https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/
Davenisms
I was able to make it on Pop!OS 21.10 !!
It's almost 2 years of trying to install osu! on Linux and it finally happened. I have some issues on it but it's my graphics perhaps. Thank you so much!
Topic Starter
MarshNello

Kolmas wrote:

AnjoK wrote:

Tho I'm still lacking japanese characters...
for the japanese characters part you can install meiryo font yourself, but korean/chinese characters still seems to be not working
Well the proper fix would be installing Windows fonts on your own system (as the prepackaged Wineprefix only has JP ones)

That is doable by downloading Windows 10’s iso (which is free), extracting install.wim and then copy the fonts into “Fonts” to /usr/share/Fonts

I’ll maybe do a post about it
SaaKe
my osu is lagging and since I'm using two monitors my mouse goes out of the game even in full screen any fix for that?
marshallracer

MarshNello wrote:

That is doable by downloading Windows 10’s iso (which is free), extracting install.wim and then copy the fonts into “Fonts” to /usr/share/Fonts

I’ll maybe do a post about it
Francescos pinned guide has this already covered

Extract Win10 fonts from install iso (as per Francesco)
as discovered by _goeo, it's possible to fix both the top right icons in the main menu and japanese fonts by copying fonts from a windows install or iso.

to extract japanese fonts from the Windows 10 iso:

download the iso from here https://www.microsoft.com/en-us/software-download/windows10ISO

install 7z

  1. ubuntu:
    sudo apt install p7zip
  2. arch:
    sudo pacman -Sy p7zip
  3. gentoo:
    sudo emerge --ask app-arch/p7zip
cd ~/Downloads
7z e Win10_*.iso sources/install.wim
7z x install.wim 1/Windows/Fonts
sudo cp -r 1/Windows/Fonts /usr/share/fonts/WindowsFonts
sudo chmod -R 755 /usr/share/fonts/WindowsFonts
sudo fc-cache -f


see https://wiki.archlinux.org/index.php/Microsoft_fonts#Extracting_fonts_from_a_Windows_ISO for more info

you can also just copy your fonts folder from a windows install and install it in the same way
Topic Starter
MarshNello

marshallracer wrote:

MarshNello wrote:

That is doable by downloading Windows 10’s iso (which is free), extracting install.wim and then copy the fonts into “Fonts” to /usr/share/Fonts

I’ll maybe do a post about it
Francescos pinned guide has this already covered

Extract Win10 fonts from install iso (as per Francesco)
as discovered by _goeo, it's possible to fix both the top right icons in the main menu and japanese fonts by copying fonts from a windows install or iso.

to extract japanese fonts from the Windows 10 iso:

download the iso from here https://www.microsoft.com/en-us/software-download/windows10ISO

install 7z

  1. ubuntu:
    sudo apt install p7zip
  2. arch:
    sudo pacman -Sy p7zip
  3. gentoo:
    sudo emerge --ask app-arch/p7zip
cd ~/Downloads
7z e Win10_*.iso sources/install.wim
7z x install.wim 1/Windows/Fonts
sudo cp -r 1/Windows/Fonts /usr/share/fonts/WindowsFonts
sudo chmod -R 755 /usr/share/fonts/WindowsFonts
sudo fc-cache -f


see https://wiki.archlinux.org/index.php/Microsoft_fonts#Extracting_fonts_from_a_Windows_ISO for more info

you can also just copy your fonts folder from a windows install and install it in the same way
Oh well love ya for this <3
- sylvie -
For some reason it takes like 30 seconds to do a search and the window hangs up. Does anyone know why this is the case? I am using fedora 35 (has gnome+pipewire bundled) and that 7.0 staging wine that Marsh posted
AnjoK

marshallracer wrote:

MarshNello wrote:

That is doable by downloading Windows 10’s iso (which is free), extracting install.wim and then copy the fonts into “Fonts” to /usr/share/Fonts

I’ll maybe do a post about it
Francescos pinned guide has this already covered

Extract Win10 fonts from install iso (as per Francesco)
as discovered by _goeo, it's possible to fix both the top right icons in the main menu and japanese fonts by copying fonts from a windows install or iso.

to extract japanese fonts from the Windows 10 iso:

download the iso from here https://www.microsoft.com/en-us/software-download/windows10ISO

install 7z

  1. ubuntu:
    sudo apt install p7zip
  2. arch:
    sudo pacman -Sy p7zip
  3. gentoo:
    sudo emerge --ask app-arch/p7zip
cd ~/Downloads
7z e Win10_*.iso sources/install.wim
7z x install.wim 1/Windows/Fonts
sudo cp -r 1/Windows/Fonts /usr/share/fonts/WindowsFonts
sudo chmod -R 755 /usr/share/fonts/WindowsFonts
sudo fc-cache -f


see https://wiki.archlinux.org/index.php/Microsoft_fonts#Extracting_fonts_from_a_Windows_ISO for more info

you can also just copy your fonts folder from a windows install and install it in the same way

Thank you!!
- sylvie -
Also: I have an issue with dragging and dropping an mp3 in for map editor. the warning is

011c:fixme:xdnd:XDNDDATAOBJECT_QueryGetData only HGLOBAL medium types supported right now

edit: seems to have something to do with this https://docs.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-tymed

line of code
https://github.com/wine-mirror/wine/blob/5a66eab725423951860676aef49feeb3668eb20c/dlls/winemac.drv/dragdrop.c#L139
ADVARIUM

SaaKe wrote:

my osu is lagging and since I'm using two monitors my mouse goes out of the game even in full screen any fix for that?
I am seeing the same issue. Mouse leaves the window even in full screen, which lags the bejeezus out of the game.

I straight up just disable my second monitor when playing osu, hard to move OOB when there *is no out of bounds*

Do any of you wizards have some insight? It would be much appreciated.
Topic Starter
MarshNello

- sylvie - wrote:

Also: I have an issue with dragging and dropping an mp3 in for map editor. the warning is

011c:fixme:xdnd:XDNDDATAOBJECT_QueryGetData only HGLOBAL medium types supported right now

edit: seems to have something to do with this https://docs.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-tymed

line of code
https://github.com/wine-mirror/wine/blob/5a66eab725423951860676aef49feeb3668eb20c/dlls/winemac.drv/dragdrop.c#L139
Does drag and drop work with beatmaps?
Topic Starter
MarshNello

ADVARIUM wrote:

SaaKe wrote:

my osu is lagging and since I'm using two monitors my mouse goes out of the game even in full screen any fix for that?
I am seeing the same issue. Mouse leaves the window even in full screen, which lags the bejeezus out of the game.

I straight up just disable my second monitor when playing osu, hard to move OOB when there *is no out of bounds*

Do any of you wizards have some insight? It would be much appreciated.
This command fixes mouse: (gonna update the guide soon)

WINEPREFIX=$HOME/.local/share/osu-wine/WINE.win32 wine reg add "HKEY_CURRENT_USER\\Software\\Wine" /v HideWineExports /t REG_SZ /d Y

As for lag, check your drivers with the link in the guide and also check the Input lag/compositing section in troubleshooting
Davenisms
Hi MarshNello. Sorry but may you help me with this. I tried to check why osu! it won't start. It gives me this:

INFO: Check: Base dir /home/davecliffordmacz/.local/share/osu-wine
INFO: Seems to be the correct Wineprefix. Skipping installation.
INFO: Check: wine can access only to wine drive C:/ + X:/ (osu)
INFO: Check: osu dir
INFO: Check: Link X: -> /home/davecliffordmacz/.local/share/osu-wine/OSU/
ln: failed to create symbolic link '/home/davecliffordmacz/.local/share/osu-wine/WINE.win32//dosdevices/z:/': File exists
INFO: Initialization Finished
INFO: Logging to /tmp/osu-wine.log
wine: could not load ntdll.so: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /opt/wine-osu/bin/../lib32/wine/i386-unix/ntdll.so)

I tried to do the troubleshoot of GLIBC but after that, it will say
ERRO: Missing wine!

and doing the "osu!disappears/crashes randomly" then I get back to that first result. I don't know what to do. May you help me? I am using Linux Mint latest ver. I am planning of erasing all files as installing osu! but I don't know nothing, because before I restarted or doing the last part of installing, it still worked.

Edited: Installing it on Pop!OS has no problem as I said in the previous.
- sylvie -

MarshNello wrote:

- sylvie - wrote:

Also: I have an issue with dragging and dropping an mp3 in for map editor. the warning is

011c:fixme:xdnd:XDNDDATAOBJECT_QueryGetData only HGLOBAL medium types supported right now

edit: seems to have something to do with this https://docs.microsoft.com/en-us/windows/win32/api/objidl/ne-objidl-tymed

line of code
https://github.com/wine-mirror/wine/blob/5a66eab725423951860676aef49feeb3668eb20c/dlls/winemac.drv/dragdrop.c#L139
Does drag and drop work with beatmaps?
It doesn't.
Topic Starter
MarshNello

Davenisms wrote:

Hi MarshNello. Sorry but may you help me with this. I tried to check why osu! it won't start. It gives me this:

INFO: Check: Base dir /home/davecliffordmacz/.local/share/osu-wine
INFO: Seems to be the correct Wineprefix. Skipping installation.
INFO: Check: wine can access only to wine drive C:/ + X:/ (osu)
INFO: Check: osu dir
INFO: Check: Link X: -> /home/davecliffordmacz/.local/share/osu-wine/OSU/
ln: failed to create symbolic link '/home/davecliffordmacz/.local/share/osu-wine/WINE.win32//dosdevices/z:/': File exists
INFO: Initialization Finished
INFO: Logging to /tmp/osu-wine.log
wine: could not load ntdll.so: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /opt/wine-osu/bin/../lib32/wine/i386-unix/ntdll.so)

I tried to do the troubleshoot of GLIBC but after that, it will say
ERRO: Missing wine!

and doing the "osu!disappears/crashes randomly" then I get back to that first result. I don't know what to do. May you help me? I am using Linux Mint latest ver. I am planning of erasing all files as installing osu! but I don't know nothing, because before I restarted or doing the last part of installing, it still worked.

Edited: Installing it on Pop!OS has no problem as I said in the previous.
Oh well that’s because the osu! crashing randomly section is useful for those who don’t follow the GLIBC fix

Since you’re using Mint, just install all the prerequisites listed in the guide (especially the Wine section, make sure to copy every command by itself and not the whole text) and then go to the troubleshoot of GLIBC.

It should work after that ;)
Its Juice

- Marco - wrote:

Welcome to Linux or as I've recently taken to calling it, GNU plus Linux👍
welp someone surely has watched LTT in the past 6 months
daud_ahn

Its Juice wrote:

- Marco - wrote:

Welcome to Linux or as I've recently taken to calling it, GNU plus Linux👍
welp someone surely has watched LTT in the past 6 months
kinda offtopic but thats a common copypasta for gnu/linux community, not just from LTT
[NekoToo]
Has pipewire been fixed yet as I'm still using 0.3.43 and if so which version fixed it?
Topic Starter
MarshNello

[NekoToo] wrote:

Has pipewire been fixed yet as I'm still using 0.3.43 and if so which version fixed it?
I think we got to 0.3.47, but it has been fixed since 0.3.46 so you’re good to update
[NekoToo]
Ah thanks so much I have like so many packages I need to update since I was afraid the old pipewire would break them xD really appriciated :D Edit: Uh weird thing I did sudo -Syyu pipewire to update but it seems it says pulseaudio and pipewire-pulse are conflicting but I don't have pulseaudio installed :( and when I say not to remove pipewire-pulse it fails due to conficting packages.

looking for conflicting packages...
:: pulseaudio and pipewire-pulse are in conflict. Remove pipewire-pulse? [y/N] N
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: pulseaudio and pipewire-pulse are in conflict

Edit again now it's saying this

error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'pulseaudio=15.0-4' required by pulseaudio-jack
:: unable to satisfy dependency 'pulseaudio=15.0-4' required by pulseaudio-lirc
:: unable to satisfy dependency 'pulseaudio=15.0-4' required by pulseaudio-rtp
:: unable to satisfy dependency 'pulseaudio=15.0-4' required by pulseaudio-zeroconf

Okay I removed all of those pulseaudio things and it seems like it's fine now :P
[NekoToo]
Okay so I bought a AMD 6500 XT and I installed a new manjaro installation and went to install osu and I've followed all the steps and repeated the dependency bit but every time I run osu-wine I get this and it fails to open the osu installer. I may need to install wine mono but I don't know how.

osu-wine  ✔
INFO: Check: Base dir /home/vanilla/.local/share/osu-wine
INFO: Seems to be the correct Wineprefix. Skipping installation.
INFO: Check: wine can access only to wine drive C:/ + X:/ (osu)
removed '/home/vanilla/.local/share/osu-wine/WINE.win32//dosdevices/d:'
removed '/home/vanilla/.local/share/osu-wine/WINE.win32//dosdevices/d::'
removed '/home/vanilla/.local/share/osu-wine/WINE.win32//dosdevices/e::'
removed '/home/vanilla/.local/share/osu-wine/WINE.win32//dosdevices/f:'
removed '/home/vanilla/.local/share/osu-wine/WINE.win32//dosdevices/f::'
INFO: Check: osu dir
INFO: Check: Link X: -> /home/vanilla/.local/share/osu-wine/OSU/
INFO: Initialization Finished
INFO: Logging to /tmp/osu-wine.log
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.2 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: File not found.
mqwilliamscom
So I'm back with another issue. The game runs fantastically. However I've been wanting to do some mapping and when I get to the Song Setup in the editor, the game suddenly crashes. This is the error code I get.


System.ArgumentException: Given combination of Class, Part, and State is not defined by the current visual style.
at System.Windows.Forms.VisualStyles.VisualStyleRenderer..ctor(String className, Int32 part, Int32 state)
at System.Windows.Forms.UpDownBase.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.UpDownBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

Any ideas?
GGchung
I also can't go into Timing setup panel in the new wine version they posted here. I want them to fix it too. I'm using the older version that they posted here right now.

mqwilliamscom wrote:

So I'm back with another issue. The game runs fantastically. However I've been wanting to do some mapping and when I get to the Song Setup in the editor, the game suddenly crashes. This is the error code I get.


System.ArgumentException: Given combination of Class, Part, and State is not defined by the current visual style.
at System.Windows.Forms.VisualStyles.VisualStyleRenderer..ctor(String className, Int32 part, Int32 state)
at System.Windows.Forms.UpDownBase.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.UpDownBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

Any ideas?
So you can just download the older version of wine here while waiting

MarshNello wrote:

GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
mqwilliamscom

GGchung wrote:

I also can't go into Timing setup panel in the new wine version they posted here. I want them to fix it too. I'm using the older version that they posted here right now.

mqwilliamscom wrote:

So I'm back with another issue. The game runs fantastically. However I've been wanting to do some mapping and when I get to the Song Setup in the editor, the game suddenly crashes. This is the error code I get.


System.ArgumentException: Given combination of Class, Part, and State is not defined by the current visual style.
at System.Windows.Forms.VisualStyles.VisualStyleRenderer..ctor(String className, Int32 part, Int32 state)
at System.Windows.Forms.UpDownBase.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.UpDownBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

Any ideas?
So you can just download the older version of wine here while waiting

MarshNello wrote:

GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5

Ok
Topic Starter
MarshNello

GGchung wrote:

I also can't go into Timing setup panel in the new wine version they posted here. I want them to fix it too. I'm using the older version that they posted here right now.

mqwilliamscom wrote:

So I'm back with another issue. The game runs fantastically. However I've been wanting to do some mapping and when I get to the Song Setup in the editor, the game suddenly crashes. This is the error code I get.


System.ArgumentException: Given combination of Class, Part, and State is not defined by the current visual style.
at System.Windows.Forms.VisualStyles.VisualStyleRenderer..ctor(String className, Int32 part, Int32 state)
at System.Windows.Forms.UpDownBase.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.UpDownBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

Any ideas?
So you can just download the older version of wine here while waiting

MarshNello wrote:

GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
I'll try compiling Wine 7.3 later, I'll let you know if that is enough e.e

EDIT: ok installing a package through winetricks seems to fix it. Run:

osu-wine --winetricks -q comctl32

And then try again but it should be working just fine
mqwilliamscom

MarshNello wrote:

GGchung wrote:

I also can't go into Timing setup panel in the new wine version they posted here. I want them to fix it too. I'm using the older version that they posted here right now.

mqwilliamscom wrote:

So I'm back with another issue. The game runs fantastically. However I've been wanting to do some mapping and when I get to the Song Setup in the editor, the game suddenly crashes. This is the error code I get.


System.ArgumentException: Given combination of Class, Part, and State is not defined by the current visual style.
at System.Windows.Forms.VisualStyles.VisualStyleRenderer..ctor(String className, Int32 part, Int32 state)
at System.Windows.Forms.UpDownBase.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.UpDownBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

Any ideas?
So you can just download the older version of wine here while waiting

MarshNello wrote:

GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
I'll try compiling Wine 7.3 later, I'll let you know if that is enough e.e

EDIT: ok installing a package through winetricks seems to fix it. Run:

osu-wine --winetricks -q comctl32

And then try again but it should be working just fine



Works like a beaut
ayukovt

MarshNello wrote:

final result:


UPDATE: Guide is finally out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc

A little introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to ThePoon's patches and Franc[e]sco's guide, but thanks to PipeWire and to the latest custom builds it's actually even easier. Let's start 8^)

Prerequisites:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
 sudo apt update && sudo apt upgrade && sudo apt install git curl build-essential zstd
Arch Linux (Manjaro, Endeavour OS, etc.):
 sudo pacman -Syu git p7zip wget
Fedora:
 sudo dnf update 
 sudo dnf install git zstd p7zip p7zip-plugins wget 
 sudo dnf groupinstall "Development Tools" "Development Libraries" 

install wine and its dependencies:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update
sudo apt install --install-recommends winehq-staging
sudo apt install winetricks

Arch Linux (Manjaro, Endeavour OS, etc.):
make sure to enable multilib first (https://i.imgur.com/DuLktxI.jpg)
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
sudo pacman -S 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 alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama 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 cups samba dosbox

Fedora:
 sudo dnf install alsa-plugins-pulseaudio.i686 glibc-devel.i686 glibc-devel libgcc.i686 libX11-devel.i686 freetype-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXext-devel.i686 libXxf86vm-devel.i686 libXrandr-devel.i686 libXinerama-devel.i686 mesa-libGLU-devel.i686 mesa-libOSMesa-devel.i686 libXrender-devel.i686 libpcap-devel.i686 ncurses-devel.i686 libzip-devel.i686 lcms2-devel.i686 zlib-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 cups-devel.i686 libxml2-devel.i686 openldap-devel.i686 libxslt-devel.i686 gnutls-devel.i686 libpng-devel.i686 flac-libs.i686 json-c.i686 libICE.i686 libSM.i686 libXtst.i686 libasyncns.i686 liberation-narrow-fonts.noarch libieee1284.i686 libogg.i686 libsndfile.i686 libuuid.i686 libva.i686 libvorbis.i686 libwayland-client.i686 libwayland-server.i686 llvm-libs.i686 mesa-dri-drivers.i686 mesa-filesystem.i686 mesa-libEGL.i686 mesa-libgbm.i686 nss-mdns.i686 ocl-icd.i686 pulseaudio-libs.i686 sane-backends-libs.i686 tcp_wrappers-libs.i686 unixODBC.i686 samba-common-tools.x86_64 samba-libs.x86_64 samba-winbind.x86_64 samba-winbind-clients.x86_64 samba-winbind-modules.x86_64 mesa-libGL-devel.i686 fontconfig-devel.i686 libXcomposite-devel.i686 libtiff-devel.i686 openal-soft-devel.i686 mesa-libOpenCL-devel.i686 opencl-utils-devel.i686 alsa-lib-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pulseaudio-libs-devel.i686 pulseaudio-libs-devel gtk3-devel.i686 libattr-devel.i686 libva-devel.i686 libexif-devel.i686 libexif.i686 glib2-devel.i686 mpg123-devel.i686 mpg123-devel.x86_64 libcom_err-devel.i686 libcom_err-devel.x86_64 libFAudio-devel.i686 libFAudio-devel.x86_64
 sudo dnf groupinstall "C Development Tools and Libraries"
 sudo dnf groupinstall "Development Tools"
 sudo dnf install wine

(if you're using other distros, give this a look https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/)

also make sure you installed the right drivers for your gpu:
https://github.com/lutris/docs/blob/master/InstallingDrivers.md

Let's begin from Latency:
Latency: Installing Pipewire
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
To install Pipewire on Debian, just follow these commands:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire-media-session.service pipewire pipewire-pulse
And then just reboot and you should be done.

Arch Linux (Manjaro, Endeavour OS, etc.):
Remove PulseAudio:
sudo pacman -Rdd pulseaudio
And install PipeWire:
sudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
And then just reboot and you should be done.

Fedora:
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
 sudo dnf install pulseaudio-utils
 pactl info
And if you see Server Name: PulseAudio (on PipeWire) you're good to go.

After doing this, you should be already done with Pipewire :D

Now let's install osu! and set up our Wine:
Installing osu! (All distros)
To install osu!, we'll just use Forefront's package on gitlab (https://gitlab.com/osu-wine/osu-wine). His package is the most stable one I've ever tried, so huge grats and credits to him e.e

Installing the game is just as simple as this:

git clone https://gitlab.com/osu-wine/osu-wine
cd osu-wine
sudo ./install.sh
osu-wine

The game is now working, but we need to change the Wine version to an osu! specific one.
To do this, let's download the wine-osu 7.0 package with gonX's patches from here:
https://drive.google.com/file/d/1xgJIe18ccBx6yjPcmBxDbTnS1XxwrAcc/view?usp=sharing

Once you've done that, you need to extract the package.
You can do it like this: (remember to change "Downloads" to your language's name if needed!)

cd ~/Downloads
tar -xf wine-osu-7.0-x86_64.pkg.tar.zst

Now let's copy the extracted folder to the /opt directory:

sudo cp -r ~/Downloads/opt/wine-osu/ /opt

And let's edit the /etc/osu-wine.conf file:

sudo nano /etc/osu-wine.conf

Here, you need to uncomment the PATH line at the end, just like this:

## Path, DO NOT EDIT THIS VARIABLE, ONLY UNCOMMENT
PATH="/opt/wine-osu/bin:$PATH"

Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Now use this last command to copy the .conf file:

cp /etc/osu-wine.conf ~/.osu-wine.conf

Last but not least: run this to fix drag and drop songs:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine

The installation is now finished! You need just to open osu! and run it.

But before playing, the last thing you need to do is to set your universal offset to -25ms, so that your osu! will sound just like on Windows.



Warning: -25ms is what I generally recommend, but try to find your sweet spot from -40ms!

And you're done! You can now play osu!



Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) [OS in the ss is Arch Linux GNOME]
And that's it! Enjoy playing osu! on your Linux!

Got any error? (GLIBC, Game not starting, input lag, random crashes etc.)
Check the box below:


Extra info and troubleshooting:

Open me \o/:
Game won't start/ntdll.so (GLIBC_2.32) error
This error actually occurs a lot when using Ubuntu or Debian-based distros. whose GLIBC isn't updated.
Before doing anything, upgrading your system might fix depending on your distro:

sudo apt update
sudo apt upgrade
If that didn't help, we will need to change some things xD

Assuming you've followed the guide until the end, let's delete wine-osu first.

sudo rm -rf /opt/wine-osu/

Let's now download another version, working on older GLIBCs as well.
Make sure curl is installed first:

sudo apt install curl

And now:

echo 'deb http://download.opensuse.org/repositories/home:/hwsnemo:/packaged-wine-osu/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:hwsnemo:packaged-wine-osu.list
curl -fsSL https://download.opensuse.org/repositories/home:hwsnemo:packaged-wine-osu/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hwsnemo_packaged-wine-osu.gpg > /dev/null
sudo apt update
sudo apt install wine-osu

You can now play perfectly fine e.e

(Instructions might change depending on your distro, you can check yourself here:
https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu)

Input lag/Compositing

First of all, if you're gaming on Linux make sure to install all the necessary dependencies listed above (see Wine and dependencies)

Otherwise, 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:
(thanks TheKej for the reply below <3)


If you are not, check the other box for "How to add osu! to Lutris" xd

How to add osu! to Lutris

If you don't know what Lutris is, just google it and install it for your own system (it's really simple).

Now, if you're never used Lutris before, open it and then run this command:

cd ~/.local/share/lutris/runners/ && mkdir wine

This will create our wine folder; then, let's copy the Wine version we downloaded beforehand here as well:

sudo cp -r /opt/wine-osu/ ~/.local/share/lutris/runners/wine

Close Lutris and open it again.
Click on the + button you can find on the top left of your Lutris and just write osu! (or whatever you want) in the name. For the runner instead, just choose Wine (click yes to whatever pops up). It should look like this:



After this, go on the "Game options" box and just set it up like this:

Executable:
~/.local/share/osu-wine/OSU/osu!.exe
Working directory:
~/.local/share/osu-wine/OSU
Wine prefix:
~/.local/share/osu-wine/WINE.win32

Example:



Now let's go to the "Runner options" box and here select "wine-osu":



Last but not least, let's disable our desktop effects aka compositor in "System options" (enable advanced options):



And we're done! You can now run your osu! through Lutris as well!

osu! disappears/crashes randomly

These random crashes have been a thing for many people as they depended on a wine bug, and what those have in common (besides System.AccessViolationException) is OSSOCK.select. As I've read on ThePoon's ds (ty openglfreak), this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



So I built Wine 7.0-rc4 with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).

Optimize your performance: Gamemode

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 games are actually running worse than before, just disable its rule on Lutris/don't use it when starting the game.

Even lower latency: gonX's PipeWire settings

If after installing osu! your latency sounds strange and you want an even lower one, we'll apply gonX's PipeWire "patch" (credits to him and 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:

 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:

sudo 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 patch is done e.e

Moving your songs/skins from Windows
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Fedora:
sudo dnf install ntfs-3g

Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find at:
~/.local/share/osu-wine/OSU

PP Counter for OBS: gosumemory
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 as 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
 sudo ./gosumemory


Ignore the error and edit this file:

 sudo nano ~/Downloads/gosumemory/config.ini

Here, you need to edit these 2 lines like this: (replace username with your own)

 wine = true 
 path = /home/username/.local/share/osu-wine/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:

 sudo nano /usr/bin/gosumemory

Here, just paste these commands:

 #!/bin/sh

cd ~/Downloads/gosumemory
sudo ./gosumemory

And now just launch this one:

 sudo chmod +x /usr/bin/gosumemory

And we're done! You can now launch gosumemory whenever you want by just typing:

 gosumemory
in your terminal! e.e

Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Snap version of OBS (https://snapcraft.io/obs-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

Tablet drivers on Linux: OpenTabletDriver (+ Fedora install)

OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux

Fedora isn't supported yet as of right now, so you need to compile it from source to actually use it. It's a bit long, but I wrote every step here e.e:

Fedora instructions
Compiling OTD from source
Let's start from dependencies: (most of them should be already installed)

 sudo dnf install libX11 libXrandr libevdev gtk3 bash

Let's now install .NET 6 SDK which isn't available in repositories yet xd
Follow these commands:

 cd && wget https://download.visualstudio.microsoft.com/download/pr/17b6759f-1af0-41bc-ab12-209ba0377779/e8d02195dbf1434b940e0f05ae086453/dotnet-sdk-6.0.100-linux-x64.tar.gz && mkdir dotnet

 tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C dotnet/

 export PATH=$PATH:$HOME/dotnet

Last thing to do is to build OpenTabletDriver:

 git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git && cd OpenTabletDriver/

 chmod +x build.sh

Now replace username with your own:

 sudo env "PATH=$PATH:/home/username/dotnet/" ./build.sh

 chmod +x generate-rules.sh

 sudo env "PATH=$PATH:/home/username/dotnet/" ./generate-rules.sh

 sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

Let's now create a script to launch OTD:

OTD Scripts
Let's start:

 sudo nano /usr/bin/otd

Here, you need to paste this: (change username with your own)

 !/bin/bash
cd /home/username/OpenTabletDriver/OpenTabletDriver.UX.Gtk/bin/Release/net6.0/linux-x64
export PATH=$PATH:$HOME/dotnet
dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/otd

Let's now create a script to launch the OTD daemon:

 sudo nano /usr/bin/otddaemon

Paste this: (change username with your own)

 #!/bin/bash
cd /home/username/OpenTabletDriver/bin
export PATH=$PATH:$HOME/dotnet
if [ $# -eq 0 ]
then
    if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
    then
        echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
        exit 64
    fi
    dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
else
    dotnet ./OpenTabletDriver.Console.dll "$@"
fi

Now just run this:

 sudo chmod +x /usr/bin/otddaemon

Our two scripts are now finally set up; let's create the last one to launch both together:

 sudo nano /usr/bin/opentabletdriver

Here, just paste this:

 #!/bin/bash
otddaemon &
P1=$!
otd &
P2=$!
wait $P1 $P2

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/opentabletdriver

You're finally done! Launch OTD by typing:

 opentabletdriver
in your terminal e.e

osu! installer can't download files/XComposite error etc.

All these errors come from missing dependencies: make sure to install them all (see Wine and dependencies)

No sound when opening osu!

You probably only need to reboot or reload PipeWire by doing this:

sudo systemctl --user restart pipewire pipewire-pulse
sudo systemctl --user daemon-reload

Special thanks to:
  1. KatouMegumi's guide: https://wiki.archlinux.org/title/User:Katoumegumi#osu!_(stable)_on_Arch_Linux
  1. ThePoon's Discord server: https://discord.com/invite/thepoon
  1. GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
  1. hwsnemo's prepackaged wine-osu:
    https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu
  1. l3lackShark's gosumemory: https://github.com/l3lackShark/gosumemory
And to everyone willing to help! :3
I'm getting issues while opening osu or trying to do the mouse out of bounds when using 2nd monitor thing
I'm trying to paste in the command and it throws this as output:
002c:err:module:load_apiset_dll failed to load apiset: c0000482
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.3 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0034:err:module:load_apiset_dll failed to load apiset: c0000482
003c:err:module:load_apiset_dll failed to load apiset: c0000482
0048:err:module:load_apiset_dll failed to load apiset: c0000482
0060:err:module:load_apiset_dll failed to load apiset: c0000482
007c:err:module:load_apiset_dll failed to load apiset: c0000482
0084:err:module:load_apiset_dll failed to load apiset: c0000482
00a4:err:module:load_apiset_dll failed to load apiset: c0000482
00d4:err:module:load_apiset_dll failed to load apiset: c0000482
00dc:err:module:load_apiset_dll failed to load apiset: c0000482
0084:fixme:imm:ImeSetActiveContext (0x6d9a90, 0): stub
0084:fixme:imm:ImmReleaseContext (00010020, 006D9A90): stub
002c:fixme:imm:ImeSetActiveContext (0x6b8600, 1): stub
002c:fixme:imm:ImmReleaseContext (0001005A, 006B8600): stub
0104:err:module:load_apiset_dll failed to load apiset: c0000482
0104:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0104:fixme:imm:ImeSetActiveContext (0x691360, 1): stub
0104:fixme:imm:ImmReleaseContext (00010082, 00691360): stub
then it shows Wine and tells me "rundll32.exe" "This application could not be started." while for osu I open it, get the same Wine error and if I click on "No" it opens osu just fine but for some reason I get 10ms of input lag and my fps box is orange

I'm running EndeavourOS Atlantis with KDE Plasma
Topic Starter
MarshNello

Takimiku wrote:

MarshNello wrote:

final result:


UPDATE: Guide is finally out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc

A little introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to ThePoon's patches and Franc[e]sco's guide, but thanks to PipeWire and to the latest custom builds it's actually even easier. Let's start 8^)

Prerequisites:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
 sudo apt update && sudo apt upgrade && sudo apt install git curl build-essential zstd
Arch Linux (Manjaro, Endeavour OS, etc.):
 sudo pacman -Syu git p7zip wget
Fedora:
 sudo dnf update 
 sudo dnf install git zstd p7zip p7zip-plugins wget 
 sudo dnf groupinstall "Development Tools" "Development Libraries" 

install wine and its dependencies:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update
sudo apt install --install-recommends winehq-staging
sudo apt install winetricks

Arch Linux (Manjaro, Endeavour OS, etc.):
make sure to enable multilib first (https://i.imgur.com/DuLktxI.jpg)
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
sudo pacman -S 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 alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama 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 cups samba dosbox

Fedora:
 sudo dnf install alsa-plugins-pulseaudio.i686 glibc-devel.i686 glibc-devel libgcc.i686 libX11-devel.i686 freetype-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXext-devel.i686 libXxf86vm-devel.i686 libXrandr-devel.i686 libXinerama-devel.i686 mesa-libGLU-devel.i686 mesa-libOSMesa-devel.i686 libXrender-devel.i686 libpcap-devel.i686 ncurses-devel.i686 libzip-devel.i686 lcms2-devel.i686 zlib-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 cups-devel.i686 libxml2-devel.i686 openldap-devel.i686 libxslt-devel.i686 gnutls-devel.i686 libpng-devel.i686 flac-libs.i686 json-c.i686 libICE.i686 libSM.i686 libXtst.i686 libasyncns.i686 liberation-narrow-fonts.noarch libieee1284.i686 libogg.i686 libsndfile.i686 libuuid.i686 libva.i686 libvorbis.i686 libwayland-client.i686 libwayland-server.i686 llvm-libs.i686 mesa-dri-drivers.i686 mesa-filesystem.i686 mesa-libEGL.i686 mesa-libgbm.i686 nss-mdns.i686 ocl-icd.i686 pulseaudio-libs.i686 sane-backends-libs.i686 tcp_wrappers-libs.i686 unixODBC.i686 samba-common-tools.x86_64 samba-libs.x86_64 samba-winbind.x86_64 samba-winbind-clients.x86_64 samba-winbind-modules.x86_64 mesa-libGL-devel.i686 fontconfig-devel.i686 libXcomposite-devel.i686 libtiff-devel.i686 openal-soft-devel.i686 mesa-libOpenCL-devel.i686 opencl-utils-devel.i686 alsa-lib-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pulseaudio-libs-devel.i686 pulseaudio-libs-devel gtk3-devel.i686 libattr-devel.i686 libva-devel.i686 libexif-devel.i686 libexif.i686 glib2-devel.i686 mpg123-devel.i686 mpg123-devel.x86_64 libcom_err-devel.i686 libcom_err-devel.x86_64 libFAudio-devel.i686 libFAudio-devel.x86_64
 sudo dnf groupinstall "C Development Tools and Libraries"
 sudo dnf groupinstall "Development Tools"
 sudo dnf install wine

(if you're using other distros, give this a look https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/)

also make sure you installed the right drivers for your gpu:
https://github.com/lutris/docs/blob/master/InstallingDrivers.md

Let's begin from Latency:
Latency: Installing Pipewire
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
To install Pipewire on Debian, just follow these commands:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire-media-session.service pipewire pipewire-pulse
And then just reboot and you should be done.

Arch Linux (Manjaro, Endeavour OS, etc.):
Remove PulseAudio:
sudo pacman -Rdd pulseaudio
And install PipeWire:
sudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
And then just reboot and you should be done.

Fedora:
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
 sudo dnf install pulseaudio-utils
 pactl info
And if you see Server Name: PulseAudio (on PipeWire) you're good to go.

After doing this, you should be already done with Pipewire :D

Now let's install osu! and set up our Wine:
Installing osu! (All distros)
To install osu!, we'll just use Forefront's package on gitlab (https://gitlab.com/osu-wine/osu-wine). His package is the most stable one I've ever tried, so huge grats and credits to him e.e

Installing the game is just as simple as this:

git clone https://gitlab.com/osu-wine/osu-wine
cd osu-wine
sudo ./install.sh
osu-wine

The game is now working, but we need to change the Wine version to an osu! specific one.
To do this, let's download the wine-osu 7.0 package with gonX's patches from here:
https://drive.google.com/file/d/1xgJIe18ccBx6yjPcmBxDbTnS1XxwrAcc/view?usp=sharing

Once you've done that, you need to extract the package.
You can do it like this: (remember to change "Downloads" to your language's name if needed!)

cd ~/Downloads
tar -xf wine-osu-7.0-x86_64.pkg.tar.zst

Now let's copy the extracted folder to the /opt directory:

sudo cp -r ~/Downloads/opt/wine-osu/ /opt

And let's edit the /etc/osu-wine.conf file:

sudo nano /etc/osu-wine.conf

Here, you need to uncomment the PATH line at the end, just like this:

## Path, DO NOT EDIT THIS VARIABLE, ONLY UNCOMMENT
PATH="/opt/wine-osu/bin:$PATH"

Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Now use this last command to copy the .conf file:

cp /etc/osu-wine.conf ~/.osu-wine.conf

Last but not least: run this to fix drag and drop songs:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine

The installation is now finished! You need just to open osu! and run it.

But before playing, the last thing you need to do is to set your universal offset to -25ms, so that your osu! will sound just like on Windows.



Warning: -25ms is what I generally recommend, but try to find your sweet spot from -40ms!

And you're done! You can now play osu!



Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) [OS in the ss is Arch Linux GNOME]
And that's it! Enjoy playing osu! on your Linux!

Got any error? (GLIBC, Game not starting, input lag, random crashes etc.)
Check the box below:


Extra info and troubleshooting:

Open me \o/:
Game won't start/ntdll.so (GLIBC_2.32) error
This error actually occurs a lot when using Ubuntu or Debian-based distros. whose GLIBC isn't updated.
Before doing anything, upgrading your system might fix depending on your distro:

sudo apt update
sudo apt upgrade
If that didn't help, we will need to change some things xD

Assuming you've followed the guide until the end, let's delete wine-osu first.

sudo rm -rf /opt/wine-osu/

Let's now download another version, working on older GLIBCs as well.
Make sure curl is installed first:

sudo apt install curl

And now:

echo 'deb http://download.opensuse.org/repositories/home:/hwsnemo:/packaged-wine-osu/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:hwsnemo:packaged-wine-osu.list
curl -fsSL https://download.opensuse.org/repositories/home:hwsnemo:packaged-wine-osu/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hwsnemo_packaged-wine-osu.gpg > /dev/null
sudo apt update
sudo apt install wine-osu

You can now play perfectly fine e.e

(Instructions might change depending on your distro, you can check yourself here:
https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu)

Input lag/Compositing

First of all, if you're gaming on Linux make sure to install all the necessary dependencies listed above (see Wine and dependencies)

Otherwise, 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:
(thanks TheKej for the reply below <3)


If you are not, check the other box for "How to add osu! to Lutris" xd

How to add osu! to Lutris

If you don't know what Lutris is, just google it and install it for your own system (it's really simple).

Now, if you're never used Lutris before, open it and then run this command:

cd ~/.local/share/lutris/runners/ && mkdir wine

This will create our wine folder; then, let's copy the Wine version we downloaded beforehand here as well:

sudo cp -r /opt/wine-osu/ ~/.local/share/lutris/runners/wine

Close Lutris and open it again.
Click on the + button you can find on the top left of your Lutris and just write osu! (or whatever you want) in the name. For the runner instead, just choose Wine (click yes to whatever pops up). It should look like this:



After this, go on the "Game options" box and just set it up like this:

Executable:
~/.local/share/osu-wine/OSU/osu!.exe
Working directory:
~/.local/share/osu-wine/OSU
Wine prefix:
~/.local/share/osu-wine/WINE.win32

Example:



Now let's go to the "Runner options" box and here select "wine-osu":



Last but not least, let's disable our desktop effects aka compositor in "System options" (enable advanced options):



And we're done! You can now run your osu! through Lutris as well!

osu! disappears/crashes randomly

These random crashes have been a thing for many people as they depended on a wine bug, and what those have in common (besides System.AccessViolationException) is OSSOCK.select. As I've read on ThePoon's ds (ty openglfreak), this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



So I built Wine 7.0-rc4 with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).

Optimize your performance: Gamemode

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 games are actually running worse than before, just disable its rule on Lutris/don't use it when starting the game.

Even lower latency: gonX's PipeWire settings

If after installing osu! your latency sounds strange and you want an even lower one, we'll apply gonX's PipeWire "patch" (credits to him and 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:

 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:

sudo 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 patch is done e.e

Moving your songs/skins from Windows
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Fedora:
sudo dnf install ntfs-3g

Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find at:
~/.local/share/osu-wine/OSU

PP Counter for OBS: gosumemory
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 as 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
 sudo ./gosumemory


Ignore the error and edit this file:

 sudo nano ~/Downloads/gosumemory/config.ini

Here, you need to edit these 2 lines like this: (replace username with your own)

 wine = true 
 path = /home/username/.local/share/osu-wine/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:

 sudo nano /usr/bin/gosumemory

Here, just paste these commands:

 #!/bin/sh

cd ~/Downloads/gosumemory
sudo ./gosumemory

And now just launch this one:

 sudo chmod +x /usr/bin/gosumemory

And we're done! You can now launch gosumemory whenever you want by just typing:

 gosumemory
in your terminal! e.e

Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Snap version of OBS (https://snapcraft.io/obs-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

Tablet drivers on Linux: OpenTabletDriver (+ Fedora install)

OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux

Fedora isn't supported yet as of right now, so you need to compile it from source to actually use it. It's a bit long, but I wrote every step here e.e:

Fedora instructions
Compiling OTD from source
Let's start from dependencies: (most of them should be already installed)

 sudo dnf install libX11 libXrandr libevdev gtk3 bash

Let's now install .NET 6 SDK which isn't available in repositories yet xd
Follow these commands:

 cd && wget https://download.visualstudio.microsoft.com/download/pr/17b6759f-1af0-41bc-ab12-209ba0377779/e8d02195dbf1434b940e0f05ae086453/dotnet-sdk-6.0.100-linux-x64.tar.gz && mkdir dotnet

 tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C dotnet/

 export PATH=$PATH:$HOME/dotnet

Last thing to do is to build OpenTabletDriver:

 git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git && cd OpenTabletDriver/

 chmod +x build.sh

Now replace username with your own:

 sudo env "PATH=$PATH:/home/username/dotnet/" ./build.sh

 chmod +x generate-rules.sh

 sudo env "PATH=$PATH:/home/username/dotnet/" ./generate-rules.sh

 sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

Let's now create a script to launch OTD:

OTD Scripts
Let's start:

 sudo nano /usr/bin/otd

Here, you need to paste this: (change username with your own)

 !/bin/bash
cd /home/username/OpenTabletDriver/OpenTabletDriver.UX.Gtk/bin/Release/net6.0/linux-x64
export PATH=$PATH:$HOME/dotnet
dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/otd

Let's now create a script to launch the OTD daemon:

 sudo nano /usr/bin/otddaemon

Paste this: (change username with your own)

 #!/bin/bash
cd /home/username/OpenTabletDriver/bin
export PATH=$PATH:$HOME/dotnet
if [ $# -eq 0 ]
then
    if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
    then
        echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
        exit 64
    fi
    dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
else
    dotnet ./OpenTabletDriver.Console.dll "$@"
fi

Now just run this:

 sudo chmod +x /usr/bin/otddaemon

Our two scripts are now finally set up; let's create the last one to launch both together:

 sudo nano /usr/bin/opentabletdriver

Here, just paste this:

 #!/bin/bash
otddaemon &
P1=$!
otd &
P2=$!
wait $P1 $P2

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/opentabletdriver

You're finally done! Launch OTD by typing:

 opentabletdriver
in your terminal e.e

osu! installer can't download files/XComposite error etc.

All these errors come from missing dependencies: make sure to install them all (see Wine and dependencies)

No sound when opening osu!

You probably only need to reboot or reload PipeWire by doing this:

sudo systemctl --user restart pipewire pipewire-pulse
sudo systemctl --user daemon-reload

Special thanks to:
  1. KatouMegumi's guide: https://wiki.archlinux.org/title/User:Katoumegumi#osu!_(stable)_on_Arch_Linux
  1. ThePoon's Discord server: https://discord.com/invite/thepoon
  1. GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
  1. hwsnemo's prepackaged wine-osu:
    https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu
  1. l3lackShark's gosumemory: https://github.com/l3lackShark/gosumemory
And to everyone willing to help! :3
I'm getting issues while opening osu or trying to do the mouse out of bounds when using 2nd monitor thing
I'm trying to paste in the command and it throws this as output:
002c:err:module:load_apiset_dll failed to load apiset: c0000482
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.3 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0034:err:module:load_apiset_dll failed to load apiset: c0000482
003c:err:module:load_apiset_dll failed to load apiset: c0000482
0048:err:module:load_apiset_dll failed to load apiset: c0000482
0060:err:module:load_apiset_dll failed to load apiset: c0000482
007c:err:module:load_apiset_dll failed to load apiset: c0000482
0084:err:module:load_apiset_dll failed to load apiset: c0000482
00a4:err:module:load_apiset_dll failed to load apiset: c0000482
00d4:err:module:load_apiset_dll failed to load apiset: c0000482
00dc:err:module:load_apiset_dll failed to load apiset: c0000482
0084:fixme:imm:ImeSetActiveContext (0x6d9a90, 0): stub
0084:fixme:imm:ImmReleaseContext (00010020, 006D9A90): stub
002c:fixme:imm:ImeSetActiveContext (0x6b8600, 1): stub
002c:fixme:imm:ImmReleaseContext (0001005A, 006B8600): stub
0104:err:module:load_apiset_dll failed to load apiset: c0000482
0104:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0104:fixme:imm:ImeSetActiveContext (0x691360, 1): stub
0104:fixme:imm:ImmReleaseContext (00010082, 00691360): stub
then it shows Wine and tells me "rundll32.exe" "This application could not be started." while for osu I open it, get the same Wine error and if I click on "No" it opens osu just fine but for some reason I get 10ms of input lag and my fps box is orange

I'm running EndeavourOS Atlantis with KDE Plasma
First of all:
osu-wine
is the command to launch the game, and the from the logs you sent it doesn’t seem like you used the custom Wine build, so check again also following the Youtube video.

10ms isn’t input lag but refers to the game’s one, so you need to install video drivers like said in here: [url] https://github.com/lutris/docs/blob/master/InstallingDrivers.md[/url]

In the end, the fix for your cursor going to the 2nd monitor is this:

 WINEPREFIX=$HOME/.local/share/osu-wine/WINE.win32 wine reg add "HKEY_CURRENT_USER\\Software\\Wine" /v HideWineExports /t REG_SZ /d Y
ayukovt

MarshNello wrote:

Takimiku wrote:

MarshNello wrote:

final result:


UPDATE: Guide is finally out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc

A little introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to ThePoon's patches and Franc[e]sco's guide, but thanks to PipeWire and to the latest custom builds it's actually even easier. Let's start 8^)

Prerequisites:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
 sudo apt update && sudo apt upgrade && sudo apt install git curl build-essential zstd
Arch Linux (Manjaro, Endeavour OS, etc.):
 sudo pacman -Syu git p7zip wget
Fedora:
 sudo dnf update 
 sudo dnf install git zstd p7zip p7zip-plugins wget 
 sudo dnf groupinstall "Development Tools" "Development Libraries" 

install wine and its dependencies:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update
sudo apt install --install-recommends winehq-staging
sudo apt install winetricks

Arch Linux (Manjaro, Endeavour OS, etc.):
make sure to enable multilib first (https://i.imgur.com/DuLktxI.jpg)
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
sudo pacman -S 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 alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama 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 cups samba dosbox

Fedora:
 sudo dnf install alsa-plugins-pulseaudio.i686 glibc-devel.i686 glibc-devel libgcc.i686 libX11-devel.i686 freetype-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXext-devel.i686 libXxf86vm-devel.i686 libXrandr-devel.i686 libXinerama-devel.i686 mesa-libGLU-devel.i686 mesa-libOSMesa-devel.i686 libXrender-devel.i686 libpcap-devel.i686 ncurses-devel.i686 libzip-devel.i686 lcms2-devel.i686 zlib-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 cups-devel.i686 libxml2-devel.i686 openldap-devel.i686 libxslt-devel.i686 gnutls-devel.i686 libpng-devel.i686 flac-libs.i686 json-c.i686 libICE.i686 libSM.i686 libXtst.i686 libasyncns.i686 liberation-narrow-fonts.noarch libieee1284.i686 libogg.i686 libsndfile.i686 libuuid.i686 libva.i686 libvorbis.i686 libwayland-client.i686 libwayland-server.i686 llvm-libs.i686 mesa-dri-drivers.i686 mesa-filesystem.i686 mesa-libEGL.i686 mesa-libgbm.i686 nss-mdns.i686 ocl-icd.i686 pulseaudio-libs.i686 sane-backends-libs.i686 tcp_wrappers-libs.i686 unixODBC.i686 samba-common-tools.x86_64 samba-libs.x86_64 samba-winbind.x86_64 samba-winbind-clients.x86_64 samba-winbind-modules.x86_64 mesa-libGL-devel.i686 fontconfig-devel.i686 libXcomposite-devel.i686 libtiff-devel.i686 openal-soft-devel.i686 mesa-libOpenCL-devel.i686 opencl-utils-devel.i686 alsa-lib-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pulseaudio-libs-devel.i686 pulseaudio-libs-devel gtk3-devel.i686 libattr-devel.i686 libva-devel.i686 libexif-devel.i686 libexif.i686 glib2-devel.i686 mpg123-devel.i686 mpg123-devel.x86_64 libcom_err-devel.i686 libcom_err-devel.x86_64 libFAudio-devel.i686 libFAudio-devel.x86_64
 sudo dnf groupinstall "C Development Tools and Libraries"
 sudo dnf groupinstall "Development Tools"
 sudo dnf install wine

(if you're using other distros, give this a look https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/)

also make sure you installed the right drivers for your gpu:
https://github.com/lutris/docs/blob/master/InstallingDrivers.md

Let's begin from Latency:
Latency: Installing Pipewire
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
To install Pipewire on Debian, just follow these commands:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire-media-session.service pipewire pipewire-pulse
And then just reboot and you should be done.

Arch Linux (Manjaro, Endeavour OS, etc.):
Remove PulseAudio:
sudo pacman -Rdd pulseaudio
And install PipeWire:
sudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
And then just reboot and you should be done.

Fedora:
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
 sudo dnf install pulseaudio-utils
 pactl info
And if you see Server Name: PulseAudio (on PipeWire) you're good to go.

After doing this, you should be already done with Pipewire :D

Now let's install osu! and set up our Wine:
Installing osu! (All distros)
To install osu!, we'll just use Forefront's package on gitlab (https://gitlab.com/osu-wine/osu-wine). His package is the most stable one I've ever tried, so huge grats and credits to him e.e

Installing the game is just as simple as this:

git clone https://gitlab.com/osu-wine/osu-wine
cd osu-wine
sudo ./install.sh
osu-wine

The game is now working, but we need to change the Wine version to an osu! specific one.
To do this, let's download the wine-osu 7.0 package with gonX's patches from here:
https://drive.google.com/file/d/1xgJIe18ccBx6yjPcmBxDbTnS1XxwrAcc/view?usp=sharing

Once you've done that, you need to extract the package.
You can do it like this: (remember to change "Downloads" to your language's name if needed!)

cd ~/Downloads
tar -xf wine-osu-7.0-x86_64.pkg.tar.zst

Now let's copy the extracted folder to the /opt directory:

sudo cp -r ~/Downloads/opt/wine-osu/ /opt

And let's edit the /etc/osu-wine.conf file:

sudo nano /etc/osu-wine.conf

Here, you need to uncomment the PATH line at the end, just like this:

## Path, DO NOT EDIT THIS VARIABLE, ONLY UNCOMMENT
PATH="/opt/wine-osu/bin:$PATH"

Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Now use this last command to copy the .conf file:

cp /etc/osu-wine.conf ~/.osu-wine.conf

Last but not least: run this to fix drag and drop songs:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine

The installation is now finished! You need just to open osu! and run it.

But before playing, the last thing you need to do is to set your universal offset to -25ms, so that your osu! will sound just like on Windows.



Warning: -25ms is what I generally recommend, but try to find your sweet spot from -40ms!

And you're done! You can now play osu!



Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) [OS in the ss is Arch Linux GNOME]
And that's it! Enjoy playing osu! on your Linux!

Got any error? (GLIBC, Game not starting, input lag, random crashes etc.)
Check the box below:


Extra info and troubleshooting:

Open me \o/:
Game won't start/ntdll.so (GLIBC_2.32) error
This error actually occurs a lot when using Ubuntu or Debian-based distros. whose GLIBC isn't updated.
Before doing anything, upgrading your system might fix depending on your distro:

sudo apt update
sudo apt upgrade
If that didn't help, we will need to change some things xD

Assuming you've followed the guide until the end, let's delete wine-osu first.

sudo rm -rf /opt/wine-osu/

Let's now download another version, working on older GLIBCs as well.
Make sure curl is installed first:

sudo apt install curl

And now:

echo 'deb http://download.opensuse.org/repositories/home:/hwsnemo:/packaged-wine-osu/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:hwsnemo:packaged-wine-osu.list
curl -fsSL https://download.opensuse.org/repositories/home:hwsnemo:packaged-wine-osu/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hwsnemo_packaged-wine-osu.gpg > /dev/null
sudo apt update
sudo apt install wine-osu

You can now play perfectly fine e.e

(Instructions might change depending on your distro, you can check yourself here:
https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu)

Input lag/Compositing

First of all, if you're gaming on Linux make sure to install all the necessary dependencies listed above (see Wine and dependencies)

Otherwise, 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:
(thanks TheKej for the reply below <3)


If you are not, check the other box for "How to add osu! to Lutris" xd

How to add osu! to Lutris

If you don't know what Lutris is, just google it and install it for your own system (it's really simple).

Now, if you're never used Lutris before, open it and then run this command:

cd ~/.local/share/lutris/runners/ && mkdir wine

This will create our wine folder; then, let's copy the Wine version we downloaded beforehand here as well:

sudo cp -r /opt/wine-osu/ ~/.local/share/lutris/runners/wine

Close Lutris and open it again.
Click on the + button you can find on the top left of your Lutris and just write osu! (or whatever you want) in the name. For the runner instead, just choose Wine (click yes to whatever pops up). It should look like this:



After this, go on the "Game options" box and just set it up like this:

Executable:
~/.local/share/osu-wine/OSU/osu!.exe
Working directory:
~/.local/share/osu-wine/OSU
Wine prefix:
~/.local/share/osu-wine/WINE.win32

Example:



Now let's go to the "Runner options" box and here select "wine-osu":



Last but not least, let's disable our desktop effects aka compositor in "System options" (enable advanced options):



And we're done! You can now run your osu! through Lutris as well!

osu! disappears/crashes randomly

These random crashes have been a thing for many people as they depended on a wine bug, and what those have in common (besides System.AccessViolationException) is OSSOCK.select. As I've read on ThePoon's ds (ty openglfreak), this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



So I built Wine 7.0-rc4 with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).

Optimize your performance: Gamemode

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 games are actually running worse than before, just disable its rule on Lutris/don't use it when starting the game.

Even lower latency: gonX's PipeWire settings

If after installing osu! your latency sounds strange and you want an even lower one, we'll apply gonX's PipeWire "patch" (credits to him and 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:

 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:

sudo 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 patch is done e.e

Moving your songs/skins from Windows
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Fedora:
sudo dnf install ntfs-3g

Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find at:
~/.local/share/osu-wine/OSU

PP Counter for OBS: gosumemory
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 as 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
 sudo ./gosumemory


Ignore the error and edit this file:

 sudo nano ~/Downloads/gosumemory/config.ini

Here, you need to edit these 2 lines like this: (replace username with your own)

 wine = true 
 path = /home/username/.local/share/osu-wine/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:

 sudo nano /usr/bin/gosumemory

Here, just paste these commands:

 #!/bin/sh

cd ~/Downloads/gosumemory
sudo ./gosumemory

And now just launch this one:

 sudo chmod +x /usr/bin/gosumemory

And we're done! You can now launch gosumemory whenever you want by just typing:

 gosumemory
in your terminal! e.e

Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Snap version of OBS (https://snapcraft.io/obs-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

Tablet drivers on Linux: OpenTabletDriver (+ Fedora install)

OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux

Fedora isn't supported yet as of right now, so you need to compile it from source to actually use it. It's a bit long, but I wrote every step here e.e:

Fedora instructions
Compiling OTD from source
Let's start from dependencies: (most of them should be already installed)

 sudo dnf install libX11 libXrandr libevdev gtk3 bash

Let's now install .NET 6 SDK which isn't available in repositories yet xd
Follow these commands:

 cd && wget https://download.visualstudio.microsoft.com/download/pr/17b6759f-1af0-41bc-ab12-209ba0377779/e8d02195dbf1434b940e0f05ae086453/dotnet-sdk-6.0.100-linux-x64.tar.gz && mkdir dotnet

 tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C dotnet/

 export PATH=$PATH:$HOME/dotnet

Last thing to do is to build OpenTabletDriver:

 git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git && cd OpenTabletDriver/

 chmod +x build.sh

Now replace username with your own:

 sudo env "PATH=$PATH:/home/username/dotnet/" ./build.sh

 chmod +x generate-rules.sh

 sudo env "PATH=$PATH:/home/username/dotnet/" ./generate-rules.sh

 sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

Let's now create a script to launch OTD:

OTD Scripts
Let's start:

 sudo nano /usr/bin/otd

Here, you need to paste this: (change username with your own)

 !/bin/bash
cd /home/username/OpenTabletDriver/OpenTabletDriver.UX.Gtk/bin/Release/net6.0/linux-x64
export PATH=$PATH:$HOME/dotnet
dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/otd

Let's now create a script to launch the OTD daemon:

 sudo nano /usr/bin/otddaemon

Paste this: (change username with your own)

 #!/bin/bash
cd /home/username/OpenTabletDriver/bin
export PATH=$PATH:$HOME/dotnet
if [ $# -eq 0 ]
then
    if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
    then
        echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
        exit 64
    fi
    dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
else
    dotnet ./OpenTabletDriver.Console.dll "$@"
fi

Now just run this:

 sudo chmod +x /usr/bin/otddaemon

Our two scripts are now finally set up; let's create the last one to launch both together:

 sudo nano /usr/bin/opentabletdriver

Here, just paste this:

 #!/bin/bash
otddaemon &
P1=$!
otd &
P2=$!
wait $P1 $P2

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/opentabletdriver

You're finally done! Launch OTD by typing:

 opentabletdriver
in your terminal e.e

osu! installer can't download files/XComposite error etc.

All these errors come from missing dependencies: make sure to install them all (see Wine and dependencies)

No sound when opening osu!

You probably only need to reboot or reload PipeWire by doing this:

sudo systemctl --user restart pipewire pipewire-pulse
sudo systemctl --user daemon-reload

Special thanks to:
  1. KatouMegumi's guide: https://wiki.archlinux.org/title/User:Katoumegumi#osu!_(stable)_on_Arch_Linux
  1. ThePoon's Discord server: https://discord.com/invite/thepoon
  1. GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
  1. hwsnemo's prepackaged wine-osu:
    https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu
  1. l3lackShark's gosumemory: https://github.com/l3lackShark/gosumemory
And to everyone willing to help! :3
I'm getting issues while opening osu or trying to do the mouse out of bounds when using 2nd monitor thing
I'm trying to paste in the command and it throws this as output:
002c:err:module:load_apiset_dll failed to load apiset: c0000482
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.3 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0034:err:module:load_apiset_dll failed to load apiset: c0000482
003c:err:module:load_apiset_dll failed to load apiset: c0000482
0048:err:module:load_apiset_dll failed to load apiset: c0000482
0060:err:module:load_apiset_dll failed to load apiset: c0000482
007c:err:module:load_apiset_dll failed to load apiset: c0000482
0084:err:module:load_apiset_dll failed to load apiset: c0000482
00a4:err:module:load_apiset_dll failed to load apiset: c0000482
00d4:err:module:load_apiset_dll failed to load apiset: c0000482
00dc:err:module:load_apiset_dll failed to load apiset: c0000482
0084:fixme:imm:ImeSetActiveContext (0x6d9a90, 0): stub
0084:fixme:imm:ImmReleaseContext (00010020, 006D9A90): stub
002c:fixme:imm:ImeSetActiveContext (0x6b8600, 1): stub
002c:fixme:imm:ImmReleaseContext (0001005A, 006B8600): stub
0104:err:module:load_apiset_dll failed to load apiset: c0000482
0104:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0104:fixme:imm:ImeSetActiveContext (0x691360, 1): stub
0104:fixme:imm:ImmReleaseContext (00010082, 00691360): stub
then it shows Wine and tells me "rundll32.exe" "This application could not be started." while for osu I open it, get the same Wine error and if I click on "No" it opens osu just fine but for some reason I get 10ms of input lag and my fps box is orange

I'm running EndeavourOS Atlantis with KDE Plasma
First of all:
osu-wine
is the command to launch the game, and the from the logs you sent it doesn’t seem like you used the custom Wine build, so check again also following the Youtube video.

10ms isn’t input lag but refers to the game’s one, so you need to install video drivers like said in here: [url] https://github.com/lutris/docs/blob/master/InstallingDrivers.md[/url]

In the end, the fix for your cursor going to the 2nd monitor is this:

 WINEPREFIX=$HOME/.local/share/osu-wine/WINE.win32 wine reg add "HKEY_CURRENT_USER\\Software\\Wine" /v HideWineExports /t REG_SZ /d Y
welp I did everything the way like in the tutorial idk maybe something failed while trying to get the custom Wine build but thanks for the info

I installed the drivers and rebooted and now osu can't find "graphics context" and it throws this error:
#=zSTDXLjmQAUJauXLk5L5NSLJiPL0k: No available GL context found. ---> OpenTK.Graphics.GraphicsContextException: Failed to initialize EGL, error BAD_ALLOC.
at OpenTK.Platform.Egl.EglWindowInfo..ctor(IntPtr handle, IntPtr display, IntPtr surface)
at OpenTK.Platform.Egl.EglAnglePlatformFactory.CreateWindowInfo(IAngleWindowInfoInternal window_info, Int32 major, GraphicsContextFlags flags)
at OpenTK.Platform.Egl.EglAnglePlatformFactory.CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, Boolean directRendering, Int32 major, Int32 minor, GraphicsContextFlags flags)
at OpenTK.Graphics.GraphicsContext..ctor(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, Int32 major, Int32 minor, GraphicsContextFlags flags)
at #=zeNhYfoMqrhaH94l8bp_bJep0BlLL.#=zx45KuH8=(Int32 #=zVXyvlwM=, Int32 #=zvjMWbRc=, GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
--- End of inner exception stack trace ---
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.OnHandleCreated(EventArgs #=zQ1NUWBY=)
at #=zJAlFcpLyCnCyGU0w8NfOkTQ$cgYc.OnHandleCreated(EventArgs #=zQ1NUWBY=)
at System.Windows.Forms.Control.WmCreate(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmCreate(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at #=z7BE80bg4gLuERVRfEC1sdQ0=.WndProc(Message& #=zrHQqrus=)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

EDIT: It appears Lutris is using wine 7.3 staging when running osu and me running osu through terminal with "osu-wine" command makes it open with wine 7.0 with the patches and it works absolutely fine
Topic Starter
MarshNello

Takimiku wrote:

MarshNello wrote:

Takimiku wrote:

MarshNello wrote:

final result:


UPDATE: Guide is finally out on YouTube! Check it out here:
https://youtu.be/BdBcR8jfErc

A little introduction:
osu! working fine on Linux has been a thing for many years now, especially thanks to ThePoon's patches and Franc[e]sco's guide, but thanks to PipeWire and to the latest custom builds it's actually even easier. Let's start 8^)

Prerequisites:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
 sudo apt update && sudo apt upgrade && sudo apt install git curl build-essential zstd
Arch Linux (Manjaro, Endeavour OS, etc.):
 sudo pacman -Syu git p7zip wget
Fedora:
 sudo dnf update 
 sudo dnf install git zstd p7zip p7zip-plugins wget 
 sudo dnf groupinstall "Development Tools" "Development Libraries" 

install wine and its dependencies:
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update
sudo apt install --install-recommends winehq-staging
sudo apt install winetricks

Arch Linux (Manjaro, Endeavour OS, etc.):
make sure to enable multilib first (https://i.imgur.com/DuLktxI.jpg)
sudo pacman -Sy
sudo pacman -S wine-staging winetricks
sudo pacman -S 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 alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama 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 cups samba dosbox

Fedora:
 sudo dnf install alsa-plugins-pulseaudio.i686 glibc-devel.i686 glibc-devel libgcc.i686 libX11-devel.i686 freetype-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXext-devel.i686 libXxf86vm-devel.i686 libXrandr-devel.i686 libXinerama-devel.i686 mesa-libGLU-devel.i686 mesa-libOSMesa-devel.i686 libXrender-devel.i686 libpcap-devel.i686 ncurses-devel.i686 libzip-devel.i686 lcms2-devel.i686 zlib-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 cups-devel.i686 libxml2-devel.i686 openldap-devel.i686 libxslt-devel.i686 gnutls-devel.i686 libpng-devel.i686 flac-libs.i686 json-c.i686 libICE.i686 libSM.i686 libXtst.i686 libasyncns.i686 liberation-narrow-fonts.noarch libieee1284.i686 libogg.i686 libsndfile.i686 libuuid.i686 libva.i686 libvorbis.i686 libwayland-client.i686 libwayland-server.i686 llvm-libs.i686 mesa-dri-drivers.i686 mesa-filesystem.i686 mesa-libEGL.i686 mesa-libgbm.i686 nss-mdns.i686 ocl-icd.i686 pulseaudio-libs.i686 sane-backends-libs.i686 tcp_wrappers-libs.i686 unixODBC.i686 samba-common-tools.x86_64 samba-libs.x86_64 samba-winbind.x86_64 samba-winbind-clients.x86_64 samba-winbind-modules.x86_64 mesa-libGL-devel.i686 fontconfig-devel.i686 libXcomposite-devel.i686 libtiff-devel.i686 openal-soft-devel.i686 mesa-libOpenCL-devel.i686 opencl-utils-devel.i686 alsa-lib-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pulseaudio-libs-devel.i686 pulseaudio-libs-devel gtk3-devel.i686 libattr-devel.i686 libva-devel.i686 libexif-devel.i686 libexif.i686 glib2-devel.i686 mpg123-devel.i686 mpg123-devel.x86_64 libcom_err-devel.i686 libcom_err-devel.x86_64 libFAudio-devel.i686 libFAudio-devel.x86_64
 sudo dnf groupinstall "C Development Tools and Libraries"
 sudo dnf groupinstall "Development Tools"
 sudo dnf install wine

(if you're using other distros, give this a look https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/)

also make sure you installed the right drivers for your gpu:
https://github.com/lutris/docs/blob/master/InstallingDrivers.md

Let's begin from Latency:
Latency: Installing Pipewire
Debian (Ubuntu, Linux Mint, Pop!_OS etc..):
To install Pipewire on Debian, just follow these commands:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth
sudo apt install pipewire-audio-client-libraries
systemctl --user daemon-reload
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudio
systemctl --user --now enable pipewire-media-session.service pipewire pipewire-pulse
And then just reboot and you should be done.

Arch Linux (Manjaro, Endeavour OS, etc.):
Remove PulseAudio:
sudo pacman -Rdd pulseaudio
And install PipeWire:
sudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
And then just reboot and you should be done.

Fedora:
Well, Fedora's latest versions already ship with Pipewire xD you might want to check doing this:
 sudo dnf install pulseaudio-utils
 pactl info
And if you see Server Name: PulseAudio (on PipeWire) you're good to go.

After doing this, you should be already done with Pipewire :D

Now let's install osu! and set up our Wine:
Installing osu! (All distros)
To install osu!, we'll just use Forefront's package on gitlab (https://gitlab.com/osu-wine/osu-wine). His package is the most stable one I've ever tried, so huge grats and credits to him e.e

Installing the game is just as simple as this:

git clone https://gitlab.com/osu-wine/osu-wine
cd osu-wine
sudo ./install.sh
osu-wine

The game is now working, but we need to change the Wine version to an osu! specific one.
To do this, let's download the wine-osu 7.0 package with gonX's patches from here:
https://drive.google.com/file/d/1xgJIe18ccBx6yjPcmBxDbTnS1XxwrAcc/view?usp=sharing

Once you've done that, you need to extract the package.
You can do it like this: (remember to change "Downloads" to your language's name if needed!)

cd ~/Downloads
tar -xf wine-osu-7.0-x86_64.pkg.tar.zst

Now let's copy the extracted folder to the /opt directory:

sudo cp -r ~/Downloads/opt/wine-osu/ /opt

And let's edit the /etc/osu-wine.conf file:

sudo nano /etc/osu-wine.conf

Here, you need to uncomment the PATH line at the end, just like this:

## Path, DO NOT EDIT THIS VARIABLE, ONLY UNCOMMENT
PATH="/opt/wine-osu/bin:$PATH"

Once you've done this, just save with Ctrl+O and exit with Ctrl+X.
Now use this last command to copy the .conf file:

cp /etc/osu-wine.conf ~/.osu-wine.conf

Last but not least: run this to fix drag and drop songs:

sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine

The installation is now finished! You need just to open osu! and run it.

But before playing, the last thing you need to do is to set your universal offset to -25ms, so that your osu! will sound just like on Windows.



Warning: -25ms is what I generally recommend, but try to find your sweet spot from -40ms!

And you're done! You can now play osu!



Check the troubleshooting box if you need any help or just write me on Twitter (@MarshNello) [OS in the ss is Arch Linux GNOME]
And that's it! Enjoy playing osu! on your Linux!

Got any error? (GLIBC, Game not starting, input lag, random crashes etc.)
Check the box below:


Extra info and troubleshooting:

Open me \o/:
Game won't start/ntdll.so (GLIBC_2.32) error
This error actually occurs a lot when using Ubuntu or Debian-based distros. whose GLIBC isn't updated.
Before doing anything, upgrading your system might fix depending on your distro:

sudo apt update
sudo apt upgrade
If that didn't help, we will need to change some things xD

Assuming you've followed the guide until the end, let's delete wine-osu first.

sudo rm -rf /opt/wine-osu/

Let's now download another version, working on older GLIBCs as well.
Make sure curl is installed first:

sudo apt install curl

And now:

echo 'deb http://download.opensuse.org/repositories/home:/hwsnemo:/packaged-wine-osu/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:hwsnemo:packaged-wine-osu.list
curl -fsSL https://download.opensuse.org/repositories/home:hwsnemo:packaged-wine-osu/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hwsnemo_packaged-wine-osu.gpg > /dev/null
sudo apt update
sudo apt install wine-osu

You can now play perfectly fine e.e

(Instructions might change depending on your distro, you can check yourself here:
https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu)

Input lag/Compositing

First of all, if you're gaming on Linux make sure to install all the necessary dependencies listed above (see Wine and dependencies)

Otherwise, 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:
(thanks TheKej for the reply below <3)


If you are not, check the other box for "How to add osu! to Lutris" xd

How to add osu! to Lutris

If you don't know what Lutris is, just google it and install it for your own system (it's really simple).

Now, if you're never used Lutris before, open it and then run this command:

cd ~/.local/share/lutris/runners/ && mkdir wine

This will create our wine folder; then, let's copy the Wine version we downloaded beforehand here as well:

sudo cp -r /opt/wine-osu/ ~/.local/share/lutris/runners/wine

Close Lutris and open it again.
Click on the + button you can find on the top left of your Lutris and just write osu! (or whatever you want) in the name. For the runner instead, just choose Wine (click yes to whatever pops up). It should look like this:



After this, go on the "Game options" box and just set it up like this:

Executable:
~/.local/share/osu-wine/OSU/osu!.exe
Working directory:
~/.local/share/osu-wine/OSU
Wine prefix:
~/.local/share/osu-wine/WINE.win32

Example:



Now let's go to the "Runner options" box and here select "wine-osu":



Last but not least, let's disable our desktop effects aka compositor in "System options" (enable advanced options):



And we're done! You can now run your osu! through Lutris as well!

osu! disappears/crashes randomly

These random crashes have been a thing for many people as they depended on a wine bug, and what those have in common (besides System.AccessViolationException) is OSSOCK.select. As I've read on ThePoon's ds (ty openglfreak), this socket code crash has been fixed in the latest Wine 7.0-rc3, and also listed in Wine 7.0-rc4's bug fixes.



So I built Wine 7.0-rc4 with gonX's patches and it seems to work like a charm xD

Replacing it is really easy:
Delete your current wine-osu version:

sudo rm -rf /opt/wine-osu/

Then download the latest wine-osu here:
https://drive.google.com/file/d/14Ikp0x2vVPIy0wBcC2bPvTJSlaqCwfW9/view?usp=sharing

And just install it with the same commands as the guide:

cd ~/Downloads
tar -xf wine-osu-7.0-rc4_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt

Doing this should fix those crashes while playing, just let me know if it really works as I've never gotten many of them xD

For Mint/Ubuntu users with GLIBC error using the other package:

hwsnemo has already updated the wine-osu package to 7.0-rc3 so updating your system should do the thing (or just do all the steps in the box again).

Optimize your performance: Gamemode

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 games are actually running worse than before, just disable its rule on Lutris/don't use it when starting the game.

Even lower latency: gonX's PipeWire settings

If after installing osu! your latency sounds strange and you want an even lower one, we'll apply gonX's PipeWire "patch" (credits to him and 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:

 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:

sudo 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 patch is done e.e

Moving your songs/skins from Windows
First of all, make sure you installed the ntfs-3g package needed to read Windows partitions:
Fedora:
sudo dnf install ntfs-3g

Then, just copy the Skins and Songs folder to your Linux osu! folder, that you can find at:
~/.local/share/osu-wine/OSU

PP Counter for OBS: gosumemory
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 as 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
 sudo ./gosumemory


Ignore the error and edit this file:

 sudo nano ~/Downloads/gosumemory/config.ini

Here, you need to edit these 2 lines like this: (replace username with your own)

 wine = true 
 path = /home/username/.local/share/osu-wine/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:

 sudo nano /usr/bin/gosumemory

Here, just paste these commands:

 #!/bin/sh

cd ~/Downloads/gosumemory
sudo ./gosumemory

And now just launch this one:

 sudo chmod +x /usr/bin/gosumemory

And we're done! You can now launch gosumemory whenever you want by just typing:

 gosumemory
in your terminal! e.e

Last thing to do is: adding it to OBS.
Here, I reccommend y'all to use the Snap version of OBS (https://snapcraft.io/obs-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

Tablet drivers on Linux: OpenTabletDriver (+ Fedora install)

OpenTabletDriver is the perfect alternative to any tablet driver.
Follow its guide to install it:
https://opentabletdriver.net/Wiki/Install/Linux

Fedora isn't supported yet as of right now, so you need to compile it from source to actually use it. It's a bit long, but I wrote every step here e.e:

Fedora instructions
Compiling OTD from source
Let's start from dependencies: (most of them should be already installed)

 sudo dnf install libX11 libXrandr libevdev gtk3 bash

Let's now install .NET 6 SDK which isn't available in repositories yet xd
Follow these commands:

 cd && wget https://download.visualstudio.microsoft.com/download/pr/17b6759f-1af0-41bc-ab12-209ba0377779/e8d02195dbf1434b940e0f05ae086453/dotnet-sdk-6.0.100-linux-x64.tar.gz && mkdir dotnet

 tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C dotnet/

 export PATH=$PATH:$HOME/dotnet

Last thing to do is to build OpenTabletDriver:

 git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git && cd OpenTabletDriver/

 chmod +x build.sh

Now replace username with your own:

 sudo env "PATH=$PATH:/home/username/dotnet/" ./build.sh

 chmod +x generate-rules.sh

 sudo env "PATH=$PATH:/home/username/dotnet/" ./generate-rules.sh

 sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

Let's now create a script to launch OTD:

OTD Scripts
Let's start:

 sudo nano /usr/bin/otd

Here, you need to paste this: (change username with your own)

 !/bin/bash
cd /home/username/OpenTabletDriver/OpenTabletDriver.UX.Gtk/bin/Release/net6.0/linux-x64
export PATH=$PATH:$HOME/dotnet
dotnet ./OpenTabletDriver.UX.Gtk.dll "$@"

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/otd

Let's now create a script to launch the OTD daemon:

 sudo nano /usr/bin/otddaemon

Paste this: (change username with your own)

 #!/bin/bash
cd /home/username/OpenTabletDriver/bin
export PATH=$PATH:$HOME/dotnet
if [ $# -eq 0 ]
then
    if [[ ! -v DISPLAY ]] && [[ ! -v WAYLAND_DISPLAY ]]
    then
        echo "DISPLAY and/or WAYLAND_DISPLAY is not set"
        exit 64
    fi
    dotnet ./OpenTabletDriver.Daemon.dll -c ./Configurations
else
    dotnet ./OpenTabletDriver.Console.dll "$@"
fi

Now just run this:

 sudo chmod +x /usr/bin/otddaemon

Our two scripts are now finally set up; let's create the last one to launch both together:

 sudo nano /usr/bin/opentabletdriver

Here, just paste this:

 #!/bin/bash
otddaemon &
P1=$!
otd &
P2=$!
wait $P1 $P2

Save with CTRL+O and exit with CTRL+X; now execute this one:

 sudo chmod +x /usr/bin/opentabletdriver

You're finally done! Launch OTD by typing:

 opentabletdriver
in your terminal e.e

osu! installer can't download files/XComposite error etc.

All these errors come from missing dependencies: make sure to install them all (see Wine and dependencies)

No sound when opening osu!

You probably only need to reboot or reload PipeWire by doing this:

sudo systemctl --user restart pipewire pipewire-pulse
sudo systemctl --user daemon-reload

Special thanks to:
  1. KatouMegumi's guide: https://wiki.archlinux.org/title/User:Katoumegumi#osu!_(stable)_on_Arch_Linux
  1. ThePoon's Discord server: https://discord.com/invite/thepoon
  1. GonX's wine-osu builds: https://drive.google.com/drive/folders/17MVlyXixv7uS3JW4B-H8oS4qgLn7eBw5
  1. hwsnemo's prepackaged wine-osu:
    https://software.opensuse.org//download.html?project=home%3Ahwsnemo%3Apackaged-wine-osu&package=wine-osu
  1. l3lackShark's gosumemory: https://github.com/l3lackShark/gosumemory
And to everyone willing to help! :3
I'm getting issues while opening osu or trying to do the mouse out of bounds when using 2nd monitor thing
I'm trying to paste in the command and it throws this as output:
002c:err:module:load_apiset_dll failed to load apiset: c0000482
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.3 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0034:err:module:load_apiset_dll failed to load apiset: c0000482
003c:err:module:load_apiset_dll failed to load apiset: c0000482
0048:err:module:load_apiset_dll failed to load apiset: c0000482
0060:err:module:load_apiset_dll failed to load apiset: c0000482
007c:err:module:load_apiset_dll failed to load apiset: c0000482
0084:err:module:load_apiset_dll failed to load apiset: c0000482
00a4:err:module:load_apiset_dll failed to load apiset: c0000482
00d4:err:module:load_apiset_dll failed to load apiset: c0000482
00dc:err:module:load_apiset_dll failed to load apiset: c0000482
0084:fixme:imm:ImeSetActiveContext (0x6d9a90, 0): stub
0084:fixme:imm:ImmReleaseContext (00010020, 006D9A90): stub
002c:fixme:imm:ImeSetActiveContext (0x6b8600, 1): stub
002c:fixme:imm:ImmReleaseContext (0001005A, 006B8600): stub
0104:err:module:load_apiset_dll failed to load apiset: c0000482
0104:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0104:fixme:imm:ImeSetActiveContext (0x691360, 1): stub
0104:fixme:imm:ImmReleaseContext (00010082, 00691360): stub
then it shows Wine and tells me "rundll32.exe" "This application could not be started." while for osu I open it, get the same Wine error and if I click on "No" it opens osu just fine but for some reason I get 10ms of input lag and my fps box is orange

I'm running EndeavourOS Atlantis with KDE Plasma
First of all:
osu-wine
is the command to launch the game, and the from the logs you sent it doesn’t seem like you used the custom Wine build, so check again also following the Youtube video.

10ms isn’t input lag but refers to the game’s one, so you need to install video drivers like said in here: [url] https://github.com/lutris/docs/blob/master/InstallingDrivers.md[/url]

In the end, the fix for your cursor going to the 2nd monitor is this:

 WINEPREFIX=$HOME/.local/share/osu-wine/WINE.win32 wine reg add "HKEY_CURRENT_USER\\Software\\Wine" /v HideWineExports /t REG_SZ /d Y
welp I did everything the way like in the tutorial idk maybe something failed while trying to get the custom Wine build but thanks for the info

I installed the drivers and rebooted and now osu can't find "graphics context" and it throws this error:
#=zSTDXLjmQAUJauXLk5L5NSLJiPL0k: No available GL context found. ---> OpenTK.Graphics.GraphicsContextException: Failed to initialize EGL, error BAD_ALLOC.
at OpenTK.Platform.Egl.EglWindowInfo..ctor(IntPtr handle, IntPtr display, IntPtr surface)
at OpenTK.Platform.Egl.EglAnglePlatformFactory.CreateWindowInfo(IAngleWindowInfoInternal window_info, Int32 major, GraphicsContextFlags flags)
at OpenTK.Platform.Egl.EglAnglePlatformFactory.CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, Boolean directRendering, Int32 major, Int32 minor, GraphicsContextFlags flags)
at OpenTK.Graphics.GraphicsContext..ctor(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, Int32 major, Int32 minor, GraphicsContextFlags flags)
at #=zeNhYfoMqrhaH94l8bp_bJep0BlLL.#=zx45KuH8=(Int32 #=zVXyvlwM=, Int32 #=zvjMWbRc=, GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
--- End of inner exception stack trace ---
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.#=z37m2rAIrjcYr(GraphicsContextFlags #=zUNLIO44=)
at #=zBOWFAWyBjVkoYhyYjNUwi7I=.OnHandleCreated(EventArgs #=zQ1NUWBY=)
at #=zJAlFcpLyCnCyGU0w8NfOkTQ$cgYc.OnHandleCreated(EventArgs #=zQ1NUWBY=)
at System.Windows.Forms.Control.WmCreate(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmCreate(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at #=z7BE80bg4gLuERVRfEC1sdQ0=.WndProc(Message& #=zrHQqrus=)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

EDIT: It appears Lutris is using wine 7.3 staging when running osu and me running osu through terminal with "osu-wine" command makes it open with wine 7.0 with the patches and it works absolutely fine
Check the “add osu! to lutris” section in the troubleshooting box and to fix those graphics crashes just disable dxvk etc. in Lutris
GGchung
Oh and I have this issue ever since I dual boot windows and linux to play osu!, but can't report since I was restricted. Where sometime when i try to tab out of osu! or sometime try to go to the editor it just give me this:
https://youtube.com/watch/7TkVShTfM-Y
I'll try it again a few more time so if i get it while using osu-wine I will report about it here by editing this.
Here's the result:
https://pastebin.com/raw/7XyXQsbH
daud_ahn

GGchung wrote:

Oh and I have this issue ever since I dual boot windows and linux to play osu!, but can't report since I was restricted. Where sometime when i try to tab out of osu! or sometime try to go to the editor it just give me this:
https://youtube.com/watch/7TkVShTfM-Y
I'll try it again a few more time so if i get it while using osu-wine I will report about it here by editing this.
Here's the result:
https://pastebin.com/raw/7XyXQsbH
I just do alt enter to re-renter fullscreen and it fixes itself, and also this wont happen if you hide your panel (at least on Cinnamon)
GGchung

daud_ahn wrote:

GGchung wrote:

Oh and I have this issue ever since I dual boot windows and linux to play osu!, but can't report since I was restricted. Where sometime when i try to tab out of osu! or sometime try to go to the editor it just give me this:
https://youtube.com/watch/7TkVShTfM-Y
I'll try it again a few more time so if i get it while using osu-wine I will report about it here by editing this.
Here's the result:
https://pastebin.com/raw/7XyXQsbH
I just do alt enter to re-renter fullscreen and it fixes itself, and also this wont happen if you hide your panel (at least on Cinnamon)
I usually alt-tab till it's become normal instead since it also happen from time to time while playing a beatmap. And I don't think osu! allow alt-enter while in a beatmap
Also how can you even alt-enter in the editor in the first place? I usually just press f5 to play test then esc instead.
Kolmas

GGchung wrote:

daud_ahn wrote:

GGchung wrote:

Oh and I have this issue ever since I dual boot windows and linux to play osu!, but can't report since I was restricted. Where sometime when i try to tab out of osu! or sometime try to go to the editor it just give me this:
https://youtube.com/watch/7TkVShTfM-Y
I'll try it again a few more time so if i get it while using osu-wine I will report about it here by editing this.
Here's the result:
https://pastebin.com/raw/7XyXQsbH
I just do alt enter to re-renter fullscreen and it fixes itself, and also this wont happen if you hide your panel (at least on Cinnamon)
I usually alt-tab till it's become normal instead since it also happen from time to time while playing a beatmap. And I don't think osu! allow alt-enter while in a beatmap
Also how can you even alt-enter in the editor in the first place? I usually just press f5 to play test then esc instead.
I had that same issue with gnome as well, but it never happened again since I switched using kde plasma
GGchung

Kolmas wrote:

GGchung wrote:

daud_ahn wrote:

GGchung wrote:

Oh and I have this issue ever since I dual boot windows and linux to play osu!, but can't report since I was restricted. Where sometime when i try to tab out of osu! or sometime try to go to the editor it just give me this:
https://youtube.com/watch/7TkVShTfM-Y
I'll try it again a few more time so if i get it while using osu-wine I will report about it here by editing this.
Here's the result:
https://pastebin.com/raw/7XyXQsbH
I just do alt enter to re-renter fullscreen and it fixes itself, and also this wont happen if you hide your panel (at least on Cinnamon)
I usually alt-tab till it's become normal instead since it also happen from time to time while playing a beatmap. And I don't think osu! allow alt-enter while in a beatmap
Also how can you even alt-enter in the editor in the first place? I usually just press f5 to play test then esc instead.
I had that same issue with gnome as well, but it never happened again since I switched using kde plasma
I have try to switch to kde plasma with arch linux once (the actual arch linux and not manjaro), but there's no luck there. As I don't know how to switch the driver to nvidia and completely remove nouveau (as wine need nouveau over there for no reason)
As when I reinstall nouveau I think nouveau try to use the non existent Nvidia Optimus on my Nvidia GeForce 940MX (like I only have 50fps max with nouveau over there, and the same thing happen when I turn on Optimus in lutris on Pop_OS!) so I have to switch back to gnome on Pop_OS!. And I'm not curious enough to install kde on Pop_OS! since I don't know how to reinstall Pop_OS! environment if I did.
nah maybe the new 21.10 prevent you from deleting the environment
Topic Starter
MarshNello

GGchung wrote:

Kolmas wrote:

GGchung wrote:

daud_ahn wrote:

GGchung wrote:

Oh and I have this issue ever since I dual boot windows and linux to play osu!, but can't report since I was restricted. Where sometime when i try to tab out of osu! or sometime try to go to the editor it just give me this:
https://youtube.com/watch/7TkVShTfM-Y
I'll try it again a few more time so if i get it while using osu-wine I will report about it here by editing this.
Here's the result:
https://pastebin.com/raw/7XyXQsbH
I just do alt enter to re-renter fullscreen and it fixes itself, and also this wont happen if you hide your panel (at least on Cinnamon)
I usually alt-tab till it's become normal instead since it also happen from time to time while playing a beatmap. And I don't think osu! allow alt-enter while in a beatmap
Also how can you even alt-enter in the editor in the first place? I usually just press f5 to play test then esc instead.
I had that same issue with gnome as well, but it never happened again since I switched using kde plasma
I have try to switch to kde plasma with arch linux once (the actual arch linux and not manjaro), but there's no luck there. As I don't know how to switch the driver to nvidia and completely remove nouveau (as wine need nouveau over there for no reason)
As when I reinstall nouveau I think nouveau try to use the non existent Nvidia Optimus on my Nvidia GeForce 940MX (like I only have 50fps max with nouveau over there, and the same thing happen when I turn on Optimus in lutris on Pop_OS!) so I have to switch back to gnome on Pop_OS!. And I'm not curious enough to install kde on Pop_OS! since I don't know how to reinstall Pop_OS! environment if I did.
nah maybe the new 21.10 prevent you from deleting the environment
Sooo yep I saw that clip and that is probably some cosmic-related thing (I think Pop_OS uses cosmic instead of gnome?) but well even on gnome stuff like that was common

I’d just say alt-tabbing until it gets fine is the best way to fix; however you can also install KDE on Pop_OS following the guide here: https://support.system76.com/articles/desktop-environment/

It’s gonna be vanilla KDE with no customization but you’ll have it working
GGchung

MarshNello wrote:

GGchung wrote:

Kolmas wrote:

GGchung wrote:

daud_ahn wrote:

GGchung wrote:

Oh and I have this issue ever since I dual boot windows and linux to play osu!, but can't report since I was restricted. Where sometime when i try to tab out of osu! or sometime try to go to the editor it just give me this:
https://youtube.com/watch/7TkVShTfM-Y
I'll try it again a few more time so if i get it while using osu-wine I will report about it here by editing this.
Here's the result:
https://pastebin.com/raw/7XyXQsbH
I just do alt enter to re-renter fullscreen and it fixes itself, and also this wont happen if you hide your panel (at least on Cinnamon)
I usually alt-tab till it's become normal instead since it also happen from time to time while playing a beatmap. And I don't think osu! allow alt-enter while in a beatmap
Also how can you even alt-enter in the editor in the first place? I usually just press f5 to play test then esc instead.
I had that same issue with gnome as well, but it never happened again since I switched using kde plasma
I have try to switch to kde plasma with arch linux once (the actual arch linux and not manjaro), but there's no luck there. As I don't know how to switch the driver to nvidia and completely remove nouveau (as wine need nouveau over there for no reason)
As when I reinstall nouveau I think nouveau try to use the non existent Nvidia Optimus on my Nvidia GeForce 940MX (like I only have 50fps max with nouveau over there, and the same thing happen when I turn on Optimus in lutris on Pop_OS!) so I have to switch back to gnome on Pop_OS!. And I'm not curious enough to install kde on Pop_OS! since I don't know how to reinstall Pop_OS! environment if I did.
nah maybe the new 21.10 prevent you from deleting the environment
Sooo yep I saw that clip and that is probably some cosmic-related thing (I think Pop_OS uses cosmic instead of gnome?) but well even on gnome stuff like that was common

I’d just say alt-tabbing until it gets fine is the best way to fix; however you can also install KDE on Pop_OS following the guide here: https://support.system76.com/articles/desktop-environment/

It’s gonna be vanilla KDE with no customization but you’ll have it working
I knew it, when I try to install kde and try to see how osu! gonna do with kde, the fps feel like I'm playing on windows (it's 490fps max, while in gnome I have 800fps max) and when I try to uninstall kde my pop desktop become like this


That's why I said this

GGchung wrote:

And I'm not curious enough to install kde on Pop_OS! since I don't know how to reinstall Pop_OS! environment if I did.
Yeah now i have to reinstall the whole thing all over again (this is like the 15th times or so of me reinstalling linux)
Also I just wanna remind you I'm using a laptop and I install linux on my spare and slow HDD.
Soviena
I cant drag and drop .osz file, it used to work, but stop working.
the console show this error

0110:fixme:xdnd:XDNDDATAOBJECT_QueryGetData only HGLOBAL medium types supported right now

if i right click .osz and open with osu-wine
ti shows this error

and this in the console
006c:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
006c:fixme:mountmgr:query_property Faking StorageDeviceProperty data

should i reinstall wine ?
Topic Starter
MarshNello

Soviena wrote:

I cant drag and drop .osz file, it used to work, but stop working.
the console show this error

0110:fixme:xdnd:XDNDDATAOBJECT_QueryGetData only HGLOBAL medium types supported right now

if i right click .osz and open with osu-wine
ti shows this error

and this in the console
006c:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
006c:fixme:mountmgr:query_property Faking StorageDeviceProperty data

should i reinstall wine ?
Try running this again

 sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine
Soviena

MarshNello wrote:

Soviena wrote:

I cant drag and drop .osz file, it used to work, but stop working.
the console show this error

0110:fixme:xdnd:XDNDDATAOBJECT_QueryGetData only HGLOBAL medium types supported right now

if i right click .osz and open with osu-wine
ti shows this error

and this in the console
006c:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
006c:fixme:mountmgr:query_property Faking StorageDeviceProperty data

should i reinstall wine ?
Try running this again

 sudo wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1Zu5vK-ACs1KhF4Rju1HAIIPb6XC42s9X' -O /usr/bin/osu-wine
already done that, and still doesnt work.

PS. i recently reformat my disk from ntfs to btrfs

EDIT : Somehow i fixed the problem
i think it because i dualboot linux and windows, unmounting windows partition fix this problem. I think it related to fast startup in windows
Treete
Works flawlessly. Thank you very much.
The only thing which didn't work was the open tablet driver on fedora xorg, but after I typed this it is wokring now: sudo dnf install libX11-devel libXrandr-devel libevdev-devel
SOOO
I don't know if I will get an answer, but is there a way to change the osu-wine directory (the one in /.local/share/)? When I move it to Documents for example, osu! just doesn't open and I don't have a clue how to make it open in this directory
norizon

SOOO wrote:

I don't know if I will get an answer, but is there a way to change the osu-wine directory (the one in /.local/share/)? When I move it to Documents for example, osu! just doesn't open and I don't have a clue how to make it open in this directory
Did you change the BASE_DIR variable too in the executable script?
SOOO

norizon wrote:

SOOO wrote:

I don't know if I will get an answer, but is there a way to change the osu-wine directory (the one in /.local/share/)? When I move it to Documents for example, osu! just doesn't open and I don't have a clue how to make it open in this directory
Did you change the BASE_DIR variable too in the executable script?
i dont know how to do this
Kolmas

SOOO wrote:

norizon wrote:

SOOO wrote:

I don't know if I will get an answer, but is there a way to change the osu-wine directory (the one in /.local/share/)? When I move it to Documents for example, osu! just doesn't open and I don't have a clue how to make it open in this directory
Did you change the BASE_DIR variable too in the executable script?
i dont know how to do this
change this to wherever you've put you osu directory to
Scla

SOOO wrote:

I don't know if I will get an answer, but is there a way to change the osu-wine directory (the one in /.local/share/)? When I move it to Documents for example, osu! just doesn't open and I don't have a clue how to make it open in this directory
I would suggest using a symbolic link insted of moving the entire folder and/or executable. Check this out.
GGchung
now i have 2 other problem while using comctrl32

also here's the log:
https://pastebin.com/raw/MC5yhZEL
Topic Starter
MarshNello

GGchung wrote:

now i have 2 other problem while using comctrl32

also here's the log:
https://pastebin.com/raw/MC5yhZEL
try disabling comctl32 in
osu-wine --winecfg
through dll overrides and changing Wine's theme from Light since it usually causes problems
GGchung

MarshNello wrote:

GGchung wrote:

now i have 2 other problem while using comctrl32

also here's the log:
https://pastebin.com/raw/MC5yhZEL
try disabling comctl32 in
osu-wine --winecfg
through dll overrides and changing Wine's theme from Light since it usually causes problems
Ok, I see. I'll try that.
Edit: damn that's stupid
https://pastebin.com/raw/USqG2y1c
2nd edit: I guess I'm just gonna tinker around for a bit
3-4th edit: Ok, so i found out that the builtin overdrive was the best choice

5th edit: thanks for giving me some clue.
GGchung
Could you update the post? Since Pop_OS just been updated to 22.04
You could remove or edit the box to be:

MarshNello wrote:

Let's begin from Latency:
Because in Pop_OS 22.04 we now have PipeWire as the main audio server with WirePlumber as the server session so you should do that to avoid confusion (and sorry for the wacky english, i just make some word up)
And I don't know if it's the same for Ubuntu though, I might gonna open a Virtual Machine after this.
Ends
hey so i just got my new ssd and tried following this guide again (i have followed this guide before on my old hard drive and it worked after a lot of stress) but i can't quite get it to work.
my game opens just fine but when actually playing i notice my audio latency is just as bad as on windows and my game turns completely black when i alt tab.
i've applied all the pipewire and wine patches correctly so this is really confusing especially as it happens on both pop_os 21.04 and 22.10 on my ssd
can i have any help on this? this really sucks because im stuck on linux due to its audio latency because ive played on it for so long i really dont know what to do right now

edit: just use arch lol
vitoco
Hi, i had to rollback to ubuntu 18 from ubuntu 20 due to uni reasons, seems like gonX patches with wine 7.0 work just fine on ubuntu 20 (after fixing GLIBC error), but in ubuntu 18 they don't.

After trying patch for fixing GLIBC_2.32 error, when trying to install wine-osu it fails saying that wine-osu-amd64 is not going to be installed. After an attempt of manually installing wine-osu-amd64 this shows:

Depends: libc6 (>= 2.29) but 2.27-3ubuntu1.6 is to be installed

After a small research it looks like this package is super important for ubuntu 18 and is not recommended to update, I don't know the details myself but this looks like a big wall for trying out osu! on ubuntu 18 with this specific drivers.

So I tried another drivers (gonX's wine6.14-1), which yielded to nearly the same error:

wine: could not load ntdll.so: /lib/i386-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /opt/wine-osu/bin/../lib32/wine/i386-unix/ntdll.so)me error:

Notice the difference in versions.

A year ago I was able to run ThePoon's guide with no problems at all on Ubuntu 18, so I know it's possible to run osu on this distro in an optimized way just as gonX's drivers but I can't see a clear solution on this problem, I'd appreciate any help :C
Topic Starter
MarshNello

vitoco wrote:

Hi, i had to rollback to ubuntu 18 from ubuntu 20 due to uni reasons, seems like gonX patches with wine 7.0 work just fine on ubuntu 20 (after fixing GLIBC error), but in ubuntu 18 they don't.

After trying patch for fixing GLIBC_2.32 error, when trying to install wine-osu it fails saying that wine-osu-amd64 is not going to be installed. After an attempt of manually installing wine-osu-amd64 this shows:

Depends: libc6 (>= 2.29) but 2.27-3ubuntu1.6 is to be installed

After a small research it looks like this package is super important for ubuntu 18 and is not recommended to update, I don't know the details myself but this looks like a big wall for trying out osu! on ubuntu 18 with this specific drivers.

So I tried another drivers (gonX's wine6.14-1), which yielded to nearly the same error:

wine: could not load ntdll.so: /lib/i386-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /opt/wine-osu/bin/../lib32/wine/i386-unix/ntdll.so)me error:

Notice the difference in versions.

A year ago I was able to run ThePoon's guide with no problems at all on Ubuntu 18, so I know it's possible to run osu on this distro in an optimized way just as gonX's drivers but I can't see a clear solution on this problem, I'd appreciate any help :C
Well, that's always due to glibc being too old on Ubuntu 18, that wine-osu package is built for ubuntu >=20 so it's probably that
Send me a message on Discord (MarshNello#4178), we'll try something else
Crozh
Hey marshnello, do you know by any chance how to connect this dumbass launcher to the internet? 'cause when I try to install it, it gives me the "an error occurred" message, and I'm dumbfound at this point.

https://imgur.com/pEkdfxp.png

If it helps, I'm using arch (btw) with XFCE4. Something like not having internet connection with a certain app happened once, and was with Geary. I just used evolution instead, fuck that lmao.

If you know something that might help, tell me, please.

Love the work you put into making osu stable playable on Linux, I wouldn't be playing (when I switched to pop) if it wasn't for you.

Cheers.


Edit: I kinda see the errors, but I have no clue how to fix them; I'm new to Arch and Linux, but I'm sure you figured by now.
Using bleeding edge wine here, but I'm sure that's not the problem; Geary didn't work network-wise and obviously, wine wasn't involved.
marshallracer

Crozh wrote:

snip
What usually happens in these cases is that
lib32-gnutls
may not have installed as a dependency for wine for some reason (other guides sometimes cover this as well)
It should fix itself once that package has been installed and the installer should run just fine
Crozh

marshallracer wrote:

Crozh wrote:

snip
What usually happens in these cases is that
lib32-gnutls
may not have installed as a dependency for wine for some reason (other guides sometimes cover this as well)
It should fix itself once that package has been installed and the installer should run just fine
What a legend.

That was an error of mine, I thought I had all libraries, didn't bother installing them with the command.

I appreciate it.
Akitake
Is this still the preferred way of getting osu?
Isn't Lutris or some osu package (on the aur) another option?
Eni
If you're on Arch Linux then you should have no issues with https://aur.archlinux.org/packages/osu

To understand the difference between this package and the guide above, look at the PKGBUILD.
Akitake

Project Railgun wrote:

If you're on Arch Linux then you should have no issues with https://aur.archlinux.org/packages/osu

To understand the difference between this package and the guide above, look at the PKGBUILD.
Yeah I've used that, works fine for the most part.
I'm having some tearing/ghosting issues playing taiko/mania with uncapped/optimal frame limiter, tried strangling the game to a multiple of my monitor's refresh rate, but doesn't do much.

--

Edit: Forcing the aur method to use this thread's wine version seems to improve things drastically, I still cap it at 990 (165hz * 6) because I don´t realistically need more and it's optimal.

Running from ~/bin/osu-stable (added to path)
#!/bin/sh
export PATH="/opt/wine-osu/bin/:${PATH}"
export OSU_STABLE_DATA_DIRECTORY="${HOME}/.local/share/osu-stable/"
gamemoderun strangle 990 /usr/bin/osu-stable "$@"
If anyone ever tries to use this, make sure to get libstrangle-git and not libstrangle from the aur.
Also of course replace 990 by: refreshrate * whatever.
Topic Starter
MarshNello

Akitake wrote:

Is this still the preferred way of getting osu?
Isn't Lutris or some osu package (on the aur) another option?
Oh I mean, there's not such thing as a preferred way xD
Most guides do the same thing, this too but only makes stuff easier using scripts etc.
Though I'm gonna update it soon with more features shipped ootb (such as native file explorer, discord-rpc, osu-handler etc.) so I hope that will work fine too e.e
GGchung
Hello again, i know you didn't reply to me because you deem those not important enough so now i have this to say:
I been using the new Pop_OS 22.04 for 2 months now and notice that my osu! installation keep shuttering no matter the gamemode.

Also suddenly my osu! installation take 2GB of RAM for no reason can you explain why? (i mean i just test to see why and notice the RAM go up whenever i change beatmap but still, why?)

And my linux specs is: Almost native Pop_OS installation with linux-image-5.15.35-xanmod1 as my kernel (if you wanna try).
Topic Starter
MarshNello

GGchung wrote:

Hello again, i know you didn't reply to me because you deem those not important enough so now i have this to say:
I been using Pop_OS for 2 months now and notice that my osu! installation keep shuttering no matter the gamemode.

Also suddenly my osu! installation take 2GB of RAM for no reason can you explain why? (i mean i just test to see why and notice the RAM go up whenever i change beatmap but still, why?)

And my linux specs is: Almost native Pop_OS installation with linux-image-5.15.35-xanmod1 as my kernel (if you wanna try).
First things first, if I don't reply to something is because I'm busy/I forget to check the page and miss some replies, I have my Discord ID in the page for a reason...

Besides that, those stutters might be either something related to your hard drive (assuming it's NTFS for some reason) or just your pc taking so many resources to load such maps. You might want to try a new Wine build assuming it would help in some way, so I'll just link it here: https://www.dropbox.com/s/66248e7vo32sin5/wine-osu-7.11-x86_64.pkg.tar.gz?dl=0
If that doesn't help, try with other distros too and see if anything changes
GGchung

MarshNello wrote:

GGchung wrote:

Hello again, i know you didn't reply to me because you deem those not important enough so now i have this to say:
I been using Pop_OS for 2 months now and notice that my osu! installation keep shuttering no matter the gamemode.

Also suddenly my osu! installation take 2GB of RAM for no reason can you explain why? (i mean i just test to see why and notice the RAM go up whenever i change beatmap but still, why?)

And my linux specs is: Almost native Pop_OS installation with linux-image-5.15.35-xanmod1 as my kernel (if you wanna try).
First things first, if I don't reply to something is because I'm busy/I forget to check the page and miss some replies, I have my Discord ID in the page for a reason...

Besides that, those stutters might be either something related to your hard drive (assuming it's NTFS for some reason) or just your pc taking so many resources to load such maps. You might want to try a new Wine build assuming it would help in some way, so I'll just link it here: https://www.dropbox.com/s/66248e7vo32sin5/wine-osu-7.11-x86_64.pkg.tar.gz?dl=0
If that doesn't help, try with other distros too and see if anything changes
Thanks, I'll try manjaro and the new wine later
PS: Also I have use ntfs on my SDD before and only now it is a problem, so I don't think it's my SSD that cause it
Crozh

MarshNello wrote:

GGchung wrote:

Hello again, i know you didn't reply to me because you deem those not important enough so now i have this to say:
I been using Pop_OS for 2 months now and notice that my osu! installation keep shuttering no matter the gamemode.

Also suddenly my osu! installation take 2GB of RAM for no reason can you explain why? (i mean i just test to see why and notice the RAM go up whenever i change beatmap but still, why?)

And my linux specs is: Almost native Pop_OS installation with linux-image-5.15.35-xanmod1 as my kernel (if you wanna try).
First things first, if I don't reply to something is because I'm busy/I forget to check the page and miss some replies, I have my Discord ID in the page for a reason...

Besides that, those stutters might be either something related to your hard drive (assuming it's NTFS for some reason) or just your pc taking so many resources to load such maps. You might want to try a new Wine build assuming it would help in some way, so I'll just link it here: https://www.dropbox.com/s/66248e7vo32sin5/wine-osu-7.11-x86_64.pkg.tar.gz?dl=0
If that doesn't help, try with other distros too and see if anything changes

I noticed the stuttering as well, had to cap to 288FPS which worked after trying everything else (I tried that before and didn't work, but then it did). Even after I reinstalled my distro (I didn't reinstall because of that, it was another thing) If I go to 960FPS I get terrible stuttering; also, osu won't let me change windows/workspaces and is always in the background, for some reason. The stuttering wasn't happening before. This started happening after an update IIRC.
Don't know what's the culprit, maybe osu-wine, I don't know.
I made sure to have all the libraries, used wine bleeding edge, arch/XFCE4.
I'm not sure if it's wine bleeding edge either, because I used wine stable with another distro and it has the same problems I mentioned minus the stuttering.
Just wanted to let you know, maybe you know a fix or something.
I was wondering why is DOS in the dependencies as well, is it really necessary?

Cheers
show more
Please sign in to reply.

New reply