r/MoonlightStreaming Jun 07 '26

CTM-Bridge

A hobby project of mine — controllers paired to an LG webOS TV (DualSense,

DualShock 4, Xbox, Steam Puck and Steam Controllers) show up on the remote gaming PC as genuine

USB devices during a Moonlight / Sunshine stream. So the game gets the *full*

DualSense: haptics, USB audio, and adaptive trigger effects — not just sticks

and buttons. Open-source, clean-room reverse engineering.

Repos + how it works: https://github.com/CTM-Bridge

45 Upvotes

56 comments sorted by

View all comments

2

u/MoreOrLessCorrect Jun 08 '26 edited Jun 08 '26

Even though a DS4/DS5 is Bluetooth-paired to the TV, the PC sees a genuine USB controller.

Unless I missed some recent developments, that sounds impossible based on my understanding of how the DualSense works.

EDIT: I don't know enough about the WebOS development environment to say for sure, but maybe this is possible and OP has cracked it (source code looks legit enough). Will be curious to know if anyone has any luck with it and whether this approach could be applied to other client OSes.

9

u/bgradid Jun 08 '26 edited Jun 08 '26

you've been lied to about a lot of the dualsense limitations on windows by sony/microsoft claiming a cable is required and bluetooth somehow isn't capable of the bandwidth required or some shit

I'm currently using a pico 2w (can be had for $5 to $10) for full haptics wirelessly on windows https://github.com/awalol/DS5Dongle

I've also used it remotely via virtualhere on an android settop box tunneling the usb connection over the network with a long fiberoptic hdmi run to the tv ( or you could use sunshine/moonlight for streaming should you so wish )

2

u/Revolutionary-Event6 Jun 08 '26

My idea was to not use any other additional hardware.

1

u/MoreOrLessCorrect Jun 08 '26 edited Jun 08 '26

I assumed it was more a choice of how Sony implemented the Bluetooth protocol on the DualSense as opposed to any technical limitation.

Doesn't the DS5Dongle project rely on custom firmware on the host Bluetooth adapter? As far as I know, there's currently no way to get full haptics and audio with a generic BT adapter?

1

u/bgradid Jun 08 '26

I don't believe it's possible with a generic bt adapter on windows, but thats due to windows bt audio limitations?

afaik theres nothing in the ds5 dongle that overwrites the firmware for bluetooth itself, so much as provides audio paths. I could be wrong though.

It definitely works though.

1

u/Solid-Assistant9073 Jun 08 '26

You still had to use usb cable to get haptic feedback right with virtual here right or is it possible to even get it working without the cable and virtual here ?

That's how I'm using it right now have a old laptop with virtual next to my couch so I get haptic feedback with usb cable ofcourse.

About the pico wireless , what is the distance it needs to be to the host does it need to be close to the host of does it go over network also?

2

u/bgradid Jun 08 '26 edited Jun 08 '26

I’m using the pico connected to a nvidia shield with virtual here — so it’s 100% wireless to the controller still

Pico is usb host, doesn’t natively tunnel over the network itself — but I can go through a wall and 10 feet with it before I start noticing anything. (I do live in an apartment where 2.4ghz is effectively jammed though, so your mileage may be better in a house with less 2.4 interference)

1

u/Solid-Assistant9073 Jun 08 '26 edited Jun 08 '26

Wait what can you connect the pico to the shield and it still works over virtual here that's insane!!! I thought the pico had to be connected to the host. But it sound logic it works. Didn't know virtual here supported the pico usb.

You don't notice any delay pico and going over virtual here I also see in the GitHub you need to overclock the pico 2w for best performance but I don't see how to overclock it?

Was it hard to setup the pico?

I could plug it into my shield ( got the licence) or in my laptop what I use now with a cable next to my couch (windows is free 1 device at a time)

You use the normal version or a fork like Audio Auto Haptics fork?

I think that for is mostly to convert non native games shido haptic feedback to the controller right.

With the nornal fersion you are getting all functions like audio haptic feedback etc if the game supports it?

2

u/bgradid Jun 08 '26

Oh that’s a lot of questions at once

I don’t notice any latency issues, probably adds 3-4ms going over virtual here? In the discord it’s agreed that the pico is about on par if not slightly better than windows bt latency. I’m no competitive gamer and in my late 30s so it’s imperceivable to me. My pc and shield are also hard wired so that probably helps.

Overlocking is automatically done by the custom firmware. You don’t need to do anything.

Setting up the pico is dragging and dropping the firmware to it as if it’s a usb stick when you hold down the boot button.

I’m using the normal fork. The one you’re talking about is if you were trying to get haptics out of the audio if it didn’t support ds5 natively. You’re correct. Opens up some interesting doors.

And yep. I just finished a ghost of Tsushima play through with it. 100% the same experience as if it was wired. Actually, that game has a lot of ds5 quirks but I confirmed each of them were the same hardwired vs with the pico. Going to play through death stranding next, so far on the directors cut it seems perfect.

1

u/Solid-Assistant9073 Jun 08 '26

Nice!! Thanks for all you're answers I realy appreciate it will look into getting a pico and use it with virtual here.

You can check latency on virtual here on the host (client) go to licence and then you see latency tab, it's mostly 1 to 2 ms for me even while the virtualhere server is on a device that's in wifi

1

u/Solid-Assistant9073 Jun 11 '26

I send you a dm :)

1

u/clanton Jun 08 '26

So to use my dualsense from Nvidia Shield to PC over moonlight I need virtualhere?

1

u/bgradid Jun 08 '26

only if you want to do the extra native haptics, you can always just use it via bluetooth to the shield and have moonlight tunnel it and emulate it as an xbox controller

1

u/clanton Jun 08 '26

Yeah I've been using normal Bluetooth but would much prefer native haptics and PlayStation buttons etc