My Blog, build with Norgolith
blog.ladas552.me
blog
1@document.meta
2title: Osu on Linux
3description: My experience running Osu on Linux and some advice
4authors: [
5 ladas552
6]
7categories: [
8 games
9]
10created: 2025-04-13
11layout: post
12version: 1.1.1
13@end
14
15* Osu on Linux
16** Hey!
17 ___
18 I play rhythm games for my own amusement. And mostly bobbing to {https://osu.ppy.sh/}[OSU!], which let's you click circles to legally acquired song. And it supports Linux, kinda, most of the time, let me explain.
19
20** Osu Stable
21 ___
22 Is a classic Osu client that most people play on. It *doesn't* support Linux, but works quite well under {https://www.winehq.org/}[WINE], and some community maintained scripts setup low latency and seamless desktop integration for adding maps and skins from `.osu` files.
23
24 I used this {https://osu.ppy.sh/community/forums/topics/1248084?n=1}[install script] (check GitHub for more up to date instructions). Tested on KDE X11, XFCE X11 and BSPWM. Works fantastically and at the time of writing this post \{ *2025-04-13* \} still maintained.
25
26 But can have audio *lag* because Wine compatibility takes some time, but make sure to enable /DXVK/ and if on Nvidia, 32-bit Vulkan compatibility package. On something like Arch Linux it should be your go to OSU! setup.
27
28** Osu Lazer
29 ___
30 But:
31 - Wine and arbitrary scripts have problems running on *FSH'less* OSes, hello /NixOS/,
32 - Maybe you can't bear the *audio lag* from Wine(less than 1/4 of a second),
33 - Annoyed about rare *stuttering* issues,
34 - You want *latest* and greatest features,
35
36 Then you might want to switch to *Lazer*. A leap in Osu clients that got native Linux support! As it is open source, you can build it yourself, but i do not recommend doing so, because networking is disabled for unofficial builds of the game. Which doesn't let you upload scores and chat.
37
38 Instead, download the {https://github.com/ppy/osu/releases}[official appimage], and just play the game. You might need to update *mesa* package to play, also recommend {https://github.com/TheAssassin/AppImageLauncher}[AppImageLauncher] for smooth sailing if it's your first time using appimages.
39
40 Well, you would need to turn on Vulkan (experimental) rendering for better performance. Also don't use the Raw Input setting, it's broken on Linux.
41
42*** NixOS
43 ___
44 But if you don't want to run raw appimages, Osu Lazer is available on `nixpkgs` that auto updates for you, in particular, the `osu-lazer-bin`. But recently I had problems running it on Nvidia GPU (check {https://github.com/NixOS/nixpkgs/issues/372135}[issue])
45
46 Luckily, {https://github.com/fufexan/nix-gaming/tree/master/pkgs/osu-lazer-bin}[Fufexan's gaming flake] got working Osu that also fresher than the `nixpkgs` one. I use it.
47
48 Here's a simple flake structure for ya:
49
50 @code nix
51 {
52 # you can scroll it
53 description = "Osu Gaming";
54
55 inputs = {
56 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
57 nix-gaming.url = "github:fufexan/nix-gaming";
58 };
59 outputs =
60 {
61 self,
62 nixpkgs,
63 ...
64 }@inputs:
65 {
66 nixosConfigurations = {
67 NixGamer = nixpkgs.lib.nixosSystem {
68 specialArgs = { inherit inputs; };
69 modules = [
70 ./configuraton.nix
71 {
72 environment.systemPackages = [ inputs.nix-gaming.packages.${pkgs.system}.osu-lazer-bin ];
73 }
74 ];
75 };
76 };
77 };
78 }
79 @end
80
81** McOsu
82 ___
83 It's an *unofficial* Osu client, that you can download straight from *Steam*. It's minimal, so doesn't ever lag, has a lot of mods for practice and fully local, so no multiplayer features either. Still open source tho.
84
85 You can import your Osu user from the site and go from there. Has some problems with Osu skins, but most should work fine.
86
87** Software
88 ___
89 Well, at least now you can play the game, but to exceed in it you might want to configure hardware that you use. Like *pipewire* for less audio lag, *tablet* area and *mouse* dpi.
90
91*** Open Tablet Drivers (OTG)
92 ___
93 Just {https://github.com/OpenTabletDriver/OpenTabletDriver}[download it], enable the daemon, reboot. If after connecting the tablet, it says that daemon connection is terminated, reopen the app.
94
95 Most tablets should work with it, but if not, check the git version, I used the one from {https://aur.archlinux.org/packages/opentabletdriver-git}[AUR]. If you use source based distribution, good luck building DotNet dependency.
96
97 The git and stable versions can have different configuration formats, so your Osu preset from git can be borked on stable. Just remake it using the GUI.
98
99*** Solaar
100 ___
101 It's a {https://github.com/pwr-Solaar/Solaar}[little application] to change your mouse settings, sensitivity and DPI included. Works perfectly with *LogiTech*.
102
103 Can work with keyboards too, but I never owned the compatible one.
104
105*** Pipewire
106 ___
107 The default (/i hope/) audio system on your Linux distro. Check the guides on how to reduce audio latency, for {https://gist.github.com/Kodehawa/edff6856470ad660a0d69416834b09da}[example]. But here is a little snippet for NixOS users. Just be aware, your headphones can pop or crack, so experiment with this a little.
108
109 @code nix
110 environment.systemPackages = [ pkgs.sbc ];
111 # Enable sound with pipewire.
112 services.pulseaudio.enable = false;
113 security.rtkit.enable = true;
114 services.pipewire = {
115 enable = true;
116 alsa.enable = true;
117 alsa.support32Bit = true;
118 pulse.enable = true;
119 extraConfig.pipewire."92-low-latency" = {
120 "context.properties" = {
121 "default.clock.rate" = 48000;
122 "default.clock.quantum" = 32;
123 "default.clock.min-quantum" = 32;
124 "default.clock.max-quantum" = 32;
125 };
126 };
127 @end
128
129** Rhythm is just a \*click* away!
130 ___
131 Thanks for reading, hopefully my experience was worth your time. I played *OSU!* for a couple of years now, and basically base my desktop preferences on it.
132
133 Like how my Windows 10 wouldn't run it well, so I switched to Arch Linux. Or how portals broke my X11 install of Osu Lazer, so I switched to Wayland on Niri. Well outside of that, buying my own drawing tablet on birthday and storing 50GB of osu maps, and silver switches on my osu keymaps.
134
135 Rhytm games are great, so I can't say I wasted any of that time and money on useless stuff, because tapping to the songs just gives another type of joy that can't be achieved otherwise.
136
137 Here is my {https://osu.ppy.sh/users/22649018}[Osu profile, if you are interested]. Trow in friend requests, can be mutuals lol.