How to Handle Input Tablet Issues on Wayland with osu-winello
Set WINE_ENABLE_ABS_TABLET_HACK=2 in your osu-winello configuration file to force absolute tablet coordinates on Wayland, restoring precise pen input for osu!.
When running osu! on modern Linux systems using Wayland compositors, drawing tablets often exhibit erratic cursor behavior or complete input failure due to how Wine translates relative coordinate events. The osu-winello project by nellokudo provides specific environment variable overrides to handle input tablet issues on Wayland with osu-winello, ensuring your pen tablet functions with absolute positioning accuracy.
Understanding the Wayland Tablet Input Problem
Wayland handles input devices differently than X11, often reporting tablet pen movement as relative coordinates rather than absolute screen positions. Wine's default translation layer does not correctly interpret these events for osu!'s osu!Direct (OTD) input mode, resulting in jittery movement, missed hits, or the tablet being ignored entirely.
The osu-winello wrapper scripts intercept these configuration issues by sourcing user-defined environment variables before launching the Wine prefix.
Configuration Solutions for Tablet Input
osu-winello offers two primary methods to resolve tablet issues, controlled through configuration files stored in ~/.local/share/osuconfig/configs/.
Enable Absolute Tablet Coordinates
The WINE_ENABLE_ABS_TABLET_HACK=2 environment variable forces Wine to treat incoming tablet data as absolute coordinates, bypassing Wayland's relative event translation.
To activate this setting:
-
Open the configuration editor:
osu-wine --edit-config -
Locate the line
# WINE_ENABLE_ABS_TABLET_HACK=2and remove the#comment character:WINE_ENABLE_ABS_TABLET_HACK=2 -
Save the file and exit the editor.
Optional: Switch to Native Wayland Driver
If absolute coordinate mapping fails, you can force Wine to use the experimental winewayland.drv driver instead of the X11 fallback by clearing the DISPLAY variable.
In your configuration file, uncomment:
DISPLAY=
Warning: This driver is experimental and unsupported. It may resolve tablet issues on pure Wayland compositors but can introduce other input quirks or graphical glitches.
Implementation Details
The configuration system relies on several key components within the nellokudo/osu-winello repository:
stuff/example.cfg: Reference template demonstrating the exact syntax forWINE_ENABLE_ABS_TABLET_HACKandDISPLAYoverrides.osu-winello.sh: Installer script that initializes the Wine prefix and prepares the configuration directory structure at~/.local/share/osuconfig/.osu-wine: Runtime wrapper that sources all.cfgfiles from the configs directory and exports their variables into the Wine environment before launching osu!.
When you run osu-wine, the wrapper executes approximately:
# Load user configurations
for config in ~/.local/share/osuconfig/configs/*.cfg; do
source "$config"
done
# Launch with modified environment
WINE_ENABLE_ABS_TABLET_HACK=2 wine osu!.exe
Summary
- Wayland tablet issues stem from Wine interpreting pen input as relative coordinates rather than absolute screen positions.
- Set
WINE_ENABLE_ABS_TABLET_HACK=2in~/.local/share/osuconfig/configs/to force absolute coordinate handling and restore precise pen input. - Use
osu-wine --edit-configto modify settings without manually navigating to the configuration directory. - The
DISPLAY=option provides an experimental fallback usingwinewayland.drv, but may introduce instability.
Frequently Asked Questions
Why does my tablet work on X11 but not on Wayland with osu-winello?
X11 natively supports absolute coordinate reporting for graphics tablets, which Wine translates correctly into Windows API calls. Wayland compositors often report tablet movement as relative delta events, causing Wine to miscalculate cursor position unless you enable WINE_ENABLE_ABS_TABLET_HACK=2 to force absolute interpretation.
Where do I place the configuration file to fix tablet input?
Create or edit configuration files in the ~/.local/share/osuconfig/configs/ directory. The osu-wine wrapper automatically sources all .cfg files in this location at runtime. You can use the command osu-wine --edit-config to open the default editor (set by CUSTOMEDITOR) directly to this location.
Is the winewayland.drv driver stable for daily osu! gameplay?
No. The native Wayland driver (winewayland.drv) is experimental and unsupported by upstream Wine. While clearing DISPLAY= may resolve certain tablet edge cases that the absolute hack does not address, it frequently introduces other issues such as window management quirks, missing features, or input latency. Use it only for testing purposes.
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 →