forum

osu! on Linux with Bottles

posted
Total Posts
19
Topic Starter
s3_j0d1

With Bottles now you can install osu! in Linux with ease.

NOTE: This tutorial is performed on Acer Aspire-E5-476G running Linux Mint 21 and the peripherals are only keyboard and mouse. Using other than this peripheral is not guaranteed (It may work).

1. Install the Flatpak

Flatpak is the recommended way of installing Bottles, so we install this first:
sudo apt install flatpak
Other distro (not debian based), refer to this https://flatpak.org/setup/

Reboot your system

Add the Flathub repository:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

2. Install the Bottles

Bottles are the software where osu! run, install with:
flatpak install flathub com.usebottles.bottles

Open Bottles by clicking the icon, if you do not find the icon you can search using the menu search in your distro or using this command:
flatpak run com.usebottles.bottles
Once opened you will be greeted with an information panel, click next and install some necessary dependencies. Also running with this command will give you a verbose run in the terminal.

When done create a new bottle by clicking "Create a New Bottle", name your bottle, choose the "Custom" environment and wait for the bottle to be created
NOTE: Caffe is recommended runner. If you have issue try other runner.

3. Install dependencies and installing osu!


  • This is the list of dependencies:
  1. cjkfonts
  2. allfonts
  3. dotnet48
You can install it by clicking the arrow, clicking the dependencies tab, search and install the listed dependencies above

After installing the dependencies, click on the details & utilities and click run executable

After installing osu! it should launch itself up and check the performance if you don't find it satisfactory. Try tweaking it in the preferences tab
NOTE: Please disable "Discrete Graphics" if you have issues.

You can add osu! to the programs tab by clicking "+" button and enabling show hidden files. Usually, the osu!.exe is located in:
/home/[user name]/.var/app/com.usebottles.bottles/data/bottles/bottles/[bottles name]/drive_c/users/[user name]/AppData/Local/osu!

4. Done! 🎉🎉🎉

Now you can play osu!. Share your experience with other people in this thread or if you have trouble and know how to fix it, share it here. It will be helpful

5. Addtional information

During testing with my laptop (Acer Aspire-E5-476G) with Intel i3-6006U, 8GB RAM, and Nvidia MX130. It run nice, I'm getting around 280 fps with 3-4 ms latency.


Bottles website: https://usebottles.com/
Bottles documentation: https://docs.usebottles.com/
eycer1995
What a coincidence, i was just looking how to install osu! on linux and all the guides I found were using lutris... but then I remembered about Bottles (casually saw it when scrolling on flathub few weeks ago), and I liked the idea of "containerized" windows apps luckily someone tried with osu nice timing there huh.

really thank you for posting this definitely will try it, currently using fedora 36. Is nice to see some linux pals around here!
DanilPl3yOff
OwO Thanks you so much!

It's so easier install now, than before and it even runs from my windows installation.
also much better perfomance wise, I'm happy now :3

- from Manjaro linux on Swift SF314-41G


Edit: since install I had issue with map loading, they are really slow (like 20s on each listing of beatmaps) and osu! is freezing when I try to use search.

FIX: if you have something like this, Select Runner "sys-wine-7.7" in (Bottle)Preferences -> Component version. hope this will help you too :3


Otherwise performance on this laptop something like this:
resolution: 1920x1080
menu: 120fps ~8-9ms
single player gameplay: ~480fps ~2-4ms

when on windows it was like 10ms in gameplay with resolution of 1280x720
Nyaaori
Just a heads up, on systems with vulkan support, it's better to leave out d3dx11 and use bottles's dxvk-async component instead. Make sure to set DXVK_ASYNC to 1 under environment variables.

Additionally, on nvidia systems you need to also install nvidia's flatpak runtime and make sure it matches your current nvidia driver version, it's not pulled in automatically.

I'm tempted to post my own similar guide focusing on Fedora Kinoite and SteamOS 3 as those are both immutable-root systems and require using flatpaks for installing software. There's also a lot of latency tuning you can do and current pinned guide doesn't cover what you do on more modern distros.
Repentance
Is not the installation with Wine is clearest and optimum?
Topic Starter
s3_j0d1

Nyaaori wrote:

Just a heads up, on systems with vulkan support, it's better to leave out d3dx11 and use bottles's dxvk-async component instead. Make sure to set DXVK_ASYNC to 1 under environment variables.

Additionally, on nvidia systems you need to also install nvidia's flatpak runtime and make sure it matches your current nvidia driver version, it's not pulled in automatically.

I'm tempted to post my own similar guide focusing on Fedora Kinoite and SteamOS 3 as those are both immutable-root systems and require using flatpaks for installing software. There's also a lot of latency tuning you can do and current pinned guide doesn't cover what you do on more modern distros.
Thanks for adding a helpful tips.
We need more people to try it because every system is different (graphics, peripheral, distros, etc) and I'm curious to see the performance and how to fix it (if there any trouble)

Nyaaori wrote:

There's also a lot of latency tuning you can do and current pinned guide doesn't cover what you do on more modern distros.
Can you tell me how to do it?
-Chocolatada-
I just want to say thank you. I've been trying to install the game on a Debian 10 based system for the past 5 days and I couldn't find any possible way, everytime I tried, it failed, Playonlinux, lutris, different scripts, etc. And finally the game opened without crashing, thank you dude.
Unknown Duck
I don't know why but every time I run the osu!install.exe, osu! installs in the same directory as where my osu!install.exe is placed (it installs in my Downloads folder in my Home directory instead of being in the bottles container and in .../AppData/Local/osu!). I know you can change the install directory within the osu!installer and there's even a countdown for that but for some reason, it's not appearing for me and it just goes straight to the installation. Is this due to Bottles or the osu!installer itself and how do I fix this?

I'm running Debian 12.
klepon_old
I want to install osu again after my niece's request. She wants to play it after see an osu clip from TikTok. She begs me to install it everyday.

I've installed Wine on my laptop. My Wine installation broke after I upgraded it. I can't play Windows game such as older version Touhou anymore. I installed osu stable version, it had problems. I've followed many tricks such as downgrading Wine, Lutris, PlayOnLinux, and some scripts on the internet. But no one worked.

I saw this topics on forum and tried it. And it works. Thanks a lot.

Adds:
I have a little bit issue on my laptop. App runs smoothly, but has a little bit stutter on sliders. I'm running Linux Mint 21 64 bit with bottles prefix on 64 bit too. Is there any configuration to repair it?
notabirdhater
thanks for this guide, the dependencies section helped a lot!

would say this feels nicer to play on gnome wayland than using osu-wine, but fullscreen was a little buggy. i personally had to set the game to borderless fullscreen in the osu settings disabling minimize on alt tab helps reduce the bugginess while also letting the game run at more than display refresh rate. (also, enabling obs-vkcapture helps reduce latency for some reason - makes it feel a lot more comparable to playing on x11 with osu-wine). but pretty smooth imo
Unknown Duck
I'm on Fedora now (Bluefin) and this is not working for some reason. I already installed all the dependencies but no luck. Tried putting the .exe file inside the bottle's folder, still doesn't work. I have this error popping up when trying to run this with a terminal:

012c:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"osu!install.exe" cannot be loaded
012c:err:module:loader_init Importing dlls for L"C:\\osu!install.exe" failed, status c0000135

Please help how to fix this, thanks.
Winnyace

Unknown Duck wrote:

I'm on Fedora now (Bluefin) and this is not working for some reason. I already installed all the dependencies but no luck. Tried putting the .exe file inside the bottle's folder, still doesn't work. I have this error popping up when trying to run this with a terminal:

012c:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"osu!install.exe" cannot be loaded
012c:err:module:loader_init Importing dlls for L"C:\\osu!install.exe" failed, status c0000135

Please help how to fix this, thanks.
Please use winello's osu! script, not this guide.

https://github.com/NelloKudo/osu-winello
Unknown Duck

Winnyace wrote:

Unknown Duck wrote:

I'm on Fedora now (Bluefin) and this is not working for some reason. I already installed all the dependencies but no luck. Tried putting the .exe file inside the bottle's folder, still doesn't work. I have this error popping up when trying to run this with a terminal:

012c:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"osu!install.exe" cannot be loaded
012c:err:module:loader_init Importing dlls for L"C:\\osu!install.exe" failed, status c0000135

Please help how to fix this, thanks.
Please use winello's osu! script, not this guide.

https://github.com/NelloKudo/osu-winello
I already used that script but I'm getting errors with it. The error messages are also different from time to time. Tried restarting my PC and immediately running that script, doesn't work.
Ryan_MC242
Try the February 2024 release of bottle as dotnet48 dependency has some problems downloading on any later versions as far as I know. Use warehouse on flathub to downgrade it. Check the github page for the version number. Hope this helps people that cannot play osu!stable on their linux devices. : )
https://flathub.org/apps/io.github.flattool.Warehouse
https://github.com/bottlesdevs/Bottles/releases/tag/51.11

PS. backup your bottles files for things you want to keep as downgrading will not allow you to any newer bottles files on older bottles. Reinstall it before downgrading it to ensure there will be no compatibility issues. BTW if you struggle to run osu performance wise just use dxvk-async and enable compatibility mode on osu!. This runs vulkan as the render. Your milage may vary on frame stability. Use the monitor performance option, hover over it for command to be able to use it. The overlay lets you know your render.
{
Simpler way:

If you don't want to touch backups or anything else just downgrade using warehouse, uninstall the dependencies and reinstall them(all three just in case btw avoid mono when using dotnet48 dependency) and update bottles to the previous version. Remember if for some reason you need to use dotnet48 dependency in a new bottle just do this again.
}
Do your own testing on which bottles version have this problem and report it to the bottle devs so no one has to deal with is problem again.😎
osutryhard123
i had just been using osu!winello but ok then
Ryan_MC242

osutryhard123 wrote:

i had just been using osu!winello but ok then
Hope it improves the experience C:
BlueChinchompa
is there any downside using this currently over the osu-winello script for stable?
Winnyace

BlueChinchompa wrote:

is there any downside using this currently over the osu-winello script for stable?
  1. Flatpak app only, so it is containerized from the system by default and likely the prefixes are too.
  2. It's more manual work for something osu-winello does automatically
  3. osu-winello provides a custom Proton build for osu for reduced latency
BlueChinchompa

Winnyace wrote:

BlueChinchompa wrote:

is there any downside using this currently over the osu-winello script for stable?
  1. Flatpak app only, so it is containerized from the system by default and likely the prefixes are too.
  2. It's more manual work for something osu-winello does automatically
  3. osu-winello provides a custom Proton build for osu for reduced latency

Thank you
Please sign in to reply.

New reply