FDH2 / UxPlay

AirPlay Unix mirroring server
GNU General Public License v3.0
1.55k stars 78 forks source link

Add screen mirroring via USB #5

Closed Bernadette-Mohr closed 3 years ago

Bernadette-Mohr commented 3 years ago

First, thank you for keeping this very handy tool alive!

Unfortunately, my company WiFi doesn't allow client-to-client communication. Would it be at all possible to add screen mirroring via wired connections to UxPlay? I haven't found any solution to this particular case elsewhere, that's why I'm asking.

fduncanh commented 3 years ago

Unfortunately, I dont know. Uxplay essentially simulates an Apple TV, and uses Airplay with Bonjour protocol to connect to a client such as an iPad over a local network. (Zoom on a mac allows an ipad screen to be shared with a wired connection to the mac, but that's something quite different I think).

mahyarmirrashed commented 2 years ago

Unfortunately, I dont know. Uxplay essentially simulates an Apple TV, and uses Airplay with Bonjour protocol to connect to a client such as an iPad over a local network. (Zoom on a mac allows an ipad screen to be shared with a wired connection to the mac, but that's something quite different I think).

Would there be a way to simulate a fake network on the target computer and have it so that something like an iPad would connect to that network only because it could see it via a USB connection? That way, you could maybe run UxPlay inside that network space and have the mirroring work at very high refresh rates?

Let me know your thoughts on this idea.

fduncanh commented 2 years ago

I don't know too much about usb networking, but it appears to be possible. By Google I found https://alloraconsulting.com/it-solutions/88-how-to-set-up-a-network-over-usb-to-usb-or-firewire

I pad has a lightning port, not usb though. There are lightning to usb adapters, but whether they would allow usb networking, I wouldnt know.

Bernadette-Mohr commented 2 years ago

Ipads have USB-C ports now, mine from 2020 has one already. So that at least is no major issue anymore, at least not with somewhat recent models.

fduncanh commented 2 years ago

UxPlay and the client just need to be "on the same network" (i.e. the client iOS device can see the DNS_SD Service discovery registration of the server) I would think that this
could indeed be ensured with a usb network, (but it might need a networking guru to work out the details)

monomycelium commented 2 years ago

Unfortunately, I dont know. Uxplay essentially simulates an Apple TV, and uses Airplay with Bonjour protocol to connect to a client such as an iPad over a local network. (Zoom on a mac allows an ipad screen to be shared with a wired connection to the mac, but that's something quite different I think).

Would there be a way to simulate a fake network on the target computer and have it so that something like an iPad would connect to that network only because it could see it via a USB connection? That way, you could maybe run UxPlay inside that network space and have the mirroring work at very high refresh rates?

Let me know your thoughts on this idea.

I have tried using hostapd and bridge-utils to use my Raspberry Pi as an access point. I followed this tutorial by miniProjects to set up the Wi-Fi network, which even had an internet connection. I got my MacBook Air to extend its display momentarily before the connection dropped. Is there a way to use hostapd to set up a different kind of connection so that the Bonjour thing works?