Git Product home page Git Product logo

linux-osu's Introduction

this is a script i put together that automatically:

  • patches and compiles winealsa/winepulse with environment variables to tweak sound latency
  • creates a back-up of your system wine's winealsa and winepulse
  • installs the patched winealsa/winepulse
  • creates a wine prefix and installs osu! using your system wine
  • creates a script to start and kill osu with tweakable latency values

at the moment, this script makes various assumptions:

  • it looks in /usr/lib32 for wine libraries to replace
  • assumes you don't touch the osu install location or at least don't move it outside of C:

USE AT YOUR OWN RISK. I made this mainly for myself so I can set up osu without having to replace the system wine or making a full wine build with all the runtime libraries. it will only ask for root when replacing the winealsa/winepulse libraries and when installing the osu binary

credits to ThePooN for exploring past just adjusting buffer sizes, which inspired me to make this winealsa patch for my particular setup

note that on a pure alsa setup you also want to manually tweak your buffer size in the asoundrc.

if using pulse, check out thepoon's blog post for more low latency settings for pulse https://blog.thepoon.fr/osuLinuxAudioLatency/

possible improvements:

  • find a way to inject the patched .drv.so files without physically replacing them. I tried LD_PRELOAD tricks and changing WINEDLLPATH but nothing worked
  • find a way to properly wait for the osu installer to start and terminate
  • find a way to automatically cancel the gecko/mono install on prefix creation

requirements

  • git
  • wine
  • GNU find or something that supports -quit
  • make, autoconfig, automake
  • gcc
  • winealsa-devel, winepulse-devel

if you have all of these and it still doesn't work just read the terminal output and you'll most likely be able to figure out what is missing

how to use

git clone https://github.com/Francesco149/linux-osu
cd ./linux-osu
./build.sh

cancel the wine gecko/mono installs when prompted

when the installer starts, don't change the install location

when the game starts, close it.

if this completes successfully, you should be able to run osu

after the first run, re-running build.sh regenerates and reinstalls the osu launcher script.

things you can do before re-running build.sh

  • delete pfx to recreate the wine prefix
  • delete both pfx and folder to reinstall osu and recreate the prefix (folder is your osu folder, so back it up if you wish)
  • delete wine to force it to re-download the wine source
  • delete wrk to force a re-build of the patched wine libraries

linux-osu's People

Contributors

francesco149 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

linux-osu's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.