Skip to content

Releases: Alia5/VIIPER

Dev Build v0.7.0-7-g88f66f1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Jun 18:16

Automated development build.
⚠️ These are the latest development builds and may contain bugs or unfinished features.

Changes since v0.7.0:

🐛 Fixes

  • Move to wall-clock based report timestamps

🔧 Miscellaneous

  • Improve device emulation efficiency
    • Default to data-driven, immediate, updates
    • Turn off write-batching by default

Install / Update

Windows (PowerShell)
irm https://alia5.github.io/VIIPER/main/install.ps1 | iex

Installs / updates to %LOCALAPPDATA%\VIIPER\viiper.exe

Linux
curl -fsSL https://alia5.github.io/VIIPER/main/install.sh | sh

Installs / updates to /usr/local/bin/viiper

VIIPER v0.7.0

Choose a tag to compare

@github-actions github-actions released this 01 Jun 19:58

Changes since v0.6.1:

✨ New Features

  • Experimental DualSense (and Edge) Emulation
  • Nintendo Switch 2 Pro virtual device support
    thanks to @Cookiekira

🐛 Fixes

  • Fix DS4 Emulation, add metadata handling
    - Fix Gyro-Stutter
    - Fix Triggers

🔧 Miscellaneous

  • Default server command
  • Add log level alias
  • Introduce golangci-lint and make linter happy
    - Breaking: Go users will experience breaking changes due to renamings

Install / Update

Windows (PowerShell)
irm https://alia5.github.io/VIIPER/stable/install.ps1 | iex

Installs / updates to %LOCALAPPDATA%\VIIPER\viiper.exe

Linux
curl -fsSL https://alia5.github.io/VIIPER/stable/install.sh | sh

Installs / updates to /usr/local/bin/viiper

VIIPER v0.6.1

Choose a tag to compare

@github-actions github-actions released this 12 May 19:20

Changes since v0.6.0:

🐛 Fixes

  • WinInstall: Fix USBIP-Win2 driver detection
  • Fix xbox360 capability request
  • Handle usbGetStatus
  • Fix LangIDs

Install / Update

Windows (PowerShell)
irm https://alia5.github.io/VIIPER/stable/install.ps1 | iex

Installs / updates to %LOCALAPPDATA%\VIIPER\viiper.exe

Linux
curl -fsSL https://alia5.github.io/VIIPER/stable/install.sh | sh

Installs / updates to /usr/local/bin/viiper

VIIPER v0.6.0

Choose a tag to compare

@github-actions github-actions released this 28 Apr 19:06

Introducing libVIIPER

libVIIPER is a fully embeddable/linkable is a shared library that provides a full VIIPER USBIP server and all device-emulation code directly into your application (in Windows and/or Linux).

It is fully thread-safe and offers a pure C API, so it does work with every language that can utilize Cs FFI (C, C++, C#, Rust, Go, etc...).
Examples are provided for C and C#

To demonstrate, a minimal example is provided below.
This is all you need to emulate an exemplary Xbox 360 controller in software that is indistinguishable from real hardware.

USBServerConfig conf = { .addr = "localhost:3245" };
USBServerHandle serverHandle = 0;
NewUSBServer(&conf, &serverHandle, logCallback);

uint32_t busID = 0;
CreateUSBBus(serverHandle, &busID);

Xbox360DeviceHandle deviceHandle = 0;
CreateXbox360Device(serverHandle, &deviceHandle, busID, /*autoAttach=*/true, 0, 0, 0);

SetXbox360RumbleCallback(deviceHandle, rumbleCallback);

uint64_t frame = 0;
Xbox360DeviceState state = {0};
while (running) {
    frame++;
   
    state.Buttons = XBOX360_BUTTON_A;
    state.LT = (uint8_t)((frame * 2) % 256);
    state.RT = (uint8_t)((frame * 3) % 256);
    state.LX = (int16_t)(20000.0 * sin(frame * 0.02));
    state.LY = (int16_t)(20000.0 * cos(frame * 0.02));
    SetXbox360DeviceState(deviceHandle, state);
    _sleep(16);
}
// CloseUSBServer handles cleanup of the device handles for you.
CloseUSBServer(serverHandle);

You can learn more from the documentation here


Changelog:

✨ New Features

  • Windows: Add Tray Icon
  • libVIIPER

🔧 Miscellaneous

  • Windows: Update install script / USBIP-Driver
  • Update dotnet 8.0 -> 10

Install / Update

Windows (PowerShell)
irm https://alia5.github.io/VIIPER/stable/install.ps1 | iex

Installs / updates to %LOCALAPPDATA%\VIIPER\viiper.exe

Linux
curl -fsSL https://alia5.github.io/VIIPER/stable/install.sh | sh

Installs / updates to /usr/local/bin/viiper

VIIPER v0.5.0

Choose a tag to compare

@github-actions github-actions released this 21 Mar 16:26

Changelog for Version 0.5.0

Changes since v0.4.1:

✨ New Features

  • Add auto update
  • Breaking: Support XInput subtypes
    thanks to @sanjay900 #10

Install / Update

Windows (PowerShell)
irm https://alia5.github.io/VIIPER/stable/install.ps1 | iex

Installs / updates to %LOCALAPPDATA%\VIIPER\viiper.exe

Linux
curl -fsSL https://alia5.github.io/VIIPER/stable/install.sh | sh

Installs / updates to /usr/local/bin/viiper

VIIPER v0.4.1

Choose a tag to compare

@github-actions github-actions released this 31 Jan 04:21

Changelog for Version 0.4.1

Changes since v0.4.0:

✨ New Features

  • 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"

🔧 Miscellaneous

  • Remove C API client
  • Configurable write batching time

VIIPER v0.4.0

Choose a tag to compare

@github-actions github-actions released this 16 Jan 23:28

Changelog for Version 0.4.0

Changes since v0.3.2:

✨ New Features

  • DS4 Emulation

🐛 Fixes

  • Windows: Install-Script: Fix updating

🔧 Miscellaneous

  • Windows: log to file in autorun config

VIIPER v0.3.2

Choose a tag to compare

@github-actions github-actions released this 31 Dec 11:10

Changelog for Version 0.3.2

Changes since v0.3.1:

✨ New Features

  • Windows: Detect gui launches and auto-run server in BG

🐛 Fixes

  • Fix busCreate with id 0 not choosing next free bus
  • Windows-Install: Fix VIIPER server closing upon terminal close

🔧 Miscellaneous

  • Linux install script: handle updates more gracefully

VIIPER v0.3.1

Choose a tag to compare

@github-actions github-actions released this 21 Dec 23:11

Changelog for Version 0.3.1

Changes since v0.3.0:

🐛 Fixes

  • Fix install scripts and docs

VIIPER v0.3.0

Choose a tag to compare

@github-actions github-actions released this 20 Dec 16:31

Changelog for Version 0.3.0

Changes since v0.2.2:

✨ New Features

  • Add "ping" endpoint
  • Add install command / scripts
  • Breaking: Use int16 instead of int8 for mouse relative actions (dx, dy, wheel, pan)

🐛 Fixes

  • Fix excessive CPU usage
  • Disable nagles algorithm
  • Fix: free bus IDs not getting re-used