Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
Hiiiii! Sorry for being so quiet since my post yesterday. I've been busy. I've significantly improved the SkyLight/CoreDisplay patches to a point where I feel they're ready to be tested/improved upon by you guys!

As of yesterday, I had binary patched about 5 different files (including AppKit, yikes) in order to just barely get the system running. Today, I undid that and implemented wrapper binaries for the old frameworks, with stub functions to (mostly) keep things happy -- a much cleaner solution. I just finished doing a full reinstall to re-check everything, and I'm writing this from accelerated Catalina on my 2010 MacBook!

So... on a system with a working framebuffer (which should be achievable by following the same steps as for 10.14.5), you should be able to just replace these two frameworks with the attached copies. No other binary patches needed!! :D

For convenience I'm also including the fix for the HID timeout, as well as a patched IOSurface.kext that seems to be required to load the nVidia Tesla kexts.

Now for the bad news. Overall, the system is still quite unstable, absolutely not usable as a daily driver yet. For one, most of my rewritten functions are just stubs. So, things like Screen Time (edit: actually seems to be working!) and automatic light/dark switching, which require functions in the new SkyLight? Not working at all. Not sure if they ever will. There is a bit of other weirdness too, like the way that windows can be extended over the Dock -- my stub SLSGetDockRectWithOrientation currently does nothing. And sometimes, stuff just... crashes, and I don't know why yet.

Anyways, have fun! I'm heading to bed, but I hope some of you guys can try this out. I'm definitely struggling a little here, so hopefully some smarter people can help me ;) Speaking of which, @pkouame, how are your efforts going? If we can get this working without the SkyLight replacement altogether, I will have wasted a massive amount of time we will be much more likely to get a usable end product.

Goodnight :)

Edit: Don't use this -- see my post on page 38 for updated version.
 

Attachments

  • yay.zip
    3.5 MB · Views: 461
Last edited:
The Mojave 'Patch Updater' works on Catalina. It stalled on reboot though. But its patches installed fine.

logi web cam works with iSight patch. 1080p, same as Mojave.


hi, what is with sound and WIFI?
 

Attachments

  • patch.jpg
    patch.jpg
    1.6 MB · Views: 430
  • Like
Reactions: TimothyR734
Yep, my SkyLight/CoreDisplay method was definitely inspired by your VSLGestalt hack! :) Though the way I'm doing it is quite different -- I rename the framework's main binary and replace it with my own that re-exports the old one's functions (a dyld feature I just learned about yesterday!) as well as whatever stub functions I want to add. Works pretty well! (Though I did spend about 3 hours being confused... because I was using C++ which mangles the function names. Switched to Objective-C and everything worked immediately.)
[doublepost=1560324632][/doublepost]
hi, what is with sound and WIFI?
Just copy over IO80211Family.kext and AppleHDA.kext from a patched Mojave system.
 
Last edited:
Yep, my SkyLight/CoreDisplay method was definitely inspired by your VSLGestalt hack! :) Though the way I'm doing it is quite different -- I rename the framework's main binary and replace it with my own that re-exports the old one's functions (a dyld feature I just learned about yesterday!) as well as whatever stub functions I want to add.
[doublepost=1560324632][/doublepost]
Just copy over IO80211Family.kext and AppleHDA.kext from a patched Mojave system.



hi, I work with a normal mojave on my MP 2010, since the system was still normally supported by apple.
Can I take these files from it and if so, how do I apply it?
I need a guide to it. I do not want to do anything wrong

lg
 
  • Like
Reactions: TimothyR734
Hiiiii! Sorry for being so quiet since my post yesterday. I've been busy. I've significantly improved the SkyLight/CoreDisplay patches to a point where I feel they're ready to be tested/improved upon by you guys!

As of yesterday, I had binary patched about 5 different files (including AppKit, yikes) in order to just barely get the system running. Today, I undid that and implemented wrapper binaries for the old frameworks, with stub functions to (mostly) keep things happy -- a much cleaner solution. I just finished doing a full reinstall to re-check everything, and I'm writing this from accelerated Catalina on my 2010 MacBook!

So... on a system with a working framebuffer (which should be achievable by following the same steps as for 10.14.5), you should be able to just replace these two frameworks with the attached copies. No other binary patches needed!! :D

For convenience I'm also including the fix for the HID timeout, as well as a patched IOSurface.kext that seems to be required to load the nVidia Tesla kexts.

Now for the bad news. Overall, the system is still quite unstable, absolutely not usable as a daily driver yet. For one, most of my rewritten functions are just stubs. So, things like Screen Time and automatic light/dark switching, which require functions in the new SkyLight? Not working at all. Not sure if they ever will. There is a bit of other weirdness too, like the way that windows can be extended over the Dock -- my stub SLSGetDockRectWithOrientation currently does nothing. And sometimes, stuff just... crashes, and I don't know why yet.

Anyways, have fun! I'm heading to bed, but I hope some of you guys can try this out. I'm definitely struggling a little here, so hopefully some smarter people can help me ;) Speaking of which, @pkouame, how are your efforts going? If we can get this working without the SkyLight replacement altogether, I will have wasted a massive amount of time we will be much more likely to get a usable end product.

Goodnight :)

Thank you very much for your effort and your hard work, if you wait 5 minutes, I quickly test and give you a feedback.
 
hi, I work with a normal mojave on my MP 2010, since the system was still normally supported by apple.
Can I take these files from it and if so, how do I apply it?
I need a guide to it. I do not want to do anything wrong

lg
Oh awesome, I didn't see which machine you had. In that case, should be as simple as copying:
Code:
/System/Library/Extensions/IO80211Family.kext
/System/Library/Extensions/AppleHDA.kext
from your Mojave drive to your Catalina one. Then you'll have to fix permissions:
Code:
sudo chown -R root:wheel /Volumes/<your Catalina volume name>/System/Library/Extensions
sudo chmod -R 755 /Volumes/<your Catalina volume name>/System/Library/Extensions

This is actually a bit unsettling -- I think most of us assumed that support for the MacPro5,1 would be re-added later, like last year. But if they've abandoned sound and wifi drivers for it, this might not be the case...
[doublepost=1560325386][/doublepost]
Thank you very much for your effort and your hard work, if you wait 5 minutes, I quickly test and give you a feedback.
For sure. Thanks @jackluke!
 
Oh awesome, I didn't see which machine you had. In that case, should be as simple as copying:
Code:
/System/Library/Extensions/IO80211Family.kext
/System/Library/Extensions/AppleHDA.kext
from your Mojave drive to your Catalina one. Then you'll have to fix permissions:
Code:
sudo chown -R root:wheel /Volumes/<your Catalina volume name>/System/Library/Extensions
sudo chmod -R 755 /Volumes/<your Catalina volume name>/System/Library/Extensions

This is actually a bit unsettling -- I think most of us assumed that support for the MacPro5,1 would be re-added later, like last year. But if they've abandoned sound and wifi drivers for it, this might not be the case...
[doublepost=1560325386][/doublepost]
For sure. Thanks @jackluke!

Unbelievable, it does enable acceleration also on IntelHD series, you are amazing!
Thanks a lot. I really have no words to express my congratulations, you're a genius.
 

Attachments

  • Screenshot 2019-06-12 at 09.50.36.png
    Screenshot 2019-06-12 at 09.50.36.png
    1.3 MB · Views: 453
  • Screenshot 2019-06-12 at 09.52.30.png
    Screenshot 2019-06-12 at 09.52.30.png
    1.3 MB · Views: 527
  • Screenshot 2019-06-12 at 10.16.22.png
    Screenshot 2019-06-12 at 10.16.22.png
    947.4 KB · Views: 441
  • Screenshot 2019-06-12 at 10.25.47.png
    Screenshot 2019-06-12 at 10.25.47.png
    1.1 MB · Views: 384
from your Mojave drive to your Catalina one. Then you'll have to fix permissions:
Code:
sudo chown -R root:wheel /Volumes/<your Catalina volume name>/System/Library/Extensions
sudo chmod -R 755 /Volumes/<your Catalina volume name>/System/Library/Extensions


I do not understand this code. I copied the 2 files. but how do I apply the code?
 
  • Like
Reactions: TimothyR734
from your Mojave drive to your Catalina one. Then you'll have to fix permissions:
Code:
sudo chown -R root:wheel /Volumes/<your Catalina volume name>/System/Library/Extensions
sudo chmod -R 755 /Volumes/<your Catalina volume name>/System/Library/Extensions


I do not understand this code. I copied the 2 files. but how do I apply the code?
They’re terminal commands. Just copy them and paste them in a terminal window.
 
@ASentientBot till now everything looks great, just noticed that Maps.app if pinch-out-in zoom with trackpad in 3D view mode, does crash functions GLContext mainly on this privateframeworks: com.apple.VectorKit

Maybe replacing with a Mojave one'd fix, but you have done an ultra-superb work, you realized the impossible!

A full Metal 64 bit macOS with an OpenGL fallback, unthinkable.
 
@jackluke this is the same crash (Maps.app) I had earlier on my MBP5,1

Well I may try to downgrade the VectorKit.framework and maybe also OpenCL.framework.

@testheit the Maps.app crash occurs only if I pinch-zoom too fast in 3D view mode, if pinch slowly it seems doesn't crash

However I am currently using: OpenGL + GPUSupport (from Mojave 10.14.3) + CoreDisplay + Skylight ([COLOR=#59b300]@ASentientBot[/COLOR] fixes/patches)

in addition GPUWrangler.framework from 10.14.3 and all the AGC set from 10.14.3 too, these helped me to enable dynamic dualGPUs switching, brightness backlight control (on both the GPUs), sleep function, and an overall better power management resulting in lower fans-speed and lower cpu/gpu temperatures.

edit:

No, I'd not touch the VectorKit since it's interdependent also for Safari and other core apps, here is the crash I got in replacing it:

Code:
  symbol '_OBJC_CLASS_$_VKDebugTreeDataNode' not found,
expected in '/System/Library/PrivateFrameworks/VectorKit.framework/Versions/A/VectorKit',
needed by '/System/Applications/Maps.app/Contents/MacOS/Maps'

And this opening Safari.app :

Dyld Error Message:
  Symbol not found: _GEODistanceToCurrentManeuverSimilarityThresholdInMeters
  Referenced from: /System/Library/PrivateFrameworks/VectorKit.framework/Versions/A/VectorKit
  Expected in: /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/GeoServices
 in /System/Library/PrivateFrameworks/VectorKit.framework/Versions/A/VectorKit
 
Last edited:
Agreed, I was just typing an alternative very similar way:

- Download the "Install macOS 10.15 beta.app" (6,5 gb)

- Show its packages Contents/SharedSupport/

- Take the BaseSystem.dmg apart and restore it on an empty (at least 10 gb) USB drive or disk partition

- Copy from Contents/SharedSupport/ these files in the root of your "Restored BaseSystem.dmg" USB drive:
AppleDiagnostics.chunklist, AppleDiagnostics.dmg, BaseSystem.chunklist and BaseSystem.dmg

(You need also another BaseSystem.dmg copied inside the USB "restored Basesystem.dmg" otherwise will fail during installation)

- Now from Contents/SharedSupport/ open/mount the InstallESD.dmg and copy (from Finder) the Packages (overwriting the Packages.alias) folder into your USB (restored BaseSystem) /System/Installation/
(this will take a while)

- Go to /System/Installation/Packages/ and you should or patching the Distribution inside or "downgrade" the OSInstall.mpkg, as @ASentientBot rightly suggested an HighSierra one is good since you have a MBP 2011 that is HighSierra natively supported

Meanwhile on your MacBookPro you have to set from a Terminal Shell nvram boot-args="-no_compat_check"

Reboot and boot targeting this USB Drive, format as or use as target install disk one with APFS and it should install.

Thanks
Does it work for anyone? I have an error "resources not found"
 
  • Like
Reactions: TimothyR734
I boot from USB and see this error instead of the Menu (Reinstall/Disk utility/Online Support)

It's really weird, since when you just restore the Catalina BaseSystem.dmg through DiskUtility to an empty HFS USB Drive, it works with that opening all the Recoveries apps (Reinstall/Disk utility/Online Support/Terminal and so on), so you should review your steps, have you copied on the root of your USB also the BaseSystem.dmg and its .chunklist ?

Maybe try to use for a moment the OSInstall.mpkg from Catalina to check if in that way the Catalina Recovery menus is showed.

Because @crazybirdy made a perl patch to allow editing a custom (invalid signature) Distribution on OSInstall.mpkg from Catalina: here

so maybe would not be necessary to downgrade the OSInstall.mpkg

but I assume you have a machine natively HighSierra APFS supported, right ?

Otherwise I guess you should use an El Capitan OSInstall.mpkg.

But first you must be sure that booting from USB Drive (HFS not journaled) restoring only Catalina BaseSystem.dmg you should have all the Recoveries apps working because this is the most important part, the rest are just files/folders copies.
 
Last edited:
so maybe would not be necessary to downgrade the OSInstall.mpkg

perl -pi -e "s|\x0f\x84\x94\x0d\x00\x00\x48\x8b|\x90\x90\x90\x90\x90\x90\x48\x8b|g" /Volumes/macOS\ Base\ System/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller

codesign -f -s - /Volumes/macOS\ Base\ System/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller

/Volumes/macOS Base System/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller: replacing existing signature

done
I ll let you know
[doublepost=1560332473][/doublepost]and
function InstallationCheck(prefix) {

return true;

}
[doublepost=1560332847][/doublepost]exactly the same
some files are missing at the USB or path is wrong I think
 
perl -pi -e "s|\x0f\x84\x94\x0d\x00\x00\x48\x8b|\x90\x90\x90\x90\x90\x90\x48\x8b|g" /Volumes/macOS\ Base\ System/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller

codesign -f -s - /Volumes/macOS\ Base\ System/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller

/Volumes/macOS Base System/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller: replacing existing signature

done
I ll let you know
[doublepost=1560332473][/doublepost]and
function InstallationCheck(prefix) {

return true;

}

So it was the wrong OSInstall.mpkg that doesn't showed the Catalina Recoveries/Resources apps ?

Anyway since now you can customise the OSInstall, in Distribution when I did, I removed also those lines pkg references to SecureBoot, FirmwareUpdate, leaving only the Core.pkg, just for more safety, but an unwanted EFI firmware update shouldn't occur since from platformsupport machineplist yours isn't targeted.

You have to copy on your USB Catalina Installer root the BaseSystem.dmg and its .chunklist too (and maybe also AppleDiagnostics.dmg and its chunklist) you can find them in SharedSupport folder.
 
Last edited:
  • Like
Reactions: TimothyR734
You have to copy on your USB Catalina Installer root the BaseSystem.dmg and its .chunklist too (and maybe also AppleDiagnostics.dmg and its chunklist) you can find them in SharedSupport folder.

done
it is in the original instruction
[doublepost=1560333563][/doublepost]
I removed also those lines pkg references to SecureBoot, FirmwareUpdate, leaving only the Core.pkg,
I ll try
 
  • Like
Reactions: TimothyR734
done
it is in the original instruction
[doublepost=1560333563][/doublepost]
I ll try

Otherwise you can try to follow this other method: here

But before do that you should have the full "Install macOS 10.15 Beta.app", then place it in the Applications folder and type:

sudo /Applications/Install\ macOS\ 10.15\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/YourUSBLabel/

Or if you have access to a Mojave supported machine, you may consider to clone a Catalina APFS container to an unsupported machine.
 
Last edited:
  • Like
Reactions: TimothyR734
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.