-
Notifications
You must be signed in to change notification settings - Fork 316
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable external display support on iPad by allowing the OS to control the window shape and size. #608
base: master
Are you sure you want to change the base?
Enable external display support on iPad by allowing the OS to control the window shape and size. #608
Conversation
This is the last piece of the puzzle for me. Would love to see this in the next update! |
This can't be merged without properly handling rotation and resizing while streaming. The stream view, on screen controls, and stats overlay all get cut off if resized or rotation while streaming. |
Just wanted to add that I have started working on this. I have a proof-of-concept, but I don't want to update the pull request until I think its ready. |
This is what I need also to use Moonlight. My process won't allow me to not use it on an external display. Excited to see this feature, and thank you so much for addressing it! |
Thanks for trying to implement this! If there is anything I can do regarding testing etc. I would love to help out any way I can. |
I´m happy that i found that here, thought already i´m using it wrong :D Thanks for that work. This would make the setup just perfect |
Any news on this? Would love to use my iPad on TV with moonlight |
Please make it happen! Thank you |
Probably need to lock the orientation while steaming to avoid a lot of issues with rotation. |
So I’ve got a version that supports rotating mid-stream no problem. The delay is that the on-screen controls don’t scale properly to arbitrary resolutions so I need to fix that. Also there’s something weird with the computer selection GUI that I haven’t looked into yet. |
Any new updates on this? Thanks :) |
@WolfLink thank u for doing this, love to see this in the next update! |
Yes please! Thank you :) |
Hope to see this feature coming soon, thank you |
I signed up just to say If this gets merged i will be eternally grateful. |
I was surprised this was only a few lines but after trying it out, it doesn't appear to work. Can anyone tell me what I'm doing wrong? iPad Pro M4 -> Thunderbolt Dock -> USB-C to Displayport to a 4K monitor. After pairing a keyboard and mouse it will let me use it as a proper external display, but the Moonlight window is only ever able to take up an iPad-aspect square-ish area in the center of the screen. Clicking the 3 dots -> Enter Full Screen does nothing, and you can't drag the window because the aspect ratio can't be changed. I tried both with and without Stage Manager. To be fair I never use my iPad this way so I might be missing a setting or something. I tried to make a screen cap video but it wouldn't record the external display unfortunately. Does anyone in this thread have comments about the other external display patch from way back in 2020? #411 |
Sorry its been so long. I primarily made this change for my own usage and didn't have much time to do the extra work to try to get this merged. I've now made it so it refreshes relevant UI sizes whenever the window changes size. Controls, stream view, and stream selector will all resize properly. It's not perfect, and at the smallest window sizes, the on-screen-controls will get a little cut off and at the smallest size opening the settings will cut off the view such that you can't close it without making the view bigger. But fixing these would require significant reworking of the on-screen-controls and settings layouts. But I'm hoping these are small enough edge cases to be ignored for now. Let me know! |
This sounds to me like you built the app targeting an older version of iPadOS than the one your iPad is running. Apple does this sometimes, I'm guessing as a way to ensure an app "kinda works" even if it wasn't updated to include support for whatever the latest UI changes are, even though from my experience it usually makes the app worse. |
@cgutman Please take another look and let me know if you'd like me to keep working on on-screen-controls and settings UI or if this is good enough. |
@WolfLink I hacked a bit on this and I guess it's quite a different approach. I had to refactor a lot to use the iOS 13 Scene API. This branch needs more work but it does let you use USB-C displays on iPhone/iPad as well as AirPlay the stream (obviously too laggy for most things but it was a neat feature you get for free). My branch: https://github.com/andygrundman/moonlight-ios/tree/andyg.ipad-external-display |
Removing "UIRequiresFullScreen" and adding all 4 of the orientations will cause the OS to enable all of the iPadOS multitasking configurations, which most importantly includes going full screen on an external display.
This will also allow having another app open side-by-side with this one on the iPad itself.