Ultimate guide to low-latency osu! on Linux (rev.12)

posted
Total Posts
251
show more
Topic Starter
Franc[e]sco

ichinose-san wrote:

Input lag with the ctl490 on Windows is caused by the drivers when hovering
Linux drivers don't have this problem, lag occurs regardless of drag or hover, less so than on Windows, but since there's no workaround like holding the nib, it's quite annoying
:(
As for UI, profile picture, music controls and leftside icons in settings are not showing. I ran it from the terminal and there was no particular issue.. weird :/
update - to adjust smoothing and polling rate of a wacom tablet use

xsetwacom --set "device name" RawSample 1
xsetwacom --set "device name" Suppress 0

RawSample is smoothing, Suppress is poll rate

lower = less smoothing and higher poll rate

min values are 1 and 0

use xsetwacom --list devices to find out your device name

and again, for icons try installing gdiplus on winetricks
Topic Starter
Franc[e]sco

YaLTeR wrote:

Hey, just wanted to throw my two cents on the audio latency.

I'm on Arch Linux x64, using the latest wine (2.7 at the time of writing). I switched from a pure ALSA setup I had previously, all tweaked to lowest osu! latency, to PulseAudio, with the same non-existant audio latency. The trick was to force wine to use winealsa.drv:
winetricks sound=alsa
This way, even though the audio is going through alsa->pulseaudio->alsa as opposed to pulseaudio->alsa, the latency is much better (I submitted a bug report into wine about that). The PulseAudio settings are all set to default (none of the tsched=0 stuff, that actually made it worse). And don't forget to do the winealsa.drv patch as described in the OP.
Just tested this and it does indeed work! major props to you, will update the guide to use latest wine eventually
IcePixel_
I don't know how the get my coordinates with my Wacom One the Driver doesn't show any coordinates can someone help me? And i use forced proportions.
Topic Starter
Franc[e]sco

IcePixel_ wrote:

I don't know how the get my coordinates with my Wacom One the Driver doesn't show any coordinates can someone help me? And i use forced proportions.
you can either approximate it by counting pixels and then converting to coordinates ((x / pixelwidth) * maxareawidth, (y / pixelheight) * maxareaheight) or try to export the tablet preferences to a file and see if you can find them in it with a text editor or something. or just start from scratch and tweak your area until it feels right. unfortunately that's wacom's fault for not showing values in older drivers
Arzenvald

Franc[e]sco wrote:

YaLTeR wrote:

Hey, just wanted to throw my two cents on the audio latency.

I'm on Arch Linux x64, using the latest wine (2.7 at the time of writing). I switched from a pure ALSA setup I had previously, all tweaked to lowest osu! latency, to PulseAudio, with the same non-existant audio latency. The trick was to force wine to use winealsa.drv:
winetricks sound=alsa
This way, even though the audio is going through alsa->pulseaudio->alsa as opposed to pulseaudio->alsa, the latency is much better (I submitted a bug report into wine about that). The PulseAudio settings are all set to default (none of the tsched=0 stuff, that actually made it worse). And don't forget to do the winealsa.drv patch as described in the OP.
Just tested this and it does indeed work! major props to you, will update the guide to use latest wine eventually
latest wine yes pls
ichinose-san
Not sure why I didn't get notifications for these answers, pretty sure I was subscribed to the thread... But anyway thanks for all the tips, helped a lot!
Lux
Hey I'm trying to get osu up and running on MX Linux 16.1, following the Debian based guide to build Wine from source. I installed all the packages fine and added the deb-src lines to the list files, but I'm having trouble in the next step.
$ virsh -c lxc:/// net-start default
error: Failed to start network default
error: direct firewall backend requested, but /sbin/ebtables is not available: No such file or directory
And also I tried restarting the libvirtd service as I found in another forum post and I get this:
$ systemctl status libvirtd
Failed to get D-Bus connection: Unknown error -1
$ systemctl start libvirtd
Failed to get D-Bus connection: Unknown error -1
Anyways, I tried the guide using PlayOnLinux and that didn't work either, osu! would "install" but then when I run it the icon appears and then nothing shows up afterwards. Lots of stuff shows up in the POL Shell end of which is:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 346
Current serial number in output stream: 350
Any thoughts?
Topic Starter
Franc[e]sco

Lux wrote:

Hey I'm trying to get osu up and running on MX Linux 16.1, following the Debian based guide to build Wine from source. I installed all the packages fine and added the deb-src lines to the list files, but I'm having trouble in the next step.
$ virsh -c lxc:/// net-start default
error: Failed to start network default
error: direct firewall backend requested, but /sbin/ebtables is not available: No such file or directory
And also I tried restarting the libvirtd service as I found in another forum post and I get this:
$ systemctl status libvirtd
Failed to get D-Bus connection: Unknown error -1
$ systemctl start libvirtd
Failed to get D-Bus connection: Unknown error -1
Anyways, I tried the guide using PlayOnLinux and that didn't work either, osu! would "install" but then when I run it the icon appears and then nothing shows up afterwards. Lots of stuff shows up in the POL Shell end of which is:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 346
Current serial number in output stream: 350
Any thoughts?
glxCreateContext is failing, which seems to indicate that your acceleration isn't working. could be broken gpu drivers

check your glxinfo, make sure it's not using software rendering, check your drivers etc
Topic Starter
Franc[e]sco
I just moved to a pure alsa + musl libc distro (sabotage) and running on pure alsa brought my sound latency down to zero, no more 20ms offset!

will prob add an alsa section to the guide like there used to be, although running pure alsa isnt practical for most people because of how much software depends on pulse or has issues on alsa

for me though, pretty much everything that I use works, will just have to do some tweaking for obs sound capturiing

for now, here's my /etc/asoundrc.conf
defaults.ctl.card 1

pcm.!default {
type plug
slave.pcm "dmixer"
}

pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:1,0"
period_size 32
buffer_size 512
}
}
tleydxdy
the "More tweaks to get rid of vsync" part causes my arch to login loop. but I'm using a Radeon HD graphic so maybe it doesn't matter.
Topic Starter
Franc[e]sco

tleydxdy wrote:

the "More tweaks to get rid of vsync" part causes my arch to login loop. but I'm using a Radeon HD graphic so maybe it doesn't matter.
maybe you set it to the wrong driver, check what it uses by default when it works from the xorg log

well, it shouldn't matter unless the game is clearly fps locked even without the limiter
Lux
After I checked the Open GL hardware acceleration setting with glxinfo it just worked when I started it...

So I got it working on just Intel graphics with MX Linux 16.1 using the PlayOnLinux guide. The input latency is good but I can't really figure out the audio latency (but that's really my problem) it's just off by like 20-30 ms I think. The only minor inconvenience is that my tablet area resets each time I disconnect/reconnect it.

Anyways, thanks for the guide/help!
sselecaf
edit : followed all your tutorial to the point where i have to put this command : ../configure --prefix=/home/loli/wine-1.8.3
i get this :

configure: error: X development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install development packages of Xlib/Xfree86 at the very least.
Use the --without-x option if you really want this.

what can i do from there ?

re:edit

I also tried to install osu via playonlinux i'm on mint*

i get to the point where we have to open a shell into POL and he show me the message "Ce script doit être executé dans Playonlinux" in english "This script has to be executed in POL" and anything i type is ignored when i press enter the shell just close

so i tried to open a shell into the POL folder to create a osu folder and install it in it
but i cant do the "winetricks -q dotnet45 cjkfonts" so osu say me that he hasn't .NET 4.5
Topic Starter
Franc[e]sco

sselecaf wrote:

edit : followed all your tutorial to the point where i have to put this command : ../configure --prefix=/home/loli/wine-1.8.3
i get this :

configure: error: X development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install development packages of Xlib/Xfree86 at the very least.
Use the --without-x option if you really want this.

what can i do from there ?

re:edit

I also tried to install osu via playonlinux i'm on mint*

i get to the point where we have to open a shell into POL and he show me the message "Ce script doit être executé dans Playonlinux" in english "This script has to be executed in POL" and anything i type is ignored when i press enter the shell just close

so i tried to open a shell into the POL folder to create a osu folder and install it in it
but i cant do the "winetricks -q dotnet45 cjkfonts" so osu say me that he hasn't .NET 4.5
as the error says, you need to find packages that have development headers for X for your distro. on mint it should be something like libx11-dev and xserver-xorg-dev

as the for POL error, not sure - I don't use POL myself and haven't encountered that error during my tests :?
Topic Starter
Franc[e]sco

Lux wrote:

After I checked the Open GL hardware acceleration setting with glxinfo it just worked when I started it...

So I got it working on just Intel graphics with MX Linux 16.1 using the PlayOnLinux guide. The input latency is good but I can't really figure out the audio latency (but that's really my problem) it's just off by like 20-30 ms I think. The only minor inconvenience is that my tablet area resets each time I disconnect/reconnect it.

Anyways, thanks for the guide/help!
20ms is acceptable if you use local offset everywhere

don't use global offset as it will throw video sync off

I think there are ways to set up scripts to automatically run when device is connected, but for me it's easier to run a script manually

also, you can use the linux version of McOsu on steam to compare latency and check whether it's a global sound latency issue or if it's limited to wine. if your global audio latency is already good, there's probably not much more you can do other than messing with the values in regedit. i found that the SndQueueMax value affects latency a lot (6 is wayyy more latency than 3)
sselecaf
Ok so if someone has the same error that i had you have to install all theses libraries
sudo apt-get install libx11-dev xserver-xorg-dev libx11-dev:i386 libfreetype6-dev:i386
and for Playonlinux the error that i had didnt showed on my laptop who use ubuntu 16.04

edit : i see you know it reading last post x')
another thing that you can add to your tutorial is mc osu who's a good solution if any of your way to get osu installed dont work
it can be installed with steam
the only problem with it is that he limit the amount of fps at 60 (on my computer)

ty for your response Franc[e]sco i'll come back if i find another problem haha
sselecaf
WINEPREFIX=~/osu-wine WINEARCH=win32 ~/wine-1.8.3/bin/wineboot
bash: /home/gerard/wine-1.8.3/bin/wineboot: Aucun fichier ou dossier de ce type
i checked into the folder and i dont find "wine-1.8.3" like the shell what could i do wrong?

maybe it's wine-git instead ? but he give me the same answer when i replace "wine-1.8.3" by "wine-git"
Topic Starter
Franc[e]sco

sselecaf wrote:

Ok so if someone has the same error that i had you have to install all theses libraries
sudo apt-get install libx11-dev xserver-xorg-dev libx11-dev:i386 libfreetype6-dev:i386
and for Playonlinux the error that i had didnt showed on my laptop who use ubuntu 16.04

edit : i see you know it reading last post x')
another thing that you can add to your tutorial is mc osu who's a good solution if any of your way to get osu installed dont work
it can be installed with steam
the only problem with it is that he limit the amount of fps at 60 (on my computer)

ty for your response Franc[e]sco i'll come back if i find another problem haha
run steam with "vblank_mode=0 steam" to unlock fps

sselecaf wrote:

WINEPREFIX=~/osu-wine WINEARCH=win32 ~/wine-1.8.3/bin/wineboot
bash: /home/gerard/wine-1.8.3/bin/wineboot: Aucun fichier ou dossier de ce type
i checked into the folder and i dont find "wine-1.8.3" like the shell what could i do wrong?

maybe it's wine-git instead ? but he give me the same answer when i replace "wine-1.8.3" by "wine-git"
compilation failed or you compiled wine to the wrong folder, double check the path you specified in configure and make output
sselecaf
so i restarted the tutorial from 0 and get to the point where i had the libraries error and it says me the same thing with every library installed so i think the problem come from this
Ambrew
Hi there,

I'm running into problems trying to download Microsoft .NET Framework 4.0. Each time it tries to install it, it freezes and the terminal shows this line
err:ole:marshal_object Failed to create an IRpcStubBuffer from IPSFactory for {659cdeac-489e-11d9-a9cd-000d56965251} with error 0x80004002
please advise.. what should I do?

thanks!
show more
Please sign in to reply.

New reply