MCPcopy Index your code
hub / github.com/Supreeeme/extest

github.com/Supreeeme/extest @1.0.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.3 ↗ · + Follow
11 symbols 12 edges 3 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Extest - X11 XTEST Reimplementation for Steam Controller on Wayland

Extest is a drop in replacement for the X11 XTEST extension. It creates a virtual device with the uinput kernel module. It's been primarily developed for allowing the desktop functionality on the Steam Controller to work while Steam is open on Wayland.

Usage

Be sure you have Rust installed. You will also need to install a 32 bit Rust toolchain.

rustup target add i686-unknown-linux-gnu
cargo build --release

This will create a library named libextest.so in target/i686-unknown-linux-gnu/release. Note that this library is 32 bit by default because Steam is a 32 bit application.

You will also need to add your user to the input group if not added already, so that your user can be allowed to actually create fake devices:

sudo usermod -a -G input <your username>

You can then use LD_PRELOAD to override any app that wants to use XTEST functions that have been reimplemented by Extest. Example:

LD_PRELOAD=/path/to/libextest.so steam

The repository also comes with a script to automatically override Steam's desktop file so that whenever you launch Steam from the desktop file (i.e. via desktop icon or application menu) Extest will be automatically preloaded. Just run it like so:

./override_steam_desktop_file.sh

Core symbols most depended-on inside this repo

Shape

Function 5
Class 3
Method 2
Enum 1

Languages

Rust100%

Modules by API surface

src/lib.rs7 symbols
src/wayland.rs4 symbols

For agents

$ claude mcp add extest \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page