osy / Polaris22Fixup

Metal driver patches for Vega M
MIT License
47 stars 7 forks source link

Lilu userspace patching in 11.0 #8

Open vit9696 opened 4 years ago

vit9696 commented 4 years ago

With 11.0 macOS no longer has frameworks and the dyld shared cache now resides in /System without the descriptions of the address ranges in a textual format like before. There will be updates needed to get things working for both this kext and Lilu itself, with likely changes in the entire userspace APIs for Lilu on 11.0 and newer.

I still do not have a good idea what is the best approach here. Since various issues were reported with dyld shared cache patching in the past and since Polaris22Fixup uses an entirely separate way of patching, I wonder if you could suggest something for 11.0? That would benefit all the sides and integrate them better.

My primary concern is doing symbolic patching as I believe doing memory searching for hex-patching is rather slow and error-prone. However, the changes in 11.0 allowed us to avoid reading files from rootfs effectively improving the overall performance. I wonder if it is possible to keep that with userspace patching too.