Repository navigation
Releases
Gyro DSU Decky Plugin v0.4.0
DSU server manager — now called Gyro DSU
The plugin is no longer tied to a single DSU server and has been renamed from
Legion Go Gyro DSU to Gyro DSU.
- Check whether a DSU (Cemuhook) server answers on the default port 26760,
as used by Cemu and Eden, and on additional ports you configure. - Show connected controller slots and which service or process owns each port.
- Discover DSU services automatically (LegionGoSGyroDSU, LegionGoGyroDSU,
SteamDeckGyroDSU and any unit mentioning DSU/Cemuhook), including user services. - Start and stop services, and enable or disable autostart at boot.
- Refuse to start a server whose port is already used by another one.
- Live rotation works with any responding DSU server.
Upgrading: install GyroDSU-0.4.0.zip, then uninstall the old
Legion Go Gyro DSU plugin in Decky.
Legion Go Gyro DSU Decky Plugin v0.3.1
Correct 3D preview yaw direction
- Fix the horizontal depth rotation of the 3D controller preview.
- Moving the right side of the physical device away now moves the right side of
the CSS model away as well. - Preserve the previously corrected roll direction.
- Keep the Eden-aligned DSU interpretation and quaternion orientation filter
unchanged.
This update affects only the visual direction of the 3D Decky preview. The DSU
server and motion data remain unchanged.
Legion Go Gyro DSU Decky Plugin v0.3.0
3D live controller visualization
- Replace the flat device preview with a true CSS 3D model.
- Add visible front, back, top, bottom, and side surfaces.
- Add realistic device thickness, perspective, shadows, and surface shading.
- Highlight the upper edge to make forward and backward tilt easier to recognize.
- Preserve the Eden-aligned DSU interpretation and corrected roll direction.
- Keep the lightweight implementation without additional graphics libraries.
This update changes only the Decky live orientation visualization. The DSU server and motion-data processing remain unchanged.
Legion Go Gyro DSU Decky Plugin v0.2.9
Correct live preview tilt direction
- Fix the 3D device preview tilting left when the physical device is tilted.
- Correct the visual roll-axis direction without changing DSU decoding or server motion data.
- Keep the Eden-aligned pitch, yaw, accelerometer, and quaternion processing introduced in v0.2.8.
This update affects only the Decky live orientation visualization.
Legion Go Gyro DSU Decky Plugin v0.2.8
Accurate live orientation preview
- Align DSU gyroscope and accelerometer interpretation with Eden Emulator.
- Correct the pitch, yaw, and roll mapping used by the 3D device preview.
- Match Eden's DSU gyroscope scaling for more accurate movement speed.
- Apply accelerometer correction only when the measured gravity is reliable.
- Replace Euler-angle subtraction with quaternion-based recentering.
- Add end-to-end regression tests for all three DSU rotation axes.
Legion Go Gyro DSU Decky Plugin v0.2.7
Live orientation fix
- Keep gyroscope and accelerometer data in the same sensor coordinate frame during orientation calculation.
- Correctly map DSU pitch, yaw, and roll to the 3D device visualization.
- Fix accelerometer drift correction pulling the model in the wrong direction.
- Add regression tests for all three rotation axes.
- Improve recentering behavior.
This release requires a correctly configured LegionGoSGyroDSU server. The server motion data itself is unchanged; this update only fixes its interpretation in the Decky plugin.
Legion Go Gyro DSU Decky Plugin v0.2.6
Legion Go Gyro DSU Decky Plugin v0.2.6
This release corrects the gyro axis reconstruction used by the live device
orientation view.
Fixed
- Corrected the mapping of DSU gyro fields
pitch,yaw, androll. - Updated the orientation filter to use the gyro axes in the expected
roll/pitch/yaw order. - Fixed incorrect or swapped movement in the live 3D device visualization.
- Updated the DSU decoder tests to cover the corrected axis mapping.
Included fixes from previous versions
- Package Python backend modules in Decky's supported
py_modulesdirectory. - Request root access using Decky Loader's supported
rootmanifest flag. - Prevent systemd status requests from blocking Decky's event loop.
- Prevent SteamOS system tools from loading Decky's bundled OpenSSL libraries.
- Display actual backend errors instead of incorrectly reporting that
lgsdsu.serviceis not installed.
Legion Go Gyro DSU Decky Plugin v0.2.5
Fixed
-
Request root access using Decky Loader's supported
rootmanifest flag. -
Allow the backend to start and stop
lgsdsu.service. -
Add a regression test for the plugin privilege configuration.
-
Prevent SteamOS system tools from loading Decky Loader's bundled OpenSSL
libraries. -
Restore the original system library path before invoking
systemctl. -
Remove PyInstaller's temporary
_MEIlibrary path from child processes. -
Add a regression test simulating Decky Loader's PyInstaller environment.
Security
Root access applies only to the Python backend. The frontend cannot provide an
arbitrary service name or shell command. The backend executes fixed,
non-interactive /usr/bin/systemctl operations for lgsdsu.service.
Legion Go Gyro DSU Decky Plugin v0.2.3
Fixed
- Prevent systemd status requests from blocking Decky's event loop.
- Use
/usr/bin/systemctlexplicitly. - Disable pagers and interactive password prompts for service operations.
- Apply a strict timeout to every systemctl request.
- Display the actual backend error instead of incorrectly reporting that
lgsdsu.serviceis not installed.
Requirements
- Decky Loader
- LegionGoSGyroDSU installed as
lgsdsu.service - Legion Go 2 users should use LegionGoSGyroDSU
go2-v0.1.1
Legion Go Gyro DSU Decky Plugin v0.2.2
Fixed
- Package the DSU backend in Decky's supported
py_modulesdirectory. - Fix
ModuleNotFoundError: No module named 'dsu_client'. - Allow the backend to start independently of Decky's working directory.
- Keep systemd-based service management for
lgsdsu.service.
Requirements
- Decky Loader
- LegionGoSGyroDSU installed as
lgsdsu.service - Legion Go 2 users should use LegionGoSGyroDSU
go2-v0.1.1