PSVR2 on FW16

I couldn’t try connecting the Sony PSVR2 adapter directly to the dGPU since I didn’t have a USB-C to DisplayPort 1.4 cable. I also confirmed that the USB-C port on the back of the RX 7000 series card in the Framework 16 will never support the PSVR2 directly without the Sony powered adapter since it requires a technology called VirtualLink that apparently only existed on the AMD Radeon RX 6000 series and the Nvidia GeForce RTX 20xx series cards and they never implemented it again so sadly the dGPU being an RX 7000 series won’t ever support it directly.

I ordered this USB-C to DP 1.4 cable from Amazon (https://amzn.to/4dQBM4Y) yesterday for ~$15 and it just showed up today so I could test connecting the DP port on the Sony PSVR2 adapter directly to the USB-C dGPU port on the back of the Framework 16 laptop to see if it resolved my issues.

I’m happy to report that this USB-C to DP 1.4 cable resolves 100% of the VR issues that I was fighting with yesterday! Now when I open the PSVR2 setup app to configure your VR Room Environment you can see everything through the headset and complete setup correctly. I can also confirm that now every game starts on the dGPU and displays properly in the VR headset along with the Steam Environment and the Sony PSVR2 Room Setup app which didn’t happen before since the room setup would try to run on the dGPU and not be visible through the headset while SteamVR would run on iGPU and be visible through the headset and games would run on iGPU making them visible through the VR headset but they would run super slow. Now everything opens on the dGPU that is VR related and you never see that pesky warning on Steam VR Monitor saying you’re VR headset isn’t connect to the right GPU anymore.

I’m also happy to report that the other big issue I had was resolved where the Framework 16 laptop screen would be blank when you resume from sleep or boot/reboot the Laptop while the PSVR2 Adapter DP cable was connected to the DP 1.4 module on the side of the laptop. When the Sony PSVR2 adapter is connected to the USB-C to DisplayPort 1.4 cable plugged directly into the dGPU the laptop resumes from sleep and boots into window with the laptop screen staying on and the primary display which is the expected behavior. Honestly, this cable solved every issue I had.

I really hope people find this thread before they tear their hair out like I did trying to figure out why their VR headset connected to the DP 1.4 port module on the side of their Framework 16 laptop could only display things running on the iGPU, and not the dGPU despite the laptop screen itself clearly showing the VR game/app in a preview window regardless of which GPU it was running on. Also, it was strange that Windows would run some VR apps like the Steam VR home room on iGPU but then would run the Sony PSVR2 setup on the dGPU. Now with the PSVR2 plugged into the dGPU on the back of the laptop with the new cable everything VR related runs on the dGPU and you can even confirm this by adding the “3D Engine” column under task manager process details and looking at all the VR processes which is how I was able to determine which GPU things were running on while experimenting yesterday trying to get the DP 1.4 Module to work with the Sony PSVR2 properly.

I’m not sure if this would be possible but it would be great if Framework could somehow figure out how to allow the end user to select which GPU they would like as their primary GPU and that would be the one that outputs though the DP 1.4 port module on the side of the unit. Or, even better yet, an option in UEFI setup that would just let you select which GPU is output to which DP/HDMI module on the side of the laptop. I’m not quite sure if this is possible the way things are routed but it never hurts to ask. However, there is a workaround to this entire problem by just buying a $15 cable that works like an absolute dream. The only drawback is that you can’t play games on the iGPU to save power in VR once you connect to the dGPU USB-C port just like you couldn’t play on the dGPU while connected to the DP module on the side. I don’t see this as a big problem though since most VR games need more power than the iGPU provides to run optimally and you already have to plugin the Sony PSVR2 adapter since it requires 12v power to run the HMD so wherever you’re playing VR you’ll have to be near power anyways so you might as well just plugin the Framework laptop also, right?

I can now say I’m 100% happy with my PSVR2 experience so far on my Framework 16 now that I’ve figured out that I needed this $15 USB-C to DisplayPort 1.4 cable (https://amzn.to/4dQBM4Y) connected to the USB-C port on the back of the laptop running directly off the dGPU (Radeon RX 7700HX). Also, the other plus side is that with this USB-C to DP 1.4 cable you can plug in another external DP monitor when you’re not using VR and then you can use the DP/HDMI module on the side of your Framework 16 to run a secondary external monitor if you want to use your laptop as a desktop workstation when at home. Actually, now I’m wondering just how many external screens you could run with this thing in theory if you got creative with modules & USB-C thunderbolt hubs? :thinking:

TL;DR Section

  1. Buy this USB-C to DisplayPort 1.4 cable (https://amzn.to/4dQBM4Y)
  2. Buy this Sony PSVR2 PC adapter (Buy PlayStation®VR2 PC Adapter | PlayStation® (US))
  3. Connect USB-C to DisplayPort 1.4 cable between the USB-C port on the back of your Framework 16 laptop (NOT SIDE MODULE) and your PSVR2 Adapters Displayport
  4. Open Steam and install SteamVR App
  5. Also Install Playstation VR2 App while in Steam
  6. Run Playstation VR2 App and follow all directions on screen

If you followed these steps then your PSVR2 should be working perfectly and fully utilizing your AMD Radeon RX 7000HX series dGPU in your Framework 16 laptop instead of the iGPU which will be used if you try to plug DP from PSVR2 adapter into one of the DisplayPort modules on the side of the laptop. You’ll also notice that your Laptop will now resume from sleep and boot into Windows without any black screen issues which occur when you try to run PSVR2 off DP 1.4 module on side of Framework 16 laptop.

Enjoy!

3 Likes

I’m glad it worked for you! Hoping to get mine setup shortly, though I only have a regular DisplayPort to DisplayPort cable. Did you try using the Framework DisplayPort Module on the dGPU port on the back?

1 Like

Awesome! Could you post a photo of the complete wiring? I’m just curious, but others could use it for reference :slight_smile:

1 Like

I would be happy too @Gmanny!

  1. Plug USB-C to DP 1.4 cable (Link above a few posts) into USB-C port back of Framework 16 and DP Port on PSVR2 Adapter
  2. Fixed USB-A cable from PSVR2 Adapter box plugged into USB-A port on Framework 16 (or USB-C with adapter)
  3. PSVR2 Headset USB-C cable plugged into to USB-C port on PSVR2 Adapter box
  4. PSVR2 12v AC/DC Power plugged into PSVR2 power port via barrel plug (included with PSVR2 adapter)

The only thing you need to make PSVR2 work perfectly on the Framework 16 using the dGPU is the USB-C to DP 1.4 cable (~$15 linked in my last post) and the Sony PSVR2 adapter (Also linked in last post) since the only GPU’s that support plugging the PSVR2 directly into a USB-C port are the AMD Radeon RX 60xx series and Nvidia GeForce RTX 20xx series GPU’s because they supported a technology called VirtualLink which was discontinued after that generation of GPU’s because just not enough people utilized it. That is why you see some people saying that they can get PSVR2 working by just plugging the USB-C straight from the headset into their PC which is confusing.

If you have any more questions, feel free to ask! The USB-C to DP 1.4 cable and PSVR2 adapter solved all my problems on the Framework laptop and will also solve any problems people have getting PSVR2 working on their desktop computers also since they have the same exact problem if they are running newer generation GPU’s that don’t support VirtualLink.

I should also mention that if you plug the USB-C to DP 1.4 cable into the USB-C module on the side of the Framework 16 (instead of the USB-C on the back coming off the dGPU) it will have the same exact problem as plugging into a DP module where it just shows the SteamVR environment and never the game that is actually running.

So, if you plan to use an external display for gaming with your Framework 16 laptop I would advise you also get this USB-C to DP 1.4 cable and plug it into the back of the Framework 16 laptop so that your external display will be running directly off the dGPU. If you just plug the external screen into the side of the DP module on the side of the Framework 16 laptop it will be running off the much slower iGPU. This will be important for people who use this laptop for LAN parties where they want to use a bigger screen, etc.

So, if you see anyone in other threads talking about not being able to get their external screen to use the dGPU just direct them to this thread or give them this information so they know which cable to get to make it work correctly. And if you have an older VR headset that uses HDMI or a screen that uses HDMI instead of DisplayPort you can get this cable for around the same price to support HDMI instead of DisplayPort.

Just make sure you get the right USB-C to HDMI cable that supports 4k/144hz (ThunderBolt 4) because a lot of the cheaper cables only support 4k@60 which might be enough for the display you’re using but won’t be enough for any modern VR HMD like Valve Index or Rift. The Framework 16 dGPU is more than powerful enough for 4k/120hz if your screen supports it.

USB-C to HDMI (Thunderbolt 4) – Only for external HDMI screens, not for PSVR2
https://amzn.to/3B3J5Yy

USB-C to DP 1.4 – For PSVR2 & DisplayPort external screens
https://amzn.to/47tTqJE

I hope this clarifies everything for anyone that wants to use PSVR2 or external displays with Framework 16 laptop fully utilizing the dGPU rather than the much slower iGPU. And if you’re using an external display somewhere where you can’t plugin your laptop then just plug the USB-C side of the DP or HDMI cable into the side module rather than the port on the back of the laptop to get it to use the iGPU and conserve power. This would be useful for when you want to just connect to someone elses screen or TV to do something and you don’t want to plugin the laptop since the dGPU will take the battery down MUCH faster since it’s very power hungry given the performance.

I’m still not 100% sure how the Framework 16 built in screen is able to show both iGPU and dGPU apps/games on the same screen both in Window and Fullscreen mode without any issues. It would be awesome if they could figure out how to get the HDMI/DP modules plugged into the side of the Framework laptop to behave the same way so nobody needs any special USB-C Thunderbolt DP/HDMI cables to utilize the dGPU with external displays and VR headsets. But, until that happens this cable is the solution and you can simply change ports to determine which GPU is utilized to drive the screen.

Oh, and one more thing while I’m on this topic. If you want to force an application or game to run on iGPU or dGPU specifically instead of letting Windows 11 decide which is best you can open the System > Display > Graphics menu and select the app or game you want to change (or add it if it’s missing by it’s .exe) and go into options and directly force the GPU you want it to run on. Just be warned that this doesn’t work 100% of the time and sometimes the AMD Adrenaline software will take control and pick the GPU it wants despite these settings, and I haven’t figured out how to disable that behavior just yet (I’m new to AMD stuff). This is how I was able to get Beat Saber to work on PSVR2 without the USB-C to DP 1.4 cable I talked about earlier but running on the iGPU it’s too slow to actually play due to the frame drop and it can make you feel sick so I don’t recommend it. But, if you want to run a VR experience that the iGPU is more than powerful enough to handle then you can give it a try if you don’t have the cable. But, none of the VR experiences I’ve tried ran at a comfortable framerate even with display settings turned way down using the iGPU since it’s so low powered and on purpose to preserve battery life while using the laptop unplugged for business stuff.

Where to change which GPU is used for each app/game (Windows 11)

Sorry for the insanely large posts, blame the Adderall… :wink: If you have any other questions just tag me :+1:

1 Like

Thanks! Really nice! I play my Quest 2 with wireless streaming, but those cables would be nice to have!

To answer your question about how dGPU is displayed on the laptop display - the dGPU ribbon connector has a DisplayPort connection that goes back to the laptop and the laptop mainboard has a chip which switches sources for the internal display between iGPU and this DisplayPort line, like a simple KVM, but controlled programmatically by Adrenaline software. This chip is called “mux chip”, you can see references to it in Adrenaline.

So, in essence, Adrenaline has the ability to literally unplug the laptop display from iGPU and plug it into the dGPU.

1 Like

Oh wow, I didn’t even know technology like that existed! The way it does it is so seamless I don’t even realize it’s happening. So, when I’m running a game on dGPU in a window on my desktop, it’s in essence running the window frame and top bar on the iGPU, but the contents of the window are being rendered and superimposed over that window position from the dGPU? This kind of reminds me of the old 3Dfx cards that would use pass-through and could overlay graphics composited into your main GPU.

So, I take it this “Muxing” doesn’t work with anything connected directly to the dGPU or iGPU externally like on a second screen, right? Or is the “Muxer” smart enough to superimpose everything into a frame buffer before sending it out to the display regardless of how it’s attached to the system? I kind of want to hook up a secondary screen and experiment a bit since I’ve never owned a laptop that had 2 GPUs in it before, so this has never been a scenario to contend with.

I know you can have multiple GPUs in a desktop computer and utilize each GPU for computational work, but only the primary GPU outputs to the screens if memory serves. So if you plug monitors into both GPUs, only the primary GPU will kick in and display something, and the secondary GPU won’t show anything on the screens attached to it. Correct me if I’m wrong here. Then if you do something computationally heavy or play a game that would benefit from the other GPU, you simply tell it to render on the other GPU, but then it sends the graphics back to the primary GPU to be displayed on the screens that are attached to it. I’m guessing that happens over the bus in some way. I’ve even used mismatched GPUs before and was able to run a VM fully on one GPU while my main PC on the other and have them both displaying on the screens attached to the primary GPU. I wonder if that is similar to how the laptop is MUXing things, but instead of going through the bus, it’s going through its own ribbon cable and using some software to coordinate it instead.

I want to learn more about how this works for sure.

Yep, correct. Imagine that you have a DisplayPort cable that’s plugged in on one end into the laptop’s built-in display. The mux chip just does the act of unplugging it from the port on one GPU and plugging it into another. Important here is that this is the “finished” DisplayPort connection which carriest monitor display data.

In this way I am not sure what happens in a non-full-screen scenario really. I would guess that the laptop display would still be served by the iGPU with dGPU rendering the in-window portion and streaming the picture data over PCIe into the iGPU’s framebuffer. But I may be wrong and it may instead start rendering the whole Windows UI on dGPU instead, so nothing at all is done on iGPU in that case. Come to think of it, it’s probably the latter.

(But I want to add here that I am not super familiar with this, so I’m making quite a number of assumptions/educated guesses here, so anyone who claims expertise should override what I’m saying here)

Oh, you definitely can have multiple GPUs on desktop outputting stuff to different monitors. Try it and see how the window that you drag across monitors is not super synchronized :slight_smile:

This is also common in the eGPU scenario as streaming the rendered graphics back over the cable (as PCIe data, not DisplayPort) takes up quite a bit of pretty limited bandwidth, so it’s customary to game on an external display plugged directly into eGPU.

1 Like

Thanks for the information, @Gmanny! I feel like an idiot for saying that you can’t run displays off multiple GPUs inside a computer simultaneously when I literally worked at Microsoft for 15 years, and my dev box was running 3 displays connected to 3 different PCIe GPUs that each had one DVI-I connector. I believe they were Matrox Mystique cards if I’m not mistaken because they gave the smoothest desktop rendering experience.

I’ll just chalk that up to having a senior moment since I’ll be turning 45 this month! :wink: I do remember back in the day dragging Windows between the screens, and they would not transition smoothly when you had two in landscape and one in portrait in the center, making an “H” configuration, which is what I ran with for most of my career as a developer. Only a single GPU in the box will display text modes when booting as the primary, but once you’re in Windows or another operating system that supports drivers, it can boot up the other cards and send data to them, so of course they could output that to the screens.

I think you have some good assumptions on how the Framework is compositing the two GPUs together. If you open the Task Manager in Windows, you can even add the “GPU Engine” column under Processes, and you can see which GPU each application is utilizing. The Framework will happily display all of them on the main display as if it’s just one big happy GPU. So, I think you’re probably right that when things are in windowed mode, whichever GPU is the primary is rendering the desktop, and any contents of a window that is displaying “hardware accelerated” graphics from the dGPU is just being streamed into the frame buffer as if it was the monitor, and it’s getting muxed together by Windows itself. You can even drag it between screens connected to different GPUs, and the contents of the window will continue to be rendered by the actual GPU it started with, supporting this theory.

But, as you said, when the application goes full screen, it can directly connect the GPU that is doing the rendering to the display to maximize performance, so it no longer has to go through the iGPU at all. This also explains why the dGPU USB-C port on the back of the Framework 16 can’t display anything on VR that is running on the dGPU, only things that run on the iGPU. I bet the reason for this has to do with how VR uses two different displays showing 2 different images at the same time instead of a single display like a monitor, which would work with the muxing, whereas the VR doesn’t work with it, so it has to be physically connected to the GPU that is displaying the full-screen graphics.

I’d love to see a Framework engineer jump in here and correct us so we could see how close we are to understanding how the MUX chip works and how it only seems to impact VR when it comes to which USB-C port you plug into on the Framework but doesn’t have any problem with standard displays rendering using both GPUs on whatever is plugged into it. I should try plugging my VR into my main PC and forcing a VR app to the iGPU to see if it has the same problem. Because if it does, then that would confirm that this isn’t even a Framework muxing-specific issue at all and it’s just Windows being Windows. :wink:

Thanks,
Jerry (aka. Barnacules)

Apologies to anyone waiting for more reviews of the PSVR2 on the FW16. Life has been hectic.

I have tested and successfully used the PSVR2 exactly once, though for a good many hours. My setup was pretty much exactly as described by Sony with some Framework touches. A standard DisplayPort cable plugged in to a Framework DisplayPort adapter in the dGPU USB-C port, USB-A cable plugged into a Framework USB-A adapter in port 3 (front-left port), and the power plugged into the wall. I had previously paired the controllers, and upon powering them up, they both connected without any issue. The headset gave me some very brief issues and I’m not sure if it was the USB-C cable from the headset or the DisplayPort cable/adapter combo sticking out of the back of the laptop, but fiddling with both got the headset itself working (though I suspect it was the USB-C cable plugged into the Sony adapter, as the headset didn’t seem to be powering up). Once the headset did powerup, initial setup went well, and I was soon in SteamVR for the first time.

Once in SteamVR, it was relatively quick and easy to get setup and familiarized with the controls, movement options, and, most importantly, start playing PC VR games! Half-Life: Alyx! I lost track of time playing, and accidentally played until ~2AM.

Some of my thoughts on the experience, both PSVR2 specific and general PC VR:

  • I don’t think you need anything special (apart from the PSVR2 Adapter) in order to use the headset. I used a standard DisplayPort cable and a Framework DisplayPort adapter and it worked well. That being said, just because it did work, doesn’t mean I’d encourage others to do it too. The adapter hanging off the back of the laptop was a bit more precarious than I’d like, and adding a large, stiff DisplayPort cable didn’t improve how precarious things felt. @Barnacules_Nerdgasm’s suggested USB-C → DisplayPort cable isn’t necessary, but is something I’m likely to get.

  • The PSVR2 adapter is powered with a tiny 5V, 3A barrel jack. I believe FW16 supports 15W of output via USB-A or USB-C on most of the ports (though not the dGPU port, if memory serves). I’d like to try to make an adapter that is USB (probably A, because soldering to that pinout is significantly easier) to the tiny barrel jack, or remove the barrel jack and swap it for a USB-C port, so that the adapter can simply be powered by the laptop (or a multiport USB wall charger). If it uses 1 USB-A port for data, 1 USB-C port on the dGPU for video, and 1 USB port (either A or C) for power, while not being as compact and single cable as the headset connecting to the PS5, it would be a little bit tidier and more compact than the current implementation.

  • It works well enough that I lost track of time for a few hours.

  • Normally, I game with the FW16 on a balanced power profile, and while plugged into a 100W Anker charger. Under normal usage, getting a few hours of gameplay in before the laptop complains of low battery is common, with most play sessions not getting close to low battery levels. When playing Half-Life: Alyx, I used the 180W Framework charger (holy crap, it gets toasty), and turned the power profile up to performance mode in the hopes of getting as much performance as possible. If memory serves, I only stopped playing due to a low battery warning, though I didn’t have it fully charged when I started. I think the battery didn’t last as long as usual, though I really wasn’t paying that close of attention to it.

  • My experience with VR before this was Google Cardboard/Daydream, PSVR, and PSVR2. While I’d very much like the full features of the PSVR2 (eyetracking, foveated rendering, improved haptics in both the controllers and headset, and especially HDR support), the current level of support doesn’t disappoint me. Apart from the mura, which was somehow more noticeable to me on PC vs PS5. Not deal breaking, but, sadly, more noticeable.

1 Like

Beware that USB-A ports have lower power limits that USB-C.

Edit: But there are cables which expose power leads from USB-C plug

1 Like

When you played Halflife Alyx with the PSVR2 adapter plugged into the DP adapter on the side of your FW16 did you open Task Manager to see which GPU the game was running on? You can right click on any column header under Processes and enable the column GPU engine and it will show which GPU it’s running on.

With all of the testing I conducted with the PSVR2 plugged into the DP module on the side of the FW16 it would always run the game on the iGPU which would be laggy and slow and never achieve the full framerate of the headset or it would give me an error saying “You must plug the headset into the GPU that the game is running on” when Windows would select the dGPU as the target when running more intense games. For instance if I ran Beat Saber by default then everything worked fine but the framerate just wasn’t great and it would have little hiccups and microstutters. However, if I ran something like Microsoft Flight Sim 2020 in VR mode or HalfLife Alyx it would run it on the dGPU when Windows was configured to pick the GPU automatically depending on the game and then I would just see “Loading” through the VR headset in the Steam menu area while the game would be up and playing in the preview on the laptop screen and the error would be showing saying the headset needs to be plugged into the GPU that it’s running on.

If it’s not too much trouble, could you post a screen shot of your Task Manager showing the GPU engine column with Half-Life Alyx process showing so I can see which GPU Windows claims the game is running on. Also, if you have Beat Saber can you try booting that up and see if you get the strange error I was getting where SteamVR says “You must plug into the primary GPU” since it should default to iGPU for that game untill you go into Windows settings and force it to the dGPU.

Example of forcing the GPU the game runs on in Windows when 2 GPU’s present

Because ideally, I would absolutely love to run my PSVR2 adapter using the DP port on the side of the FW16 so I don’t need the USB-C to DP cable at all. But, I spent days trying everything I could possibly think of and I could never get a game running on the dGPU to show up in the VR headset that was plugged into the DP module on the side of the FW16 which links to the iGPU. It would only show games in the headset that were running on the much slower iGPU and if the game went to the dGPU because Windows detected it was more demanding than it would just who the SteamVR hub in the headset with “Loading [Game]” showing on the screen even though the game was already loaded and working in the SteamVR preview window showing on the laptop.

So technically you can use SteamVR with DP module on side of the FW16 for PSVR2 experience so long as the game you’re running defaults to the iGPU because the laptop isn’t plugged in or is in a low power profile setting while plugged in or you force the game to the iGPU using the System>Display>Graphics menu in Windows 11. But, if @takaides actually got a VR game running on the dGPU and displaying through the DP module on the side of the FW16 I would very much like to try and replicate that experience so that USB-C to DP cable is no longer needed hanging off the back of the laptop.

I laughed when I read you talking about how you lost track of time playing Halflife Alyx. Yes, you absolutely lose track of time until either you wife, girlfriend or loss of power pulls you out of the game. It’s absolutely additive and I honestly hope they make another one in the future because it still stands today as one of the best and most immersive VR experiences I’ve ever had. The fact you were able to run it makes me think it had to be on the dGPU since i don’t think the iGPU would be able to play it at any acceptable framerate even on the lowest graphics settings but I haven’t tried myself so I’m not really sure. The onboard iGPU is pretty capable for 3D graphics being able to almost play Beat Saber at ~70FPS with default graphics settings and it also handles RecRoom no problem.

As for the low power problem you were encountering, I have also noticed a few interesting things myself. Like for instance when I plug in the 180 watt power adapter into the FW16 and torture the CPU/dGPU using http://iprep.info/gpu it will always show 100% power remaining down in the Windows 11 task tray until I unplug the USB-C power adapter and then it will update to show the true percentage remaining. I found that when the CPU/dGPU is being fully hit 100% it drains the battery at about 5% every 15-30 minutes which isn’t bad and would give you quite a bit of runtime if you start from 100% before you do whatever it is you’re doing but it does mean that the laptop will die no matter what you do if you run at 100% for a prolonged period of time. I think they are coming out with a 240 watt power adapter soon that will resolve this problem by providing enough power that the battery doesn’t need to be touched. I also wonder if the 100% issue I see in Windows 11 has to do with Microsoft making a bad assumption that the battery can also be depleted while plugged into a wall so it just shows 100% and never updates from the battery status again until the charge state changes. But I’m curious if you’ve also observed this issue yourself?

And last but not least I wonder if the mura issue you were noticing with the PSVR2 had to possibly do with the games running on the iGPU instead of the dGPU which would disable a lot of the features the dGPU has to increase image quality. Because when running on the dGPU I got way better image quality vs. iGPU just with default graphics settings in every game I tried.

TL;DR - Could you run Half-Life Alyx with PSVR2 plugged into DP on side of laptop via DP module and check the GPU engine column under Task manager for the Half-Life Alyx process and then do it again with the USB-C to DP cable coming out of the back USB-C connector on the FW16 laptop? I want to verify that you’re seeing dGPU in the GPU engine column for both configurations. Also, if you use System>Display>Graphics in Windows 11 to force Half-Life Alyx to the iGPU will it show up in the headset when you run the game while connect to the USB-C port on the back of the laptop and vice versa when plugged into the DP on the side of the laptop with Half-Life Alyx forced to dGPU? If you’re able to confirm that you’re able to see both iGPU and dGPU games through either USB-C on back or DP on the side of the laptop in the headset then I’ve gotta figure out how in the heck you’re hardware configuration is different from mine so I can replicate your same results since I would love to ditch the USB-C to DP cable if I can. :+1:

I looked at the cables that you linked too, and it looks like they just put out 5V at 3A which is the same power a USB-A port puts out. I think this is just the default voltage that any USB-C port sends out to start the negotiation with the device and it will only send more power upon request from the device itself.

Cable from Amazon that can only send 5V at 3A

I think for takaides idea to work they would need to pull a lot more power than that which would require a handshake with the USB-C controller to request more power. I found this cable over on AdaFruit that looks like it has a programable chip inside that can be programmed with an included programmer unit to send any voltage up to 20V at 2A giving a total power of 40 watts available. I don’t know if that is enough for the PSVR2 headset off the top of my head but I’m sure if this cable exists there are others out there that supporter higher power output. But this cable could easily be housed in a 3D printed module that could just slide into the side of the framework directly into the nested USB-C port in the back after it’s been programmed for the correct voltage to the barrel jack. And you could easily buy a barrel jack converter to get it to the right size and polarity for the PSVR2 box. Honestly, this would be a super cool module that people would actually use if @takaides makes it!

Re-programmable USB Type-C PD to 2.1/5.5mm Barrel Jack (LINK)

If you end up making one of these @takaides and it works let me know. I’d like to use something like this myself. It would be fun to play Beat Saber out in the front yard on a nice day fully unplugged! :wink:

When you played Halflife Alyx with the PSVR2 adapter plugged into the DP adapter on the side of your FW16 did you open Task Manager to see which GPU the game was running on?

Apologies if I was unclear, but I also used the port on the back of the laptop, not the side. I did pull the DisplayPort adapter from the side of the laptop, but only used it in the back dGPU port. I do happen to generally always run task manager, but I was distracted by VR and never checked the task manager during VR use.

Well, they want to power the PSVR PC adapter, which they said themselves requires rather 5V 3A:


Their idea, as I read it, is to have a way to power the PSVR PC adapter from the laptop, i.e. to not require an external power brick, but rather have a solution which just plugs into the laptop fully. Or at least that’s what I would do. So this is where we stop being able to rely on any USB Power Delivery, as the laptop can output only 5 volts, no power delivery negotiation possible.

And my point with proposing a USB-C cord was that they mentioned not wanting to solder tiny USB-C headers.

The cord makes the soldering work much less involved.

and also that power delivery through a USB-A expansion card is limited by the card, so it might not output enough power:

thusly starting with USB-C for that project is much preferred.

I’m actually shocked that the PSRV2 adapter needs that little power. It really is starting to make me wonder why in the hell the headset can’t take power directly from the USB-C port and not need the adapter at all?! :man_shrugging:

I think, it just comes down to user experience: USB ports are rarely rated for power officially, and it wouldn’t be nice for people to plug the headset into a USB port only to get it shutting down at points because the port can’t supply enough power.

I’m using external SSDs which get their power from a USB port they’re plugged into, and it’s a pretty frustrating experience to see the drive reboot in the middle of heavy usage because the port I’m plugging it into couldn’t handle the drive’s power draw.

1 Like

I assume that’s the main issue.

Also, if I really wanted to muck around with the circuit, I’d love to have USB-PD passthrough, so I’d plug the power adapter for the laptop into the PSVR2 adapter (in an appropriately labeled PD-IN USB-C port), grab ~15-18W off of that, and send the rest to the laptop through the currently existing USB-C cable tail.

That won’t work with the Framework 16, assuming the user wants to plug the PSVR2 adapter into the dGPU; it can’t do any power in, let alone PD-IN. And honestly, adding a PD controller/power circuit seems like a lot of effort if the whole point is simplifying it… Though, I’m now curious if there’s any data pins to spare on the FW 16 interposer.

2 Likes

I wonder if this problem was solved on the Framework 16 because I haven’t had a problem with powering any USB devices including old external laptop spinning disks which suck quite a bit of power. Obviously, I can’t power the PSVR2 but that’s not because the port can’t supply enough power but rather because the way PSVR2 draws power from a USB-C port is no longer supported by Nvidia after the 20xx series cards, I forget what the technology was called. It’s too bad too because it was a great idea to just power external GPU’s, VR Headsets and even screens directly through USB-C since it supports up to 240watts of power which is more than enough for all these things. Well, except for like super high-end GPU’s obviously).

I do know that the module ports on the Framework 16 do have some limitations like the HDMI and DP out modules only work on the back 2 ports on either side and the front most ports only support the lower bandwidth/power modules as I understand it. Like for instance if you plug the DP module into the front most slot it won’t work when you plug in a Display and try to activate it. However, you can move the USB-A module to the front most port and it works just the same as the back most port since it uses less bandwidth. I wonder if this has something to do with available PCIe lanes and how they physically split them up between the module slots. I also know that only the back most slot on either side can be used to charge the laptop via USB-C using the 180-watt brick that comes with it. Each slot also has a little amber charging LED next to it. However, you can remove the USB-C module from either side and replace it temporarily with a SD card reader or video out and it works fine while the laptop is on battery so I’m not quite sure why these limitations exist exactly so if someone knows I’d love to know the official reason to avoid confusion in the future.

Also, the USB-C on the DGPU doesn’t work for anything but external displays or VD headset with adapter. Anything else you plugin to it won’t even receive power like a mouse or controller, etc. But that is to be expected since it’s just a thunderbolt port specifically for display output as I understand it and nothing else which is a bit confusing since most people will just assume it’s another USB-C port that anything that fits can plugin and work with.

I will say this though; after looking at the problems people have experienced with the Framework 13 laptops, I have to say that Framework did a great job addressing and solving most of the issues on the Framework 16. This rig has been absolutely solid, and I love it more than any other laptop I’ve ever owned, and I’ve had some amazing laptops. I was most surprised by how solid it feels. Many people complained about the early Framework 13’s being flimsy, however this Framework 16 is as solid as it could possibly be and I feel like I could beat someone to death with it if I had to in order to save my life! Despite knowing it would probably void the warranty. :rofl:

Sorry, I’ve drifted way off topic here with my post because of my pain medication. If someone does manage to create a USB-C module for the Framework laptop that allows for a USB-C connection of the PSVR2 directly to the laptop without adapter or external power that would be freaking awesome and I would obviously buy one! However, if I have to continue to use the breakout adapter box, so be it. It’s not like I would be playing VR untethered on battery anyways since the VR graphics alone would suck the battery dry faster than a first-generation Sega Game Gear and the framerate would be horrible! :rofl:

Check out this article from Framework on what each port can do!

It says that FL16 can supply full 15W to the first device on ports 1,2,4,5 if it asks for it over USB-C. Then other devices receive 7.5W on those ports. While ports 3 and 6 are always 4.5W. While I also heard that USB-A expansion card lowers the maximum proportionally for some reason.

According to the same article, the display output is supported only on three ports - two on the left and one on the right. They probably had some reason to do it this way, which is most likely resource allocation, like you couldn’t wire more than 3 controllers for display port, and the ports are all wired to different controllers.

Yep, this, yeah

From the same article, and from personal experience, you can use two back-most ports on either side for charging, it’s always at full speed with the 180W brick. Both ports on one side share the LED for status.

Framework has also this nice behavior where if you plug in 100W charger (e.g. through a dock), it’ll take that one, but then if you plug in a 180W charger, for example while you want to game, the laptop will seamlessly switch to the higher-power adapter without renegotiating with the dock. This was always frustrating on other laptops because renegotiation would lead to the full dock reset, so all the monitors and peripherals disconnect momentarily. Then when you unplug the 180W charger, it would seamlessly switch back to 100W from the dock.

Hm, just tested it and I was able to charge my phone from that port. Your dGPU might be bugged if it doesn’t supply power, as power supply is in the USB spec and cannot be optional.

1 Like

You were absolutely right, I grabbed another USB-C to USB-C cable and the rear DGPU USB-C port charged the phone perfectly. I must have had a bad cable, but the odd thing is the cable works if I plug it into the side of the laptop. It must be like one pin that isn’t aligning right on the rear port or something funny like that. I think I’ll just toss the cable so I don’t run into something like this again.

1 Like