Releases: abduct/vixen
Release list
ViXEn PSTV Controller Support Preview 1
ViXEn PSTV Controller Support Preview 1
This is a fork integration preview combining several controller-related changes that are currently pending upstream review.
It is not an official upstream ViXEn release.
Included changes
PSTV controller port allocation
Improves controller allocation on PlayStation TV so USB controllers managed by ViXEn do not collide with native PlayStation controller ports.
The allocator dynamically reserves ports occupied by native DS3/DS4 controllers and assigns ViXEn controllers to available PSTV controller ports.
8BitDo Ultimate 2 Wireless — DInput
Adds support for the 8BitDo Ultimate 2 Wireless controller in DInput mode.
Supported USB IDs:
2dc8:6012— active DInput controller2dc8:6013— idle/unpaired receiver
The idle receiver is handled without creating a phantom controller slot or showing an unsupported-device notification.
8BitDo Ultimate 2 Wireless — XInput
Adds support for the 8BitDo Ultimate 2 Wireless controller in XInput mode:
2dc8:310b
The Ultimate 2 exposes a composite USB device, so the driver locates the Xbox 360-compatible ff/5d/01 interface and performs the receiver initialization sequence required before normal Xbox 360 input reports begin:
- SET_CONFIGURATION
- SET_INTERFACE, alternate setting 0
- Interrupt OUT packet
01 03 02 - Begin interrupt IN reads
The standard ViXEn Xbox 360 report parser is used after initialization.
Hardware testing
This exact binary was tested on a PlayStation TV with two 8BitDo Ultimate 2 Wireless controllers and a native DualShock 4.
Validated configurations include:
- One Ultimate 2 in XInput mode
- Two Ultimate 2 controllers simultaneously in XInput mode
- Ultimate 2 DInput mode
- DInput receiver lifecycle
6013 -> 6012 -> 6013 - Mixed XInput + DInput controllers
- Two Ultimate 2 controllers plus native DualShock 4
- Dynamic PSTV controller allocation
- Controller disconnect/reconnect
- Receiver disconnect/reconnect
- Application/game transitions
- RetroArch
- Reboot
- Shutdown
No crashes, freezes, unsupported-device notifications, or controller-port collisions were observed during the completed test matrix.
Known limitations
- PS/Home behavior on a second ViXEn-managed controller appears to be an existing ViXEn/PSTV limitation and is not introduced by the Ultimate 2 support.
- Some unpowered USB hubs may not enumerate their downstream devices correctly when already connected during a cold PSTV boot. Reconnecting the entire hub restores enumeration. This appears separate from ViXEn controller support.
Installation
Copy vixen.skprx to the location used by your existing ViXEn installation and ensure the plugin is loaded from ur0:tai/config.txt.
Back up your existing plugin and configuration before replacing anything.
A reboot is required after replacing the kernel plugin.
Build
Integration commit:
4b92761d34a27acdb8a23671dc36d6384709e64d
SHA-256 of the attached vixen.skprx:
f11f3fb061f26d50b27fb6fa9480671449a1099671c5c7e4c5e94aa14b4af05c
Pending upstream changes
- #24 Fix PSTV controller port allocation and stale USB slots
- #25 Add 8BitDo Ultimate 2 Wireless DInput support
- #26 Fix XInput interface discovery and add 8BitDo Ultimate 2 XInput support
AI assistance
AI assistance was used during investigation, implementation, debugging, code review, test planning, and documentation.
All controller functionality described above was validated on physical PlayStation TV and 8BitDo Ultimate 2 Wireless hardware.