MyrikLD / LinusTrinus

TrinusVR streaming server for Linux
127 stars 16 forks source link

Direct rendering to PSVR display? #14

Closed mungewell closed 3 years ago

mungewell commented 3 years ago

Hi, Interesting to see that someone is progressing VR on Linux...

I was instrumental in reverse engineering the PSVR and have had a python script for controlling the device for some time: https://github.com/mungewell/pyPSVR

This script can enable the screen into Cinema or VR mode, and (under Windows) could use VRidge-API to send gyro-data to SteamVR using the code under 'example4' directory. I would be ecstatic if it could do similar under Linux.

The main requirements would be: 1). LinuxTrinus rendering full screen to the 2nd monitor (which is the output to PSVR). 2). LinuxTrinus providing some portal to let my code send headset position/rotation.

The VRidge-API uses packed data packets (defined with protobuf) and ZeroMQ protcol, I'd be happy to adapt to whatever this project would need.

I did an example video of Windlands showing roughly how it works: https://www.youtube.com/watch?v=411_nbcAnHk

Cheers, Simon.

MyrikLD commented 3 years ago

Hi! I have not been involved in this project for a long time, since I could not achieve sufficient performance (quality / speed). I think I settled on the need for direct rendering.

  1. I didn't solve this problem, I just grabbed the image from the steamvr window. Is redirecting the game output to another display not enough? DISPLAY: = 2
  2. I think I can implement the VRidge transmission protocol if you need it (if display works)
mungewell commented 3 years ago

Thanks for the reply, but honestly if you've moved on to other things go enjoy them.

I had pretty good luck with SteamVR-openHMD.

ChristophHaag commented 3 years ago

You may also be interested in Monado's new SteamVR plugin https://monado.freedesktop.org/steamvr.html

it (optionally) supports positional tracking with a ps4 camera and some manual setup https://monado.freedesktop.org/positional-tracking-psmove.html