How to Use wine-osu-cachy with osu-winello: A Complete Setup Guide
Set WINE_USE_CACHY="true" in your osu-winello configuration to automatically download, extract, and run osu! using the optimized wine-osu-cachy build based on wine-cachyos.
The osu-winello project simplifies running osu! on Linux, and now supports the alternative wine-osu-cachy runtime derived from wine-cachyos and wine-valve for enhanced performance. This guide covers the exact steps to enable this low-latency wine build by configuring environment variables and understanding the automated setup architecture implemented in the NelloKudo/osu-winello repository.
Architecture of the Cachy Integration
The integration relies on a conditional setup flow that checks for the WINE_USE_CACHY flag before launching. When enabled, the script orchestrates a download and wrapper registration process.
Core components:
stuff/example.cfg– The template configuration file containing theWINE_USE_CACHYflag at lines 14-16.osu-wine– The runtime entry point that reads the flag and exports$WINEand$WINE_INSTALL_PATHto point at the cachy directories (lines 16-21).WineCachySetup()– A function defined inosu-winello.sh(lines 47-56) that handles the tarball download, extraction to$XDG_DATA_HOME/osuconfig/wine-osu-cachy-10.0, and yawl wrapper registration.- yawl wrapper – A thin wrapper registered as
winello-cachythat transparently routes calls to$WINE_INSTALL_PATH/bin/wine.
Execution flow:
- The user runs
osu-wine. - The script sources the config and detects
WINE_USE_CACHY="true". MainScript winecachy-setuptriggersWineCachySetup().- The function downloads the pre-built binary, extracts it, and registers the wrapper.
$WINEis exported to the cachy binary path, andLaunchOsu()proceeds with the alternative runtime.
Enabling wine-osu-cachy in Your Configuration
You can enable the cachy build permanently via the configuration file or temporarily for a single session.
Permanent activation via config file
Configuration files reside in $XDG_DATA_HOME/osuconfig/configs (typically ~/.local/share/osuconfig/configs).
-
Open the configuration editor:
osu-wine --edit-config -
Locate the line:
## WINE_USE_CACHY="true" -
Remove the leading comment characters to uncomment:
WINE_USE_CACHY="true" -
Save and exit. The file is automatically sourced on every subsequent launch.
One-off activation (temporary)
To test the cachy build without modifying config files, export the variable inline:
WINE_USE_CACHY=true osu-wine
This triggers the setup routine for that session only, without persisting the change.
First-Time Download and Installation
When you launch osu-wine with the flag enabled for the first time, the script executes WineCachySetup() automatically. According to the source code in osu-winello.sh, the routine performs the following:
-
Download – Fetches the tarball from the URL defined at line 19:
WINECACHYLINK="https://github.com/NelloKudo/WineBuilder/releases/download/wine-osu-cachyos-v10.0-3/wine-osu-cachy-winello-fonts-wow64-10.0-3-x86_64.tar.xz" -
Extraction – Unpacks the archive to
$XDG_DATA_HOME/osuconfig/wine-osu-cachy-10.0. -
Wrapper registration – Creates a yawl wrapper with
make_wrapper=winello-cachypointing to the extractedbin/winebinary.
No manual intervention is required beyond ensuring an active internet connection for the initial download.
Daily Usage with the Cachy Build
Once the setup completes, every standard osu-wine command transparently uses the cachy binary.
Common commands:
osu-wine– Launch osu! using the wine-osu-cachy runtime.osu-wine --winecfg– Openwinecfgfor the cachy wine prefix.osu-wine --regedit– Openregeditfor the cachy wine prefix.osu-wine --edit-config– Toggle theWINE_USE_CACHYsetting.
Verification:
Check the runtime log to confirm the correct binary is active:
cat "$XDG_DATA_HOME/osuconfig/winello.log"
You should see an entry indicating the cachy path, such as:
Using wine: /home/username/.local/share/osuconfig/wine-osu-cachy-10.0/bin/wine
Key Source Files and Functions
Understanding these specific files helps with troubleshooting and advanced configuration:
| File | Purpose | Key Location |
|---|---|---|
stuff/example.cfg |
Template showing the WINE_USE_CACHY variable. |
Lines 14-16 |
osu-wine |
Runtime script that checks the flag and exports wine paths. | Lines 16-21 |
osu-winello.sh |
Contains WineCachySetup() and the WINECACHYLINK definition. |
Lines 19, 47-56 |
Summary
- Set
WINE_USE_CACHY="true"in$XDG_DATA_HOME/osuconfig/configs/example.cfgto enable the feature. - The first launch automatically executes
WineCachySetup(), downloading and extracting wine-osu-cachy version 10.0-3. - A yawl wrapper (
winello-cachy) is registered to transparently route wine calls to the cachy binary. - All standard
osu-winecommands work identically once the flag is active. - Use
WINE_USE_CACHY=true osu-winefor temporary testing without permanent configuration changes.
Frequently Asked Questions
What is wine-osu-cachy and how does it differ from the default wine build?
wine-osu-cachy is a specialized Wine build based on wine-cachyos and wine-valve, optimized for low latency and gaming performance. Unlike the standard wine build included with osu-winello, it incorporates specific patches from the CachyOS project designed to reduce input lag and improve frame timing for rhythm games.
Do I need to manually download the wine-osu-cachy binary?
No. When you set WINE_USE_CACHY="true" and run osu-wine, the WineCachySetup() function in osu-winello.sh automatically downloads the correct tarball from the official WineBuilder releases, extracts it to $XDG_DATA_HOME/osuconfig/wine-osu-cachy-10.0, and configures the necessary wrappers without requiring manual file management.
Can I revert to the standard wine build after enabling wine-osu-cachy?
Yes. Simply edit your configuration file using osu-wine --edit-config, comment out the WINE_USE_CACHY="true" line by adding ## at the beginning, or delete the line entirely. The next launch will revert to the default wine runtime paths exported by the standard launch sequence in osu-wine.
Where exactly is the wine-osu-cachy binary installed on my system?
The binary is extracted to $XDG_DATA_HOME/osuconfig/wine-osu-cachy-10.0 (typically ~/.local/share/osuconfig/wine-osu-cachy-10.0). The actual wine executable resides at bin/wine within this directory, and the osu-wine script exports this path to the $WINE environment variable when the cachy flag is enabled.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →