[Feature Request] Intel Fast Memset
Opened this issue · 6 comments
Software with intel_fast_memset instructions doesn't work. Plese, add support for patching Intel Fast Memset.
Can you provide further information on the programs that use intel_fast_memset
and crash?
On my Ryzen 5950X system, a fresh install of Luminar AI will not successfully launch. I'm using OpenCore 1.0.3 along with the latest Lilu & related kexts, as well as the release of IntelMKLFixup from this repo.
After applying the following patch (adapted from here), the application launches and operates correctly:
sudo perl -i -pe 's|\x90\x90\x90\x90\x56\xE8\x6A\x00|\x90\x90\x90\x90\x56\xE8\x3A\x00|sg' '/Applications/Luminar AI.app/Contents/Frameworks/MPCore.framework/Versions/A/Frameworks/libtbb.dylib'
sudo perl -i -pe 's|\x90\x90\x90\x90\x56\xE8\x4A\x00|\x90\x90\x90\x90\x56\xE8\x1A\x00|sg' '/Applications/Luminar AI.app/Contents/Frameworks/MPCore.framework/Versions/A/Frameworks/libtbb.dylib'
sudo perl -i -pe 's|\x90\x90\x90\x90\x56\xE8\x6A\x00|\x90\x90\x90\x90\x56\xE8\x3A\x00|sg' '/Applications/Luminar AI.app/Contents/Frameworks/MPCore.framework/Versions/A/Frameworks/libtbbmalloc.dylib'
sudo perl -i -pe 's|\x90\x90\x90\x90\x56\xE8\x4A\x00|\x90\x90\x90\x90\x56\xE8\x1A\x00|sg' '/Applications/Luminar AI.app/Contents/Frameworks/MPCore.framework/Versions/A/Frameworks/libtbbmalloc.dylib'
@cmarhoover , as per the thread:
Looks like it changes two registers, EBP and EDI on those files (considering those lines are reference to commands and registers)
A longer debug would be needed to fully understand it, but it is no jump/noop change.
It is either an address change, or a register change.
How is this related to IntelMKLFixup?
Apologies! My mistake for not fully understanding what this patch does. I have it saved with a collection of other patches for Adobe applications. Please disregard.
Can you provide further information on the programs that use
intel_fast_memset
and crash?
I'm using OM Workspace for example. With this fix it crashes on launch but if intel_fast_memset is also patched, it works. It's also very common in Adobe software.
I appreciate the response, we'll take a look at it whenever possible