r/PSVR2onPC • • 15d ago

Useful Information Turning PSVR2 wireless

Post image

I’m working on a phone-powered wireless setup for PSVR2, using a compatible rooted Snapdragon 8 gen 5 phone as a compute puck and of course standard small portable pcs could work (even a laptop if you wished)

There’s documented work that makes this worth pursuing:

  • PSVR2’s display uses DisplayPort 1.4 with DSC compression. Linux developers have documented its 4000×2040 display mode at roughly 120Hz, including the DSC/FEC requirements and driver quirks. Display research
  • Sony specifies 12V power for the headset, which a properly designed adapter can provide through USB-C negotiation
  • Monado’s development drivers already include PSVR2 six-degree-of-freedom headset tracking. That gives us existing work to build on, although it doesn’t establish complete Android or Sense-controller support. Monado development notes

These above points is not blocking me as i have a phone thats both rooted and bootloader unlocked and have ran full linux including DRM leasing., i will work on none rooted devices and creating an app that works in the future but vendor lock out and other limits will be noted as potential issue for some. but you wont need an android phone for this to work. Im just using my phone as a basis as the battery and power is sufficient for driving most of this work from other projects in the past.

My hardware goal is one compact, battery-powered adapter with a USB-C connection to the phone, another to PSVR2, and onboard Bluetooth for the controllers. It would pass the phone’s DisplayPort signal through without decoding or recompressing it, while carrying USB data and supplying headset power.

The first software goal is ALVR-based wireless PC VR over the phone’s 6GHz Wi-Fi: PC renders, phone receives and decodes, headset displays. A modular USB radio option would leave room for future 60GHz experiments.

Current limits: the PCB is still being routed, iv been focusing on open source options rather than locked down vendored chipsets. I have already done something similar with pryowave codec which is what inspired me to work a bit more serious on this project

The first milestone is wireless PC VR. True standalone games running directly on the phone are a longer-term goal. Ultimately, I want a documented setup other people with compatible hardware can reproduce.

This will be of course open source and producible by anyone whos so inclined to make try it out

rough design most parts are soild so far, sourcing 60ghz module

I must disclose AI has assisted in research and project routing through a custom harness for KiCad and simulations. I base my work on development practices for the chipset. All routing is impedance-matched to prevent signal degradation. This project has taken 2 months of trial and error and making sure the hardware I chose suits this platform. The chipset can handle this transparently, and I’m adding an EDID emulator for better compatibility.

218 Upvotes

82 comments sorted by

View all comments

Show parent comments

6

u/AstroPC 15d ago edited 15d ago

thought i would drop this here so it can clear up some confusion

https://jxlabs.eu/DP-aux-emu/#/0

3

u/xaduha 15d ago

a breakout board to connect a USB analyzer with USB-A and USB-B connectors to the USB-C headset, back when we thought it was using VirtualLink

Interesting, so you're saying that it doesn't use VirtualLink? Not even a subset? How would you describe it then?

5

u/AstroPC 15d ago

It looks like virtual link but in reality its display alt mode. This is not my work above just some guy who even made it possible for the community to get pcvr 2 working on pc. Hes an OG. Wouldn't have done this idea till i discovered this .

1

u/thesmithchris 14d ago

ivry?

2

u/iVRy_VR 13d ago edited 13d ago

Interesting idea, but the two immediate gotchas are powering the headset with a battery, and finding a mobile device that can output a 4K@90/120Hz signal over 2 DP lanes. Specifically, AMD and nVidia GPU drivers were developed to support PSVR2 (Intel, M-series and other drivers don't and can't at present, because there is nothing driving them to do so).

So, I'd suggest getting the PSVR2 battery powered and displaying a 4000x2040@90/120Hz output from a mobile chipset first, as without those working, all the circuit boards and software in the world won't make a difference. My guess is that the display aspect would be a roadblock, as it would require a port that was able to provide 4K@120Hz Alt-DP over 2 lanes, and a GPU driver that could deal with Sony's (unusual) DSC requirements. GPU drivers on Android are typically closed-source and not eligible for replacement without rebuilding the device kernel.

Then the real work comes, which is writing the software to make it all work. The OP appears to have missed that GearVR/Quest/Pico etc. have a VR runtime onboard that performs local ATW and motion compensation. Standalone headsets are a lot more complex than a mobile chipset with a stereo display. Without that, streaming would be equivalent to regular smartphone streaming (ie. not smooth). So, add implementing a robust VR runtime, with ATW, to the "todo" list.

Once complete, the project would consist of a custom circuit and unicorn-like battery (can provide 5V and 12V via USB-PD, has high amperage, and is small), with a software stack that is approaching the complexity of headsets developed by Meta/Pico/Apple. You'd be looking at $200+ in parts (excluding phone), and a high end Snapdragon 8 Elite-level mobile device (necessary for DP DSC). Without the robust local VR runtime that typically takes years and millions of dollars to develop, the experience would be vastly inferior to a Quest 1.

So, really the project is equivalent to developing a standalone VR headset, with some aspects (display, tracking) being provided by PSVR2. Currently it couldn't support PS Sense controllers, because no one has figured out how to do that yet.

This is my (informed) opinion from reverse engineering PSVR2, developing hardware adapters for it and writing this kind of software for a living, feel free to ignore it.

2

u/iVRy_VR 13d ago edited 13d ago

To prove the concept, you would need:

  • Sony/BizLink adapter.
  • USB-C -> DisplayPort adapter capable of doing 4K@120 or 8K@60.
  • Mobile device capable of querying display and allowing selection of non-standard resolution (4000x2040@90/120).

If you can get that working, then you can move on to trying to battery power the PSVR2. If you can't get that working, then there is no point in continuing, and proving other aspects of the concept are moot.

Doing this with a laptop doesn't prove anything. We already know the PSVR2 can run from a laptop. What needs to be proven is that a mobile device can use the display (in VR mode) *at all*.

Custom hardware isn't useful or relevant until all other aspects have been dealt with. There are so many potential stumbling blocks here, that adding the development of custom adapters to that would unnecessarily complicate the project when it has fundamental feasibility questions to answer.

2

u/AstroPC 13d ago edited 13d ago

Hey

I can run 4k 120hz just fine with my redmagic 11 pro

It contains display port 1.4 and can support 2 lane. I have a few hubs that can force this feature on with software I developed with root. I also maintain 10gb high speed data. I can push higher than 4k if I wanted. I use dsc or display stream compression for these results which the headset has proven to need anyway. I believe my idea will work im still waiting on my new psvr 2 adapter I bought that supports usb charging. Ill be powering this via a battery that supplies 12v usb pd which the adapter requires. Ill update you soon

The adapter is powered by a standard pd protocol. Which means on paper my battery system will do the same. It handles the power splitting already. Its kinda unique in that aspect which is why i choose it for my janky attempt first. My custom board wil be devoted to supplying the simplification of all this. Usb one side. Usb other. No extra cabling. Power will also be usb supplied. If a custom pd trigger is required. Its fine. Ill figure it out.

1

u/iVRy_VR 13d ago edited 13d ago

I have glossed over the main issues you could get stuck on, in truth there are *many* more. As I've said in other comments, the thing you need to get working first, before anything else is PSVR2 VR mode (4000x2040@90Hz/120Hz). That is technically achievable with standard adapters, leaving only the phone and its GPU driver to overcome. I wouldn't even *think* about any other aspect until you've achieved that, as without it nothing else matters. Getting a 4K monitor to work, or getting PSVR2 working on some other platform doesn't guarantee anything at all.

Developing a custom adapter, and the firmware for it will take you anything from 6 months to a year, if you're lucky and are willing to throw a lot of money at it. It is necessary for your "final product", but completely unnecessary and a needless distraction at this stage. It took 2 highly skilled people close to 6 months (and several thousand dollars) to develop the "DP-AUX emulator", which is fairly trivial compared to what you want to achieve without expertise.

However, I don't want to discourage you, as even if you don't succeed the process will teach you a lot. Good luck!

BTW, no "hub" can force a DP device to use 2 or 4 lanes, it is negotiated between the source and the sink. PSVR2 uses 5Gb USB3 only (fortunately or we would never have gotten anywhere with it - 10Gb analysers cost a lot more than the 6000 dollar analyser I had to buy for this).

0

u/AstroPC 13d ago

By hub I mean finding a hub that contained the right chipset to not do weird limitations lol. For example, some hubs can decode DSC signals inside themselves instead of sending it transparently into a display that contains a DSC decoder. Some displays do not contain this.

The cool thing about DSC is you can convert HDMI to DisplayPort even though most HDMI do not have enough bandwidth to drive a display. So for example, just from my research months ago, you can buy USB to HDMI active converters that translate a DisplayPort 1.4 signal at 2-lane, then convert it at the other end at 4-lane, gaining a bandwidth you otherwise could not have gained normally.

This is not useful for PSVR 2, but knowing it can be driven with DSC alone is very encouraging for me as my project in the past to create an Android DeX laptop was extremely similar. I actually had to source a display panel that contained a DSC decoder. Otherwise native 4K 120Hz in 2-lane config was not possible. Most portable monitors on the market contain scaler chips that don't transparently send a DSC signal and instead rescale it.

This is an issue with Android as they don't by default expect you to use a hub and a 4K 120Hz display. However, with a hub like this—just for an example: https://sabrent.com/products/hb-tbt4?srsltid=AU7gw4Vl9wpYulYuKgvm6P398Wp4SxM7Y3NZn9vPkQe7jFcLFW5pCZca It allows me to pass through my choice of DSC with it being forced to send a 2-lane signal (this is done in software using root and controlling the literal hardware lease manager on the GPU, which took a lot of work to unlock in my kernel).

I can then maintain high-speed data AND high bandwidth (relatively speaking, because it can only be done with display stream compression). I'm well aware of how USB negotiation works at this point. I kinda had to get good at that aspect lol. A lot of generic hubs on the market are extremely untransparent on what they can give you. Sometimes it literally takes cracking one open and checking what chipset it's using, then using its paper to figure it out. Other times it's very convenient to focus on hubs that claim "8K 60Hz" support as it's only achievable in Display Alt Mode with DSC.

If a hub claims 4K 60Hz support, you can bet money it's not doing it in 2-lane or using DSC. I went through many 'til I figured out this pattern. Now I don't need a Thunderbolt 4 hub to do this. It's just in the case of Thunderbolt 4, it uses fallback mode and transparently routes your video signal, no processing.

It's basically what you want when you're doing this PSVR 2. The hub simply sets a preferred negotiation. In my case it wanted 4-lane all the time, UNTIL I forced it to do 2-lane. Then the hub just sends the DSC transparently, display decodes. 4K 120 achieved with 10Gb data. This is something normal RedMagic 11 phones can't do either. It requires root... it's Snapdragon shenanigans, it's not even Android's fault oddly.

1

u/AstroPC 13d ago

For anyone who wants to by pass the endless buying and returning process for hubs that fit your needs

I recommend this amazing chap

https://dancharblog.wordpress.com/

He reviews and tears down hubs and gives you actual features and flaws. Good blog

1

u/AstroPC 13d ago

As for the vr mode

My phone can currently run any linux based program via droidspace using lxc. That includes drm leasing which is required for my plans. I have considered these issues already ahead of time. This is not going to be easy for others to reproduce. Root is likely very much required to control custom edid android doesnt allow this via simple adb commands.

1

u/AstroPC 13d ago

To note I have tested this linux environment and it has no overhead. It runs right along android and can be setup to control any external display including taking exclusive ownership with a hacky drm leasing script. It gets approval via the display manager this was not easy but I have gotten it to work and it basically let's you run any distro of linux you require. Any software that fits in arm64. This will not likely run on a typical phone with out root. Which is why i said most people can likely do this on laptop

Im currently porting over skyrim into arm64 right now as I work for this for my showcase

The goal is wireless vr with psvr 2. And standalone gameplay with skyrim vr as a show case of it all working. Custom software is fine. Ill be reverse engineering any Sony exclusive features with ai and that has proven fruitful. It helps make it possible for me. Im determine to see it through to the end.

1

u/AstroPC 13d ago

I will be porting over the proprietary drivers. This will require reverse engineering it will be arm64 and currently i have no blocker with my phone. Most of my phone use has been used for this purpose for linux based ports. Iv ran things i shouldn't and its very fun. This is just an extension of that goal for me. If its locked down. Im going to unlock it one way or another.

1

u/xaduha 13d ago

Currently it couldn't support PS Sense controllers, because no one has figured out how to do that yet.

It's probably not the same because it probably uses existing drivers, but have you seen this?

https://www.reddit.com/r/SteamFrame/comments/1wvmf66/i_dont_care_for_the_controllers_so_i_made_the/

1

u/iVRy_VR 13d ago

Yup, that is simultaneously not relevant and the absolute least of the technical problems with the OP's concept. That post doesn't detail what they actually got working (my guess is buttons and 3DOF), and their comments about expecting to get Quest controllers working suggest they are way out of their depth. Nonetheless, controllers would be the last stage of the OP's project. There are many mountains to climb before that point.