My Blog, build with Norgolith blog.ladas552.me
blog
at main 137 lines 6.7 kB view raw
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.