Open CJendantix opened 5 months ago
There is no wired support at the moment.
If you want to use adb, the headset will need to connect to port 9757 on both TCP and UDP.
It should also be able to see mDNS messages, or be launched manually with the wivrn://host-address
intent. This should be a command like adb shell am start -a android.intent.action.VIEW -d "wivrn://${ADDRESS}" org.meumeu.wivrn
Just curious, but would it be possible to use libusb to handle such connection? There seems to be an USB accessory mode for Android, then to connect that to the USB server on PC side...
I have been told that Quest does not expose accessory mode. I don't know for other headsets.
There does not seem to be a way to pass UDP traffic via adb USB tunneling without extra software. The solutions I've seen would negate the value of using UDP; if it needs to be tunneled and then subject to the same scheduling challenges it's not worth it.
There might be another mechanism to transfer data via the USB tether.
Since v.015 it is possible to use adb port forwarding and TCP-only mode:
In configuration file:
{
"tcp_only": true
}
On server side setup port forwarding:
adb reverse tcp:9757 tcp:9757
On headset make sure the application is closed, then launch it through command line:
adb shell am start -a android.intent.action.VIEW -d "wivrn://localhost" org.meumeu.wivrn
Just gave that a try and it works perfectly. One thing, with ALVR, you only need to set up the adb port forwarding for the wired setup to work. Could we try to get it to that level of simplicity in here too? Maybe a toggle which sets WiVRn to stream over localhost like how you can in ALVR? https://github.com/alvr-org/ALVR/wiki/ALVR-wired-setup-(ALVR-over-USB)
I don't know much about this project (I've only barely gotten it to work) but could you either 1. add a wired config option, or 2. tell me how to route it with adb?