Skip to content

Releases: clevim/OpenSharkX11

v2.0.1

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:53

What's Changed

New Contributors

  • @clevim made their first contribution in #3

Full Changelog: v2.0.0...v2.0.1

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 03:54

OpenSharkX11 v2.0.0 — Rewritten on Tauri 2 + Rust

This release replaces the Electron 34 + Node.js stack with Tauri 2 and a Rust
backend
. Same features, a third less memory: measured side by side on the same
machine, idle with the mouse connected, the app now sits at 256 MB against
385 MB before (proportional set size across the whole process tree), and runs
3 processes instead of 8. The Arch package is a 5.9 MB self-contained
binary instead of pulling in a full Electron runtime; the Debian package is
6.3 MB.

The whole device layer was rewritten in Rust — USB via rusb, Bluetooth LE via
BlueZ over D-Bus — with the protocol builders ported one-to-one from the previous
TypeScript driver and verified byte for byte against captured traffic.

What's new

  • Native Rust backend: no Node.js runtime, no asar, no bundled Chromium
  • React 19 renderer served straight from the binary
  • Smaller install and a much lighter memory footprint

Fixes

  • DPI stage colors were off by one. The active stage index is 0-based
    internally but the firmware expects 1–6, so the mouse always sat one stage
    behind the UI — each stage lit up with the previous stage's color, the first
    stage was unreachable and the sixth was never sent.
  • Applying settings could hang for minutes. The interrupt polling thread and
    the control-transfer path shared an unfair mutex on the USB handle, starving
    writes. Lighting, remap and DPI changes now land in about a second.
  • Release builds no longer start on a blank window.

Still tri-mode

2.4 GHz dongle, wired USB-C and Bluetooth — DPI stages, RGB lighting, button
remapping, polling rate, debounce, profiles and battery monitoring.

Install

  • Debian/Ubuntu — sudo dpkg -i OpenSharkX11_2.0.0_amd64.deb
  • Arch/CachyOS — opensharkx11 or opensharkx11-git from the AUR
  • Any distro — download the AppImage, chmod +x, run

Requires libusb, webkit2gtk-4.1 and gtk3. The packages install a udev rule
so the mouse is reachable without root; the AppImage relies on one already being
present.

1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 03:17

OpenSharkX11 v1.0.0

First public release of OpenSharkX11 — a native Linux configurator for the Attack Shark X11 tri-mode mouse. No Windows software, no Wine.


Features

Connection

  • Tri-mode auto-detect: searches 2.4 GHz dongle → USB-C cable → Bluetooth 5.0 (BLE) in sequence
  • Dedicated BT button for direct Bluetooth connection when disconnected
  • System tray with connection status and battery percentage
  • Tray "Search mouse" action reconnects without opening the window

DPI

  • 6 independent DPI stages — up to 26,000 DPI
  • Individual RGB color per stage
  • Angle Snap and Ripple Control toggles
  • Physical DPI button on mouse updates the active stage in real time

Lighting

  • 7 modes: Off · Static · Breathing · Neon · ColorBreathing · StaticDPI · BreathingDPI
  • Animation speed control (5 levels)
  • Global color picker with 12 quick swatches
  • Automatic LED override at critical battery level

Buttons

  • Remap all 8 buttons: left, right, middle, forward, backward, DPI, and extras
  • Supported actions: native mouse functions, keyboard shortcuts, multimedia keys
  • Works via 2.4 GHz dongle, USB-C, and Bluetooth

Performance

  • Polling rate: 125 / 250 / 500 / 1000 Hz
    • Locked to 125 Hz in USB-C wired mode (hardware limit)
    • Locked to 125 Hz in Bluetooth mode (BLE limit)
  • Debounce: 4–50 ms (2 ms steps)

Profiles

  • Save, load, and delete named configuration profiles
  • Profiles store DPI, lighting, button mappings, and performance settings

Battery

  • Real-time battery percentage in UI and system tray
  • Auto-refresh every 5 minutes
  • Critical battery LED override (configurable color)

Interface

  • Cockpit-style frameless window with sidebar mouse diagram
  • Accent color syncs with the active DPI stage RGB
  • 3 languages: Português · English · 中文
  • Live mode: lighting and DPI preview without clicking Apply

Bluetooth (BLE) — confirmed working

Feature Works via BLE
DPI configuration ✅
Lighting modes ✅
Debounce ✅
Button remapping ✅
Polling rate ⛔ max 125 Hz (fixed)

Installation

Arch / CachyOS (recommended)

yay -S opensharkx11-git

AppImage / .deb

Download from the releases page and install the udev rule:

sudo cp aur/99-attack-shark-x11.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger

Requirements

  • Electron 34 · libusb · BlueZ (for BLE)
  • BLE requires the mouse to be paired first: bluetoothctl pair <MAC>

Protocol

Full reverse-engineering notes for the HID and BLE protocols:
docs/protocol/PROTOCOL_EN.md