Skip to content

Releases: KillerPixelCrew/sc2dsu

SC2DSU v0.3.1 - Hotfix: Windows tray menu

Choose a tag to compare

@github-actions github-actions released this 21 Aug 08:47

Hotfix for a regression in v0.3.0.

Fixed

  • Tray icon menu did nothing on Windows (#17). Once the window was hidden to the tray, the UI never woke up again, so "Show settings", "Quit" and left-clicking the icon were ignored. Tray events are now delivered directly and wake the window.
  • Quit didn't quit with "Close to tray" enabled. Quitting (from the tray or the Quit button) was turned into "hide to tray", leaving a dead process behind. Quit now always exits.

Linux is unaffected by the tray bug; the Linux binary is rebuilt from the same source for completeness.

Full Changelog: v0.3.0...v0.3.1

SC2DSU v0.3.0 - The Big one. Linux Support and UI Overhaul

Choose a tag to compare

@github-actions github-actions released this 20 Aug 21:09
Screenshot 2026-08-20 225235

Linux support — now first-class

SC2DSU now runs natively on both Windows and Linux. The Linux x86_64 download is a portable release build aimed at glibc 2.35, covering SteamOS 3, Debian 12, Ubuntu 22.04 and newer, plus current Arch and Fedora systems.

  • Run the same full dashboard, DSU server, slot routing, gyro calibration, tray controls, and controller support on Linux.
  • No separate system packages are needed for the release binary; it uses the runtime libraries already present on supported distributions.
  • A provided Linux desktop launcher uses Terminal=false, so opening SC2DSU from the application menu does not leave a terminal window behind.
  • Controller access is documented with the required udev rule, and sc2dsu --probe helps verify HID access before launching an emulator.
  • For a machine running DSU without a desktop session, sc2dsu --headless is supported and an example systemd user service is included.

Multi-slot controller routing

  • Route each connected Steam Controller to any of four DSU slots. Assignments are saved and restored by controller identity, while automatic discovery-order routing remains available.
  • Choose any DSU slot for the live-motion panel and recalibrate that selected controller directly.
  • Per-slot connection state, motion data, sample rate, and DSU output stay isolated for reliable local multiplayer use.

UI overhaul

  • Rebuilt the dashboard around compact controller-slot cards, live gyro readings, and contextual calibration controls.
  • Replaced the original blue styling with a dark charcoal, orange, and amber theme; tightened the window footprint; and reduced corner rounding.
  • Moved Open to network, Start with Windows, and Close to tray into visible app controls.
  • Removed the experimental 3D controller preview now that the motion monitor is established.
  • Regular Windows GUI launches no longer open a CMD window.

Downloads

The release includes Windows and Linux x86_64 binaries plus SHA256SUMS.txt for integrity checks.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 19:22

Full Changelog: v0.1.4...v0.2.0

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 13 May 09:10

Fixes gyro drift in Eden/Yuzu.

Two things were going wrong. The default axis mapping was built for SDL's sensor order, not Cemuhook UDP's, so Eden/Yuzu read the wrong components. And there was no compensation for the gyro's zero-rate offset, which the emulator integrated as drift. Both are fixed.

Continuous auto-calibration runs while the controller sits still and zeroes the bias automatically. Toggle in the gyro frame, on by default. Status shows in the Subscribers row (gyro: calibrating… / gyro: locked 87%).

Existing users: hit Restore defaults in the System frame. Your saved config still has the old axis mapping and won't pick up the fix otherwise.

Also: Restore defaults button in System. Recenter viz is now called Recalibrate since it also resets the bias estimate.

Full Changelog: v0.1.3...v0.1.4

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 12 May 08:01

Setup notes

This release adds the full controller state to the DSU packet: buttons, sticks, triggers, alongside motion.

Emulators that take DSU as a motion-only source (Eden, Citra, Dolphin, ...): nothing changes. Keep using Steam Input's virtual Xbox pad for buttons, add 127.0.0.1:26760 as the Cemuhook motion source, done. The new button/stick fields in the packet are simply ignored by these emulators.

Cemu (and anything else that expects DSU to be the single complete input source, see #2): Cemu doesn't let you add DSU as a supplementary gyro source; it wants all the input over DSU. Two ways to make that conflict-free:

  • Option A, keep Steam running: add Cemu to Steam as a non-Steam game, launch it through Steam, and disable Steam Input for Cemu completely in its Steam controller settings. Otherwise you get double input (Steam's virtual Xbox pad plus the DSU state).
  • Option B, no Steam at all: just quit Steam. SC2DSU reads the controller's HID interface directly, so it delivers the full state with no Steam process involved.

Either way, point Cemu's controller/motion source at 127.0.0.1:26760.

Full Changelog: v0.1.2...v0.1.3

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 11 May 07:29

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 10 May 12:04

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 10 May 11:57