forum

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

posted
Total Posts
366
show more
Ashtrath

MarshNello wrote:

Liang J wrote:

is there a way to move my songs from windows to Linux?, i tried to move it directly but the game dosent recognize it
you just need to paste your Windows' "Songs" folder to your Linux's osu! directory (which should be around here /home/username/.wine_osu/dosdevices/z:/home/username/Downloads/)

after that just refresh your maps in osu! pressing F5 and you're good
where i can find the .wine_osu folders i only have .wine folders, or its the same? its not on my home directory for some reason, im using arch if that matters.

also i dont have much resolution option compared to the windows one, like i don't have 720p resolution option.
spunout enjoyer

Ashtrath wrote:

MarshNello wrote:

Liang J wrote:

is there a way to move my songs from windows to Linux?, i tried to move it directly but the game dosent recognize it
you just need to paste your Windows' "Songs" folder to your Linux's osu! directory (which should be around here /home/username/.wine_osu/dosdevices/z:/home/username/Downloads/)

after that just refresh your maps in osu! pressing F5 and you're good
where i can find the .wine_osu folders i only have .wine folders, or its the same? its not on my home directory for some reason, im using arch if that matters.

also i dont have much resolution option compared to the windows one, like i don't have 720p resolution option.
osu files should be locate at /home/username/.local/share/osu-wine/OSU/

about the resolution problem, if you have nvidia gpu try installing drivers. if already installed them, reinstall it.
Topic Starter
MarshNello

spunout enjoyer wrote:

i was looking around to optimize games and i found gamemode. it really did smoothen my osu so i decided to share it with you.

1-) install gamemode:
arch
sudo pacman -S gamemode lib32-gamemode
ubuntu
sudo apt install gamemode

2-) use gamemoderun ./game (gamemoderun osu-wine in this case) if you are starting the game from terminal, if you are starting the game from .desktop file you need to add gamemoderun into command line like this.

------optional step for lutris games------
if you play your games on lutris you can enable this by default which can save you lot of time
Thank you for this! I was planning to add it to the extra info anytime soon but I just linked yours instead e.e
Isshiki Kaname
Gamemode may not help in some cases. It could make it worse too, so try it and see.
Topic Starter
MarshNello

KatouMegumi wrote:

Gamemode may not help in some cases. It could make it worse too, so try it and see.
Really? I got better performance on like 3 pcs so I thought it was good xd
I'll add that to its section e.e
spunout enjoyer

MarshNello wrote:

KatouMegumi wrote:

Gamemode may not help in some cases. It could make it worse too, so try it and see.
Really? I got better performance on like 3 pcs so I thought it was good xd
I'll add that to its section e.e
yeah apparently i saw some people getting input lags on some games but it wasnt the case for me. at least having it on the guide might help some players who have stutter issues.
Kolmas
looks fps on wayland is locked to refresh rate of the screen, it's running fine on X11 tho
also it's probably my problem but idk why i can't get opentabletdriver to work unless using sudo
Topic Starter
MarshNello

Kolmas wrote:

looks fps on wayland is locked to refresh rate of the screen, it's running fine on X11 tho
also it's probably my problem but idk why i can't get opentabletdriver to work unless using sudo
i haven't really tried Wayland yet so idk about it,
while for OpenTabletDriver are you opening it yourself every time?
Try to enable it with this, it should launch at login

systemctl --user enable opentabletdriver --now
zxc-cat
Please make guide for VOID LINUX
Topic Starter
MarshNello

kotik0666 wrote:

Please make guide for VOID LINUX
Had some fun in a VM tonight but I still haven't gotten it fully working with custom builds
Everything else should be fine tho
Link is here (still WIP obv): https://docs.google.com/document/d/1zMneHpktdvaJ-XHjkar3yxg2st5OdzL25ARuPHdUMCk/edit?usp=sharing
[NekoToo]
This is sort of unrelated but would anyone know how to install opentabletdriver on fedora linux like compile it from source, I've never really compiled something from source so I don't know how to :( Edit: Another problem I have once switching to the osu wine specific one my osu doesn't load backgrounds for beatmaps or the menu is there a fix to this? I was reading a post somewhere else about this and it has something to do with libjpeg but I have the 32 and 64 bit ones installed
Topic Starter
MarshNello

[NekoToo] wrote:

This is sort of unrelated but would anyone know how to install opentabletdriver on fedora linux like compile it from source, I've never really compiled something from source so I don't know how to :( Edit: Another problem I have once switching to the osu wine specific one my osu doesn't load backgrounds for beatmaps or the menu is there a fix to this? I was reading a post somewhere else about this and it has something to do with libjpeg but I have the 32 and 64 bit ones installed
Let's start from the background issue which seems to be a Wine problem:

Background fix
First of all, reboot your system to make sure Wine isn't running; then remove the current Wine version with this:

sudo rm -rf /opt/wine-osu/
Then I actually fixed by changing the Wine version to gonX's latest one (prerelease but still xD)
Open this link https://drive.google.com/drive/folders/1yPEEPg7LA4F4AHqKK2IQZ-YY01Wc6CdS and download the Wine 6.20 file
Let's then extract it and use it with:

cd ~/Downloads && tar -xf wine-osu-6.20_staging-1-x86_64.pkg.tar.zst
sudo cp -r ~/Downloads/opt/wine-osu/ /opt
Reboot your system again and after this backgrounds should be fixed e.e

Installing OpenTabletDriver shouldn't be such a pain either:

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

Sorry if there is any error but it took me a lot to write this one haha
Isshiki Kaname
Ummm, uhh. You shouldn't be installing things into system folders by yourself. Your package manager is supposed to manage that.
[NekoToo]
Well, the osu background fix worked but opentabletdriver says this and opens a bunch of blank windows saying object disposed exception and keeps opening more and more eventually until it crashes. The open tablet driver window does open but it just says connecting to opentabletdriver daemon. I'm sorry for all the trouble this is but I really appreciate you helping people, I am running xorg not wayland if that helps since I have an nvidia gpu
Topic Starter
MarshNello

KatouMegumi wrote:

Ummm, uhh. You shouldn't be installing things into system folders by yourself. Your package manager is supposed to manage that.
Thing is both .NET 6 and OTD aren't available yet on Fedora so this was the only way to install it..? xD
[Teo]
hello
so i've followed the guide completely and osu has installed
thing is,when i try to open it,it launches the updater and then the osu logo but the game doesnt actually open
if i download a beatmap and open it,it'll actually open the game but the beatmap wont load
the beatmap thing is the only way i can actually open the game
any idea what might be up?
using ubuntu 20.04.3 lts
qwr
I had issues with opengl swart - I'm pretty sure this is caused by cursed Nvidia drivers which is like the cause of 90% of all my linux problems because I had the same issue with my previous manual winetricks install. Even prime-select intel doesn't bring back the installation from the dead, only black screen. But i'm too lazy to uninstall CUDA and my nvidia drivers now.
Topic Starter
MarshNello

[Teo] wrote:

hello
so i've followed the guide completely and osu has installed
thing is,when i try to open it,it launches the updater and then the osu logo but the game doesnt actually open
if i download a beatmap and open it,it'll actually open the game but the beatmap wont load
the beatmap thing is the only way i can actually open the game
any idea what might be up?
using ubuntu 20.04.3 lts
can you post the output of osu-wine in your terminal? i'll see from it
multimode freak

daud_ahn wrote:

I already followed all steps, including the "How to add osu! to Lutris", but after i played for around half an hour, osu! just closed itself without any error or anything. Im using linux mint 20.2
here's log file (taken from lutris) raw file:
Started initial process 2689 from gamemoderun /home/daud/.local/share/lutris/runners/wine/wine-osu/bin/wine /home/daud/.local/share/osu-wine/OSU/osu!.exe
Start monitoring process.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

ERROR: Caught a segmentation fault while loading plugin file:
/usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcdparanoia.so

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
Monitored process exited.
No return code
Started initial process 3064 from gamemoderun /home/daud/.local/share/lutris/runners/wine/wine-osu/bin/wine /home/daud/.local/share/osu-wine/OSU/osu!.exe
Start monitoring process.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
winegstreamer error: decodebin0: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin0: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
gamemodeauto: 
[4651:4651:1103/072734.031920:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[4618:4618:1103/072734.682996:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 6.  Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)
[4618:4618:1103/072735.828714:ERROR:object_proxy.cc(642)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented
[4618:4636:1103/072736.554239:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] crbug.com/1216328: Checking Bluetooth availability started. Please report if there is no report that this ends.
[4618:4636:1103/072736.554261:ERROR:chrome_browser_main_extra_parts_metrics.cc(233)] crbug.com/1216328: Checking Bluetooth availability ended.
[4618:4636:1103/072736.554266:ERROR:chrome_browser_main_extra_parts_metrics.cc(236)] crbug.com/1216328: Checking default browser status started. Please report if there is no report that this ends.
[4618:4636:1103/072736.673561:ERROR:chrome_browser_main_extra_parts_metrics.cc(240)] crbug.com/1216328: Checking default browser status ended.
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0434
winegstreamer error: decodebin1: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin1: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin1/GstDecodeBin:decodebin1:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin2: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin2: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin2/GstDecodeBin:decodebin2:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin3: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin3: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin3/GstDecodeBin:decodebin3:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin4: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin4: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin4/GstDecodeBin:decodebin4:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin5: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin5: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin5/GstDecodeBin:decodebin5:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)


Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Net.UnsafeNclNativeMethods.OSSOCK.select(Int32 ignoredParameter, IntPtr[] readfds, IntPtr[] writefds, IntPtr[] exceptfds, TimeValue& timeout)
   at System.Net.Sockets.Socket.Poll(Int32 microSeconds, SelectMode mode)
   at System.Net.Sockets.NetworkStream.PollRead()
   at System.Net.Connection.StartRequest(HttpWebRequest request, Boolean canPollRead)
   at System.Net.Connection.SubmitRequest(HttpWebRequest request, Boolean forcedsubmit)
   at System.Net.ServicePoint.SubmitRequest(HttpWebRequest request, String connName)
   at System.Net.HttpWebRequest.SubmitRequest(ServicePoint servicePoint)
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zd7QKC1139$z5()
   at (Object , Object[] )
   at ?.(MethodBase , Object , Object[] , Boolean )
   at ?.(MethodBase , Boolean )
   at ?. (? ,   )
   at ?.()
   at ?. (Boolean )
   at ?.(Object[] , Type[] , Type[] , Object[] )
   at A.B.(Object )
   at A.B.D(Object r)
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zhdRTaNI=()
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zwlIQxdGwXFZU()
   at #=z1xwc$0OuyrlnX$PgjPApPkg=.#=zsnO8BkE=(Boolean #=zmbzDALk=)
   at #=z1xwc$0OuyrlnX$PgjPApPkg=.#=zbTAJMZA=()
   at #=zexquLa$9eI26S91OZw==.#=zDt5ZZEKsSG3Knhilg_q8qDs=.#=z7vDPpGS9$IbwNZaUDeH5pBk=()
   at #=ziIiH1t7Xxp3S_zsZe4Q4VUrQSbdq.#=zb34v$wqcz4Q0uelx3YQ$8AI=.#=zzLYRibA0YbWNEbIoVg==(Object #=zuMRmxV_bF6tQ)
   at #=z1PWF9Oop5EoyTGWXxdZwqu8=.#=z7n8r6Aex9t4P()
   at #=z1PWF9Oop5EoyTGWXxdZwqu8=.#=zHC1U5wY=()
   at #=zluTOhkpZPoQZ_FbbbJx1Mhk=.#=z7n8r6Aex9t4P(#=z1PWF9Oop5EoyTGWXxdZwqu8= #=z8MKEQu8=)
   at #=zluTOhkpZPoQZ_FbbbJx1Mhk=.#=z1BPg7YA0dqOQ()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Monitored process exited.
Initial process has exited (return code: 1280)
Exit with return code 1280
Have you managed to find a solution for this crash? I also keep getting these System.AccessViolationException crashes and i've tried everything to fix it. Tried a bunch of different combinations of wine versions and windows versions on winecfg, installed all lib32 gstreamer plugins and also many other libs, reinstalled osu following a bunch of different guides (including this one), changed audio driver from pulseaudio to pipewire, etc etc. But no matter what i do this crash always comes back to haunt me. Can't wait for osu!lazer.
daud_ahn

Doxxz wrote:

daud_ahn wrote:

I already followed all steps, including the "How to add osu! to Lutris", but after i played for around half an hour, osu! just closed itself without any error or anything. Im using linux mint 20.2
here's log file (taken from lutris) raw file:
Started initial process 2689 from gamemoderun /home/daud/.local/share/lutris/runners/wine/wine-osu/bin/wine /home/daud/.local/share/osu-wine/OSU/osu!.exe
Start monitoring process.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

ERROR: Caught a segmentation fault while loading plugin file:
/usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcdparanoia.so

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
Monitored process exited.
No return code
Started initial process 3064 from gamemoderun /home/daud/.local/share/lutris/runners/wine/wine-osu/bin/wine /home/daud/.local/share/osu-wine/OSU/osu!.exe
Start monitoring process.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
winegstreamer error: decodebin0: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin0: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
gamemodeauto: 
[4651:4651:1103/072734.031920:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[4618:4618:1103/072734.682996:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 6.  Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)
[4618:4618:1103/072735.828714:ERROR:object_proxy.cc(642)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented
[4618:4636:1103/072736.554239:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] crbug.com/1216328: Checking Bluetooth availability started. Please report if there is no report that this ends.
[4618:4636:1103/072736.554261:ERROR:chrome_browser_main_extra_parts_metrics.cc(233)] crbug.com/1216328: Checking Bluetooth availability ended.
[4618:4636:1103/072736.554266:ERROR:chrome_browser_main_extra_parts_metrics.cc(236)] crbug.com/1216328: Checking default browser status started. Please report if there is no report that this ends.
[4618:4636:1103/072736.673561:ERROR:chrome_browser_main_extra_parts_metrics.cc(240)] crbug.com/1216328: Checking default browser status ended.
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0434
winegstreamer error: decodebin1: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin1: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin1/GstDecodeBin:decodebin1:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin2: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin2: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin2/GstDecodeBin:decodebin2:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin3: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin3: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin3/GstDecodeBin:decodebin3:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin4: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin4: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin4/GstDecodeBin:decodebin4:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin5: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin5: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin5/GstDecodeBin:decodebin5:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)


Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Net.UnsafeNclNativeMethods.OSSOCK.select(Int32 ignoredParameter, IntPtr[] readfds, IntPtr[] writefds, IntPtr[] exceptfds, TimeValue& timeout)
   at System.Net.Sockets.Socket.Poll(Int32 microSeconds, SelectMode mode)
   at System.Net.Sockets.NetworkStream.PollRead()
   at System.Net.Connection.StartRequest(HttpWebRequest request, Boolean canPollRead)
   at System.Net.Connection.SubmitRequest(HttpWebRequest request, Boolean forcedsubmit)
   at System.Net.ServicePoint.SubmitRequest(HttpWebRequest request, String connName)
   at System.Net.HttpWebRequest.SubmitRequest(ServicePoint servicePoint)
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zd7QKC1139$z5()
   at (Object , Object[] )
   at ?.(MethodBase , Object , Object[] , Boolean )
   at ?.(MethodBase , Boolean )
   at ?. (? ,   )
   at ?.()
   at ?. (Boolean )
   at ?.(Object[] , Type[] , Type[] , Object[] )
   at A.B.(Object )
   at A.B.D(Object r)
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zhdRTaNI=()
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zwlIQxdGwXFZU()
   at #=z1xwc$0OuyrlnX$PgjPApPkg=.#=zsnO8BkE=(Boolean #=zmbzDALk=)
   at #=z1xwc$0OuyrlnX$PgjPApPkg=.#=zbTAJMZA=()
   at #=zexquLa$9eI26S91OZw==.#=zDt5ZZEKsSG3Knhilg_q8qDs=.#=z7vDPpGS9$IbwNZaUDeH5pBk=()
   at #=ziIiH1t7Xxp3S_zsZe4Q4VUrQSbdq.#=zb34v$wqcz4Q0uelx3YQ$8AI=.#=zzLYRibA0YbWNEbIoVg==(Object #=zuMRmxV_bF6tQ)
   at #=z1PWF9Oop5EoyTGWXxdZwqu8=.#=z7n8r6Aex9t4P()
   at #=z1PWF9Oop5EoyTGWXxdZwqu8=.#=zHC1U5wY=()
   at #=zluTOhkpZPoQZ_FbbbJx1Mhk=.#=z7n8r6Aex9t4P(#=z1PWF9Oop5EoyTGWXxdZwqu8= #=z8MKEQu8=)
   at #=zluTOhkpZPoQZ_FbbbJx1Mhk=.#=z1BPg7YA0dqOQ()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Monitored process exited.
Initial process has exited (return code: 1280)
Exit with return code 1280
Have you managed to find a solution for this crash? I also keep getting these System.AccessViolationException crashes and i've tried everything to fix it. Tried a bunch of different combinations of wine versions and windows versions on winecfg, installed all lib32 gstreamer plugins and also many other libs, reinstalled osu following a bunch of different guides (including this one), changed audio driver from pulseaudio to pipewire, etc etc. But no matter what i do this crash always comes back to haunt me. Can't wait for osu!lazer.
Unfortunately I haven't managed to find the solution yet, but it happens way less when I launch osu! directly (not using lutris)
also about lazer....
apparently they don't even intend to support Linux with lazer either, so things may also break and probably no one will fix it :P
multimode freak

daud_ahn wrote:

apparently they don't even intend to support Linux with lazer either, so things may also break and probably no one will fix it :P
They do have an appimage for lazer though. I think in that screenshot peppy is just saying they don't support linux on osu!stable.
Topic Starter
MarshNello

Doxxz wrote:

daud_ahn wrote:

I already followed all steps, including the "How to add osu! to Lutris", but after i played for around half an hour, osu! just closed itself without any error or anything. Im using linux mint 20.2
here's log file (taken from lutris) raw file:
Started initial process 2689 from gamemoderun /home/daud/.local/share/lutris/runners/wine/wine-osu/bin/wine /home/daud/.local/share/osu-wine/OSU/osu!.exe
Start monitoring process.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

ERROR: Caught a segmentation fault while loading plugin file:
/usr/lib/i386-linux-gnu/gstreamer-1.0/libgstcdparanoia.so

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
Monitored process exited.
No return code
Started initial process 3064 from gamemoderun /home/daud/.local/share/lutris/runners/wine/wine-osu/bin/wine /home/daud/.local/share/osu-wine/OSU/osu!.exe
Start monitoring process.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
winegstreamer error: decodebin0: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin0: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
gamemodeauto: 
[4651:4651:1103/072734.031920:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[4618:4618:1103/072734.682996:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 6.  Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)
[4618:4618:1103/072735.828714:ERROR:object_proxy.cc(642)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented
[4618:4636:1103/072736.554239:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] crbug.com/1216328: Checking Bluetooth availability started. Please report if there is no report that this ends.
[4618:4636:1103/072736.554261:ERROR:chrome_browser_main_extra_parts_metrics.cc(233)] crbug.com/1216328: Checking Bluetooth availability ended.
[4618:4636:1103/072736.554266:ERROR:chrome_browser_main_extra_parts_metrics.cc(236)] crbug.com/1216328: Checking default browser status started. Please report if there is no report that this ends.
[4618:4636:1103/072736.673561:ERROR:chrome_browser_main_extra_parts_metrics.cc(240)] crbug.com/1216328: Checking default browser status ended.
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0434
winegstreamer error: decodebin1: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin1: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin1/GstDecodeBin:decodebin1:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin2: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin2: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin2/GstDecodeBin:decodebin2:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin3: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin3: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin3/GstDecodeBin:decodebin3:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin4: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin4: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin4/GstDecodeBin:decodebin4:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)

winegstreamer error: decodebin5: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin5: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin5/GstDecodeBin:decodebin5:
no suitable plugins found:
Missing decoder: MS GSM (audio/ms-gsm, rate=(int)44100, channels=(int)1, codec_data=(buffer)4001)


Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Net.UnsafeNclNativeMethods.OSSOCK.select(Int32 ignoredParameter, IntPtr[] readfds, IntPtr[] writefds, IntPtr[] exceptfds, TimeValue& timeout)
   at System.Net.Sockets.Socket.Poll(Int32 microSeconds, SelectMode mode)
   at System.Net.Sockets.NetworkStream.PollRead()
   at System.Net.Connection.StartRequest(HttpWebRequest request, Boolean canPollRead)
   at System.Net.Connection.SubmitRequest(HttpWebRequest request, Boolean forcedsubmit)
   at System.Net.ServicePoint.SubmitRequest(HttpWebRequest request, String connName)
   at System.Net.HttpWebRequest.SubmitRequest(ServicePoint servicePoint)
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zd7QKC1139$z5()
   at (Object , Object[] )
   at ?.(MethodBase , Object , Object[] , Boolean )
   at ?.(MethodBase , Boolean )
   at ?. (? ,   )
   at ?.()
   at ?. (Boolean )
   at ?.(Object[] , Type[] , Type[] , Object[] )
   at A.B.(Object )
   at A.B.D(Object r)
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zhdRTaNI=()
   at #=zucjbFxG7BXNPooH9t0M6FZc=.#=zwlIQxdGwXFZU()
   at #=z1xwc$0OuyrlnX$PgjPApPkg=.#=zsnO8BkE=(Boolean #=zmbzDALk=)
   at #=z1xwc$0OuyrlnX$PgjPApPkg=.#=zbTAJMZA=()
   at #=zexquLa$9eI26S91OZw==.#=zDt5ZZEKsSG3Knhilg_q8qDs=.#=z7vDPpGS9$IbwNZaUDeH5pBk=()
   at #=ziIiH1t7Xxp3S_zsZe4Q4VUrQSbdq.#=zb34v$wqcz4Q0uelx3YQ$8AI=.#=zzLYRibA0YbWNEbIoVg==(Object #=zuMRmxV_bF6tQ)
   at #=z1PWF9Oop5EoyTGWXxdZwqu8=.#=z7n8r6Aex9t4P()
   at #=z1PWF9Oop5EoyTGWXxdZwqu8=.#=zHC1U5wY=()
   at #=zluTOhkpZPoQZ_FbbbJx1Mhk=.#=z7n8r6Aex9t4P(#=z1PWF9Oop5EoyTGWXxdZwqu8= #=z8MKEQu8=)
   at #=zluTOhkpZPoQZ_FbbbJx1Mhk=.#=z1BPg7YA0dqOQ()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Monitored process exited.
Initial process has exited (return code: 1280)
Exit with return code 1280
Have you managed to find a solution for this crash? I also keep getting these System.AccessViolationException crashes and i've tried everything to fix it. Tried a bunch of different combinations of wine versions and windows versions on winecfg, installed all lib32 gstreamer plugins and also many other libs, reinstalled osu following a bunch of different guides (including this one), changed audio driver from pulseaudio to pipewire, etc etc. But no matter what i do this crash always comes back to haunt me. Can't wait for osu!lazer.
Well this is a known issue yeah, I actually started getting it less and less ever since I'm using Cutting Edge xd

Idk if compatibility mode can actually do something about it, I'll see ig
multimode freak

MarshNello wrote:

Well this is a known issue yeah
daud_ahn was the singular person i had ever seen talking about this issue, thought it was a rare bug. Is it actually common?
daud_ahn

Doxxz wrote:

MarshNello wrote:

Well this is a known issue yeah
daud_ahn was the singular person i had ever seen talking about this issue, thought it was a rare bug. Is it actually common?
I have no idea if that is common or not, but considering I'm using Mint and its quite popular amongst linux newbie beside Ubuntu, i can imagine there is someone else having the same issue.
Isshiki Kaname
PSA: If you use pipewire, don't update to 0.3.41 yet or use self built version from git.
Topic Starter
MarshNello

KatouMegumi wrote:

PSA: If you use pipewire, don't update to 0.3.41 yet or use self built version from git.
Did anything break with the latest version? I haven't noticed anything while playing xD
Isshiki Kaname

MarshNello wrote:

KatouMegumi wrote:

PSA: If you use pipewire, don't update to 0.3.41 yet or use self built version from git.
Did anything break with the latest version? I haven't noticed anything while playing xD
Yeah, a lot of things. Had "timewarp" bug, had to contact osu support. Some people had audio glitches, I had audio slowdowns due to a new feature being broken. Admittedly, I was running pretty low quant values for my computer.
Mekki
I would like to add that if you are on XFCE or KDE Plasma you don't really need to add osu! to Lutris to disable the compositor.

On Plasma you can just do ALT + SHIFT + F12. I'm not sure about XFCE, but just search Google for it.
Kolmas
i've started actually playing osu on linux this week, everything actually runs better than that on windows, just one weird thing, the game sometimes literally vanish in the middle of clicking a circles, idk if it's wine's problem or distro's problem (on pop os 21.10 now), but yeah other than this weird bug everything is pretty good
Isshiki Kaname

Kolmas wrote:

i've started actually playing osu on linux this week, everything actually runs better than that on windows, just one weird thing, the game sometimes literally vanish in the middle of clicking a circles, idk if it's wine's problem or distro's problem (on pop os 21.10 now), but yeah other than this weird bug everything is pretty good
What wine version/build?
Topic Starter
MarshNello

KatouMegumi wrote:

Kolmas wrote:

i've started actually playing osu on linux this week, everything actually runs better than that on windows, just one weird thing, the game sometimes literally vanish in the middle of clicking a circles, idk if it's wine's problem or distro's problem (on pop os 21.10 now), but yeah other than this weird bug everything is pretty good
What wine version/build?
I’d say on GonX as he followed the guide, ig he’s talking about those random crashes which occur rarely (at least here)
Isshiki Kaname

MarshNello wrote:

I’d say on GonX as he followed the guide, ig he’s talking about those random crashes which occur rarely (at least here)
Well, double checking would be a good idea, might be using outdated wine version that doesn't have wasapi fix
Kolmas

MarshNello wrote:

KatouMegumi wrote:

Kolmas wrote:

i've started actually playing osu on linux this week, everything actually runs better than that on windows, just one weird thing, the game sometimes literally vanish in the middle of clicking a circles, idk if it's wine's problem or distro's problem (on pop os 21.10 now), but yeah other than this weird bug everything is pretty good
What wine version/build?
I’d say on GonX as he followed the guide, ig he’s talking about those random crashes which occur rarely (at least here)
yeah i followed the guide from top to down and done everything (except the extra part) everything runs smoothly aside from the rare random crashes

the only info i have is every crashes so far is during gameplay, but didn't notice any other special things :shrug:
Topic Starter
MarshNello

Kolmas wrote:

MarshNello wrote:

KatouMegumi wrote:

Kolmas wrote:

i've started actually playing osu on linux this week, everything actually runs better than that on windows, just one weird thing, the game sometimes literally vanish in the middle of clicking a circles, idk if it's wine's problem or distro's problem (on pop os 21.10 now), but yeah other than this weird bug everything is pretty good
What wine version/build?
I’d say on GonX as he followed the guide, ig he’s talking about those random crashes which occur rarely (at least here)
yeah i followed the guide from top to down and done everything (except the extra part) everything runs smoothly aside from the rare random crashes

the only info i have is every crashes so far is during gameplay, but didn't notice any other special things :shrug:
Try opening osu in your terminal with osu-wine and when those occur just paste the terminal’s output here, as Megumi says checking is better xD
Kolmas

MarshNello wrote:

Kolmas wrote:

MarshNello wrote:

KatouMegumi wrote:

Kolmas wrote:

i've started actually playing osu on linux this week, everything actually runs better than that on windows, just one weird thing, the game sometimes literally vanish in the middle of clicking a circles, idk if it's wine's problem or distro's problem (on pop os 21.10 now), but yeah other than this weird bug everything is pretty good
What wine version/build?
I’d say on GonX as he followed the guide, ig he’s talking about those random crashes which occur rarely (at least here)
yeah i followed the guide from top to down and done everything (except the extra part) everything runs smoothly aside from the rare random crashes

the only info i have is every crashes so far is during gameplay, but didn't notice any other special things :shrug:
Try opening osu in your terminal with osu-wine and when those occur just paste the terminal’s output here, as Megumi says checking is better xD
it's the third crash of today i finally remember to open it from terminal XD
ImPristine

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
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
show more
Please sign in to reply.

New reply