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
Finally - iOS9 support #8250
Finally - iOS9 support #8250
Conversation
…rplay mirroring) - wrong orientation again - this mess never ends - someone need s to rewrite the whole windowing code to get those orientations straight
… 32bit apps to run on 64bit devices with iOS9 and is also safe for all older iOS versions)
is -weak_framework VideoToolbox an issue there. In the old days, vtb framework was dynamically loaded directly. so rm the weak link. in code, figure out which runtime os, then load the framework directly from the right path ? |
Yes - i Never understood how and where the dyloading was happening - but it seems something Else already broke ios5 support. At least on my iPad1 current nightlies just come up with Black Screen and get killed by the os because it doesn't Start up in time - no Logs at all... |
I dug into this a bit, the original atv2 code also did an extern reference and direct link to System/Library/PrivateFrameworks/VideoToolbox.framework I swear I did a framework dyload somewhere , sometime in the far past. you could change the direct linking to a dyload, like we do with other libs, framework/lib, same thing. |
Damn that you can't find that code - i think its a bit to much work for getting it into isengard 15.2 - maybe igive it a shot - finally the nightlies started working on my ipad1 after it was fully charged - so the approach you lined out should work - question is if it is worth the hazzle for only one ios version with not so many users... |
Yes, the big question would be, is it worth the code required to continue support for iOS5. For such an ancient iOS, maybe not BUT, switching to a dyload might be interesting overall given that tvos sdk has moved vtb back to private (the bastards). Once doing a dyload for vtb, dynamically runtime switching the path to the actual location would not be too hard. I do have a refactored vtb up and running, minus mp4 inject bits. Might be a good base. |
almost done with the dyloading ... but there are no binaries in /System/Library/Frameworks/VideoToolbox.framework/VideoToolBox at all ... lets hope dlopen does some magic and looks it up in the dylib cache or so ... |
…he runtime ios version either load it from private or public frameworks path
@davilla works on ios9 ... now about to try on ios6 and ios5 ... this would be worth a backport and isengard 15.2-1 i think :) |
The only known issue with this PR is that nfs access doesn't work for me on ios9 (it does on all older ios versions - maybe 64bit issue or ios9 issue - can't tell because my only ios9 device is 64bit). Beside that this is good to go imo and i do a isengard 15.2-1 with this backported ... so we have ios9 support without loosing older platforms. @davilla thx for bringing back the idea of dyloading here which was the key for ios5 support :) |
@razzeee iirc you added that feature flag. Any reason for this? This is not really a feature imo. |
For what it's worth, nfs worked fine for me with your original test build with this PR in it. |
mhhh @philipl please try this build and tell me if nfs works for you ... and what device you have (64bit or 32bit): http://mirrors.kodi.tv/test-builds/darwin/ios/kodi-20151019-0af7a90-ios9-ios.deb |
I will try this tonight. My device is an air2 so 64bit. |
@Memphiz |
FigVideoHack could go if you do not target less than iOS5. |
@Memphiz. Nfs works fine with your new build too. |
Thats what i came up with. This allows our jenkins builds to run on iOS9, iOS8, iOS7, iOS6 and iOS5 (9, 6 and 5 tested by me - the others assumed).
That segalign patch is really important as of iOS9 (and was discovered by saurik himself) when running 32bit apps on 64bit iOS hardware.
The only known issue with this is that nfs / libnfs doesn't work on iOS9 64bit (can't check if its working on 32bit because i only have iOS9 on a 64bit device). I will fix this eventually later. Its more important to get our kodi builds running on iOS9 imo.