package icon


Open-source rhythm game supporting Osu! beatmaps
opsu! is an unofficial open-source client for the rhythm game osu!, written in Java using Slick2D and LWJGL (wrappers around OpenGL and OpenAL).

opsu! runs on Windows, OS X, and Linux.
A this libGDX port also supports Android devices.

opsu! requires "beatmaps" to run, which contain the songs and gameplay data.
These can be downloaded directly through opsu! in the downloads menu, or
manually from the [ osu! website] (requires
registration) and mirror sites like [ Bloodcat].
Place any manually downloaded beatmaps (in .osz format) in the `Import/`
directory for opsu! to unpack them automatically.

If osu! is installed, opsu! will attempt to read beatmaps from the osu!
installation location. The beatmap directory can also be changed by setting
the "BeatmapDirectory" value in the generated configuration file.

'''First Run'''
opsu! will parse all beatmaps when launched, which can take a while for the
first time. If no beatmaps are found, the game will prompt you to download some
to get started.

Game settings can be changed in the options menu, accessed by clicking the
"Other Options" button in the song menu. The "Music Offset" value will likely
need to be adjusted initially, or whenever hit objects are out of sync with the

'''Directory Structure'''
The following files and folders will be created in the opsu folder in storage as needed:
* `.opsu.cfg`: The configuration file. Most (but not all) of the settings can
be changed through the options menu.
* `.opsu.db`: The beatmap cache database.
* `.opsu_scores.db`: The scores and player database.
* `.opsu.log`: The error log. All critical errors displayed in-game are also
logged to this file, and other warnings not shown are logged as well.
* `Songs/`: The beatmap directory (not used if an osu! installation is detected).
The parser searches all of its subdirectories for .osu files to load.
* `Skins/`: The skins directory. Each skin must be placed in a folder within
this directory. Any game resource (in `res/`) can be skinned by placing a
file with the same name in a skin folder. Skins can be selected in the
options menu.
* `Replays/`: The replay directory. Replays of each completed game are saved
as .osr files, and can be viewed at a later time or shared with others.
* `Import/`: The import directory. All beatmap packs (.osz) and skin
packs (.osk) are unpacked to the proper location. All replays (.osr) are
moved to the replay directory, and their scores saved to the scores database.
* `Screenshots/`: The screenshot directory. Screenshots can be taken by
pressing the F12 key.
* `Natives/`: The native libraries directory.
* `Temp/`: The temporary files directory. Deleted when opsu! exits.


Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.16.1a (2) suggested Added on 2019-03-01

    armeabi armeabi-v7a x86

    This version requires Android 2.2 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.

    Download APK 23 MiB PGP Signature | Build Log