Dev Build v0.0.0-570-d87fcda
Pre-release
Pre-release
·
0 commits
to d85ddf74f2712590d4b51f6b01841b2fe3afc802
since this release
Automated development build.
All unreleased changes:
✨ New Features
- Experimental DualSense (and Edge) Emulation
thanks to @Alia5 - Experimental DualSense (and Edge) Emulation
thanks to @Alia5 - Nintendo Switch 2 Pro virtual device support
thanks to @Cookiekira - Nintendo Switch 2 Pro virtual device support
thanks to @Cookiekira - Windows: Add Tray Icon
thanks to @Alia5 - Windows: Add Tray Icon
thanks to @Alia5 - libVIIPER
thanks to @Alia5 - libVIIPER
thanks to @Alia5 - Add auto update
thanks to @Alia5 - Add auto update
thanks to @Alia5 - Breaking: Support XInput subtypes
thanks to @sanjay900 Alia5#10
thanks to @sanjay900 - Breaking: Support XInput subtypes
thanks to @sanjay900 Alia5#10
thanks to @sanjay900 - SECURITY: Authenticated/Encrypted API
- Unauthenticated is still possible on localhost-only.
- (Breaking) Remote clients are required to use auth/encryption
- Generated Clients have NO API-Change except for the ability to create clients with "password"
thanks to @Alia5 - SECURITY: Authenticated/Encrypted API
- Unauthenticated is still possible on localhost-only.
- (Breaking) Remote clients are required to use auth/encryption
- Generated Clients have NO API-Change except for the ability to create clients with "password"
thanks to @Alia5 - DS4 Emulation
thanks to @Alia5 - DS4 Emulation
thanks to @Alia5 - SteamDeck (Jupiter) Controller emulation
thanks to @Alia5 - SteamDeck (Jupiter) Controller emulation
thanks to @Alia5 - Windows: Detect gui launches and auto-run server in BG
thanks to @Alia5 - Windows: Detect gui launches and auto-run server in BG
thanks to @Alia5 - Add "ping" endpoint
thanks to @Alia5 - Add "ping" endpoint
thanks to @Alia5 - Add install command / scripts
thanks to @Alia5 - Add install command / scripts
thanks to @Alia5 - Breaking: Use int16 instead of int8 for mouse relative actions (dx, dy, wheel, pan)
thanks to @Alia5 - Breaking: Use int16 instead of int8 for mouse relative actions (dx, dy, wheel, pan)
thanks to @Alia5 - Add bus auto-cleanup
Configured by "ConnectionTimeout"
thanks to @Alia5 - Add bus auto-cleanup
Configured by "ConnectionTimeout"
thanks to @Alia5 - SDKs: Add disconnect callback
thanks to @Alia5 - SDKs: Add disconnect callback
thanks to @Alia5 - Add prerequisites Check
thanks to @Alia5 - Add prerequisites Check
thanks to @Alia5 - Breaking: Refactor API / transport (more flexible)
- Breaking: Return Proper problem+json errors from API (http like)
- Breaking: Better device_add response (json)
- User defined VID/PID (optional)
- (misc) Update examples
thanks to @Alia5
- Breaking: Refactor API / transport (more flexible)
- Breaking: Return Proper problem+json errors from API (http like)
- Breaking: Better device_add response (json)
- User defined VID/PID (optional)
- (misc) Update examples
thanks to @Alia5
- Auto attach devices on localhost
thanks to @Alia5 - Auto attach devices on localhost
thanks to @Alia5 - Typescript SDK Gen
thanks to @Alia5 - Typescript SDK Gen
thanks to @Alia5 - C# SDK Gen
thanks to @Alia5 - C# SDK Gen
thanks to @Alia5 - Add SDK CodeGen
Initially C
(Largely vibecoded, lol)
thanks to @Alia5 - Add virtual keyboard
- Add virtual mouse
🐛 Fixes
- Move to wall-clock based report timestamps
thanks to @Alia5 - Move to wall-clock based report timestamps
thanks to @Alia5 - Fix DS4 Emulation, add metadata handling
- Fix Gyro-Stutter
- Fix Triggers
thanks to @Alia5 - Fix DS4 Emulation, add metadata handling
- Fix Gyro-Stutter
- Fix Triggers
thanks to @Alia5 - WinInstall: Fix USBIP-Win2 driver detection
thanks to @Alia5 - WinInstall: Fix USBIP-Win2 driver detection
thanks to @Alia5 - Fix xbox360 capability request
thanks to @Alia5 - Fix xbox360 capability request
thanks to @Alia5 - Handle usbGetStatus
thanks to @Alia5 - Handle usbGetStatus
thanks to @Alia5 - Fix LangIDs
thanks to @Alia5 - Fix LangIDs
thanks to @Alia5 - Windows: Install-Script: Fix updating
thanks to @Alia5 - Windows: Install-Script: Fix updating
thanks to @Alia5 - Fix busCreate with id 0 not choosing next free bus
thanks to @Alia5 - Fix busCreate with id 0 not choosing next free bus
thanks to @Alia5 - Windows-Install: Fix VIIPER server closing upon terminal close
thanks to @Alia5 - Windows-Install: Fix VIIPER server closing upon terminal close
thanks to @Alia5 - Fix install scripts and docs
thanks to @Alia5 - Fix install scripts and docs
thanks to @Alia5 - Fix excessive CPU usage
thanks to @Alia5 - Fix excessive CPU usage
thanks to @Alia5 - Disable nagles algorithm
thanks to @Alia5 - Disable nagles algorithm
thanks to @Alia5 - Fix: free bus IDs not getting re-used
thanks to @Alia5 - Fix: free bus IDs not getting re-used
thanks to @Alia5 - Exclude C sdk build folder from artifact
thanks to @Alia5 - Exclude C sdk build folder from artifact
thanks to @Alia5 - Fix Xbox360 Controller reports
- Fix Xbox360 Controller reports
- Fix go package
thanks to @Alia5 - Fix go package
thanks to @Alia5 - Breaking Fix missing underscores in C SDK constants
thanks to @Alia5 - Breaking Fix missing underscores in C SDK constants
thanks to @Alia5 - Fix client using incorrect path
🔧 Miscellaneous
- Improve device emulation efficiency
- Default to data-driven, immediate, updates
- Turn off write-batching by default
thanks to @Alia5
- Improve device emulation efficiency
- Default to data-driven, immediate, updates
- Turn off write-batching by default
thanks to @Alia5
- Default server command
thanks to @Alia5 - Default server command
thanks to @Alia5 - Add log level alias
thanks to @Alia5 - Add log level alias
thanks to @Alia5 - Introduce golangci-lint and make linter happy
- Breaking: Go users will experience breaking changes due to renamings
thanks to @Alia5 - Introduce golangci-lint and make linter happy
- Breaking: Go users will experience breaking changes due to renamings
thanks to @Alia5 - Windows: Update install script / USBIP-Driver
thanks to @Alia5 - Windows: Update install script / USBIP-Driver
thanks to @Alia5 - Update dotnet 8.0 -> 10
thanks to @Alia5 - Update dotnet 8.0 -> 10
thanks to @Alia5 - Remove C API client
thanks to @Alia5 - Remove C API client
thanks to @Alia5 - Configurable write batching time
thanks to @Alia5 - Configurable write batching time
thanks to @Alia5 - Windows: log to file in autorun config
thanks to @Alia5 - Windows: log to file in autorun config
thanks to @Alia5 - Linux install script: handle updates more gracefully
thanks to @Alia5 - Linux install script: handle updates more gracefully
thanks to @Alia5 - SDKs: add rust client
thanks to @Alia5 - SDKs: add rust client
thanks to @Alia5 - Breaking: SDKs: Eliminate (most) fixed size buffers
- Let user allocate device specific sized buffers
thanks to @Alia5
- Let user allocate device specific sized buffers
- Breaking: SDKs: Eliminate (most) fixed size buffers
- Let user allocate device specific sized buffers
thanks to @Alia5
- Let user allocate device specific sized buffers
- Add windows meta-info and Icon
thanks to @Alia5 - Add windows meta-info and Icon
- Breaking Switch to \0 terminated transport
thanks to @Alia5 - Breaking Switch to \0 terminated transport
thanks to @Alia5 - Improve go api-client.
thanks to @Alia5 - Support file based configs
- Add Docs (on GH-Pages)
Install / Update
Windows (DS4Windows)
Install with the signed DS4Windows all-in-one installer,
or use Settings > VIIPER Virtual Controller Support >
Install / Repair. The standalone Windows script is
developer-only so it cannot create a competing backend.
Linux
curl -fsSL https://raw.githubusercontent.com/DualSenseClient/VIIPER/main/scripts/install.sh | shInstalls / updates to /usr/local/bin/viiper