Meowthra Posted May 29, 2019 Author Share Posted May 29, 2019 (edited) 13 hours ago, jsl2000 said: Is there any special patch for AMD FX-6300 or Ryzen 1700X CPU's hackintosh for its 32-bit application ? no Apple has removed some 32-bit libraries depend libraries:dylib、Frameworks macOS 10.15 will completely remove the 32-bit library https://appleinsider.com/articles/18/06/05/mojave-is-apples-last-version-of-macos-to-support-32-bit-apps You can Try run QuickTime 7 on Intel Machines,Also can't work. Edited May 29, 2019 by Meowthra Link to comment Share on other sites More sharing options...
AlGrey Posted June 4, 2019 Share Posted June 4, 2019 @Meowthra for some reason mach_call_munger and unix_syscall never gets called on AMD and we get a panic after opemu_utrap (saved_state) on thread_exception_return () like Shaneee and others reported. Are the functions hooked correctly? Link to comment Share on other sites More sharing options...
whatnameisit Posted August 3, 2019 Share Posted August 3, 2019 On 5/28/2019 at 9:39 PM, Meowthra said: AVX/AVX2 instruction set for Pentium / Celeron CPU On 11/16/2017 at 8:51 PM, Meowthra said: Intel Haswell Pentium / Celeron Series Or older processor expansion instruction set Emulation On 11/17/2018 at 10:43 AM, Meowthra said: OS X 10.12 or later Pentium and Celeron Unable Support Because OS X 10.12 and later Haswell OpenGL Driver Requires AVX Instructions So the Processor Must Support the AVX Instruction Set. Unless there is a Source code that can be Recompiled. Can you please make it clearer or tell me where to look? Is this only for Haswell or older devices? Can it enable QE/CI on a G4600 (HD 630) desktop? Link to comment Share on other sites More sharing options...
habkeinehdd Posted August 12, 2019 Share Posted August 12, 2019 The recent World of Warcraft seems to use CPU features of newer Intel CPUs that my Mac Pro 3,1 lacks. I tried to use the opcode emulator to bypass this issue but it keeps crashing. Any idea what CPU feature World of Warcraft could use that is not supported by my CPUs? In Windows it is indeed running fine. Link to comment Share on other sites More sharing options...
joevt Posted October 20, 2019 Share Posted October 20, 2019 On 8/12/2019 at 10:29 AM, habkeinehdd said: The recent World of Warcraft seems to use CPU features of newer Intel CPUs that my Mac Pro 3,1 lacks. I tried to use the opcode emulator to bypass this issue but it keeps crashing. Any idea what CPU feature World of Warcraft could use that is not supported by my CPUs? In Windows it is indeed running fine. try this: https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/ Question: does VSSE4.2 and SSE4.2 mean the same thing? Link to comment Share on other sites More sharing options...
foojitsu1 Posted April 25, 2020 Share Posted April 25, 2020 Hi- Sorry to stir up a dormant thread, but are there any plans to update OpCode Emulator for OpenCore? More specifically and possibly, one that would be compatible with cMP? Looking for an AVX Emulator to see if it's a valid "workaround" for loading UAD Luna software. Thanks in advance! Link to comment Share on other sites More sharing options...
jalavoui Posted August 27, 2020 Share Posted August 27, 2020 (edited) Hi Meo, I hacked rex into vex registers to make it work on a intel c2d without vmx. maybe this is a very old cpu and not worth it. Playing a bit more with code the emulator works but i'm getting always crashes on trustd daemon. Only me or same for others using the driver ? Edited September 10, 2020 by jalavoui Link to comment Share on other sites More sharing options...
Pavo Posted September 21, 2020 Share Posted September 21, 2020 Hey @Meowthra I was wondering if this could be modified to emulate Intel's vmx CPU feature for AMD SVM CPU instructions, so AMD hacks can use virtualization in macOS. Link to comment Share on other sites More sharing options...
hardcorehenry Posted January 13, 2021 Share Posted January 13, 2021 I just found "not crashing CPU-X version" under this link 3-rd comment. It works under latest Mojave, not all fields are correct thought. Attaching app in case link went dead. Spoiler CPU-X.zip Link to comment Share on other sites More sharing options...
jalavoui Posted June 13, 2021 Share Posted June 13, 2021 (edited) Inside src.zip i've included the emulator binary (move both kexts to clover Kexts/other) this is made for core2duo cpus with no SSE4.1 the config.plist are kernel patches for 10.14.2 - add them to clover before try to boot this might also work with old macs and amd cpus. the emulator requires a vanilla kernel + cpu patches (check amd native kernel thread for other kernel versions patches). boot with -v flag for verbose log select kernel cpu patch in clover patches options i found a bug in ioPresentment framework that prevents graphics from loading. inside ioPresentmentCreateAssociationMap() the ioPresentmentFindAGDCMatch() returns error 0xe00002c2 (invalid parameter?) __int64 __fastcall ioPresentmentFindAGDCMatch(char *a1) { v31 = 0; v33 = 0; v32 = 0; v30 = 0LL; v28 = 44LL; v27 = 0LL; v26 = 0LL; v45 = 0; v44 = 0LL; v43 = 0LL; v42 = 0LL; v1 = 5; if ( a1 ) { v1 = IOMasterPort(0LL, &v31); if ( !v1 ) { v3 = IOServiceMatching("AppleGraphicsDeviceControl"); v1 = 5; if ( v3 ) { v4 = (char *)v3; v1 = IOServiceGetMatchingServices(v31, v3, &v33); if ( !v1 ) { v1 = 29; if ( (unsigned int)IOIteratorIsValid(v33) == 1 ) { v29 = a1; v5 = IOIteratorNext(v33); if ( v5 ) { v6 = 0; while ( 1 ) { v1 = IOServiceOpen(v5, mach_task_self_, 2LL, &v32); if ( !v1 ) { v4 = (_BYTE *)(&dword_0 + 1); v25 = &v28; v10 = IOConnectCallMethod(v32, 1LL, 0LL, 0LL, 0LL, 0LL, 0LL, 0LL, &v42); if ( v10 || !v28 ) { v4 = (char *)&dword_10; if ( (unsigned __int8)os_log_type_enabled(&_os_log_default, 16LL) ) { HIWORD(v21) = 256; v22 = 0; v23 = 4; v24 = v10; v4 = (char *)&_os_log_default; _os_log_error_impl(&dword_0, &_os_log_default, 16LL, aErrorUnableToG_1, (char *)&v21 + 2, 8LL); } } else if ( (unsigned int)(v45 - 1) <= 1 ) { v4 = (char *)&v30; if ( !(unsigned int)IORegistryEntryGetRegistryEntryID(v5, &v30) ) { DWORD2(v26) = v5; *(_QWORD *)&v26 = v30; v27 = 0LL; v11 = (__int64 *)ioPresentmentGetNodeMap(&v26); if ( v11 ) { IOObjectRetain(DWORD2(v26)); v12 = 48LL * v6; v4 = v29; *(_QWORD *)&v29[v12 + 48] = v11[5]; *(_QWORD *)&v4[v12 + 40] = v11[4]; *(_QWORD *)&v4[v12 + 32] = v11[3]; *(_QWORD *)&v4[v12 + 24] = v11[2]; v13 = *v11; *(_QWORD *)&v4[v12 + 16] = v11[1]; *(_QWORD *)&v4[v12 + 8] = v13; free(v11); ++v6; } } } v1 = IOServiceClose(v32); if ( v1 ) { v4 = (_BYTE *)(&dword_0 + 1); if ( (unsigned __int8)os_log_type_enabled(&_os_log_default, 1LL) ) { HIWORD(v21) = 256; v22 = 0; v23 = 4; v24 = v1; v4 = (char *)&_os_log_default; _os_log_impl(&dword_0, &_os_log_default, 1LL, aWarningUnableT, (char *)&v21 + 2, 8LL); } } else { v1 = 0; } goto LABEL_31; } v41 = 0LL; v40 = 0LL; v39 = 0LL; v38 = 0LL; v37 = 0LL; v36 = 0LL; v35 = 0LL; *(_OWORD *)v34 = 0LL; IORegistryEntryGetName(v5, v34); v4 = v34; if ( strncmp("AppleGPUWrangler", v34, 0x80uLL) ) { v1 = IORegistryEntryGetRegistryEntryID(v5, &v30); v4 = (char *)&dword_10; v7 = os_log_type_enabled(&_os_log_default, 16LL); if ( v1 ) { if ( !v7 ) goto LABEL_31; v14 = 2; v15 = 2; v16 = 32; v17 = 8; v18 = v34; v19 = 0; v20 = 4; v21 = v1; v8 = 18LL; v4 = (char *)&_os_log_default; v9 = aErrorUnableToO_0; } else { v1 = 0; if ( !v7 ) goto LABEL_31; v14 = 2; v15 = 3; v16 = 32; v17 = 8; v18 = v34; *(_WORD *)&v19 = 2048; *(_QWORD *)&v21 = v30; HIWORD(v24) = 1024; LODWORD(v25) = 0; v8 = 28LL; v4 = (char *)&_os_log_default; v9 = aErrorUnableToO; } _os_log_error_impl(&dword_0, &_os_log_default, 16LL, v9, &v14, v8); } LABEL_31: IOObjectRelease(v5, v4); v5 = IOIteratorNext(v33); if ( v6 > 0xFu || !v5 ) goto LABEL_35; } } v6 = 0; v1 = 0; LABEL_35: if ( v33 ) { IOObjectRelease(v33, v4); v33 = 0; } *(_QWORD *)v29 = v6; } } } } } result = __stack_chk_guard; if ( __stack_chk_guard == v46 ) result = v1; return result; } config.plist.zip src.zip Edited June 17, 2021 by jalavoui updated src.zip 4 Link to comment Share on other sites More sharing options...
hardcorehenry Posted June 18, 2021 Share Posted June 18, 2021 Could someone rework OpcodeEmulator, so it’d work with MacKernelSDK and Xcode 12 compatibility. I have already done it, but I’m not coder/developer and it’d be better if someone more skilled did it. Attaching my reworked version. Clone latest Lilu debug and MacKernelSDK into OpcodeEmulator and build kext. OpcodeEmulator.zip Link to comment Share on other sites More sharing options...
startergo Posted July 13, 2021 Share Posted July 13, 2021 (edited) On 6/18/2021 at 7:28 AM, hardcorehenry said: Could someone rework OpcodeEmulator, so it’d work with MacKernelSDK and Xcode 12 compatibility. I have already done it, but I’m not coder/developer and it’d be better if someone more skilled did it. Attaching my reworked version. Clone latest Lilu debug and MacKernelSDK into OpcodeEmulator and build kext. OpcodeEmulator.zip 139.56 kB · 2 downloads It compiles fine. There are some warnings. OpcodeEmulator.zip Edited July 13, 2021 by startergo 1 Link to comment Share on other sites More sharing options...
hardcorehenry Posted July 13, 2021 Share Posted July 13, 2021 Thanks @startergo I’ll give it a try. Those warnings are also present when trying to build OpcodeEmulator.kext from OP with Lilu version attached by @Meowthra Link to comment Share on other sites More sharing options...
kizwan Posted September 23, 2021 Share Posted September 23, 2021 Sorry if this is wrong section but did you guys use the performance counters to calculate the CPU frequency accurately? I don't know how CPU-Z work currently but they did use performance counters before if I'm not mistaken. Link to comment Share on other sites More sharing options...
sonicthehedgehog2 Posted September 24, 2022 Share Posted September 24, 2022 Does the OpcodeEmulator.kext work with Opencore, or is it strictly only Clover use only? Link to comment Share on other sites More sharing options...
Slice Posted September 25, 2022 Share Posted September 25, 2022 9 hours ago, sonicthehedgehog2 said: Does the OpcodeEmulator.kext work with Opencore, or is it strictly only Clover use only? I see no relation although I wish it will be. 1 Link to comment Share on other sites More sharing options...
hardcorehenry Posted September 25, 2022 Share Posted September 25, 2022 (edited) 11 hours ago, sonicthehedgehog2 said: Does the OpcodeEmulator.kext work with Opencore, or is it strictly only Clover use only? Just try(back up your EFI folder just in case). Add OpcodeEmulator right after other lilu plugins in config.plist. You might also want to see this repo. Edited September 25, 2022 by hardcorehenry 1 Link to comment Share on other sites More sharing options...
sonicthehedgehog2 Posted September 25, 2022 Share Posted September 25, 2022 5 hours ago, hardcorehenry said: Just try(back up your EFI folder just in case). Add OpcodeEmulator right after other lilu plugins in config.plist. You might also want to see this repo. I will give it a go Many thanks Link to comment Share on other sites More sharing options...
hardcorehenry Posted October 4, 2022 Share Posted October 4, 2022 (edited) EpcodeEmulator causes KP with message: "Lilu patcher: @ trying to use long jump on top of slotted jump, please use routeMultipleLong" Anyone knows how to use routeMultipleLong instead of routeFunction in OpcodeEmulator/Kern_opemu.cpp (hook kernel_trap and hook user_trap)? Edited October 4, 2022 by hardcorehenry Link to comment Share on other sites More sharing options...
hardcorehenry Posted October 24, 2022 Share Posted October 24, 2022 I edited OpcodeEmulator(project.pbxpro, kern_opemu.cpp, kern_opemu.hpp) and it doesn’t KP with latest Lilu.kext anymore. I’d appreciate if someone took look at it and suggest or better correct it if needed. Spoiler It shows debug output like in screenshot(needed -liludbgall -opemudbg liludelay=1000). Spoiler After adding -opemubeta it also loads in Catalina(don’t have higher MacOS versions right now). OpcodeEmulator.zip Link to comment Share on other sites More sharing options...
Slice Posted October 24, 2022 Share Posted October 24, 2022 Have you any test to see the Emulator is working? Link to comment Share on other sites More sharing options...
cyrhex Posted October 24, 2022 Share Posted October 24, 2022 2 hours ago, hardcorehenry said: I edited OpcodeEmulator(project.pbxpro, kern_opemu.cpp, kern_opemu.hpp) and it doesn’t KP with latest Lilu.kext anymore. I’d appreciate if someone took look at it and suggest or better correct it if needed. Reveal hidden contents It shows debug output like in screenshot(needed -liludbgall -opemudbg liludelay=1000). Hide contents After adding -opemubeta it also loads in Catalina(don’t have higher MacOS versions right now). OpcodeEmulator.zip 146.94 kB · 0 downloads would you mind to share the opcodeEmulator.kext will try it on my pentiumg5400 with Ventura Link to comment Share on other sites More sharing options...
HmO Posted December 3, 2022 Share Posted December 3, 2022 OpcodeEmulator 1.2.0, build with latest MacKernelSDK, Xcode 14.0, macOS Monterey OpcodeEmulator.kext.zip 3 Link to comment Share on other sites More sharing options...
PeterHolbrook Posted December 19, 2022 Share Posted December 19, 2022 Will this kext provide full AVX/AVX2 emulation, when loaded via OpenCore, to an obsolete Xeon processor (as on a Mac Pro 5,1)? If so, is it reliable and reasonably fast? Link to comment Share on other sites More sharing options...
startergo Posted December 19, 2022 Share Posted December 19, 2022 3 hours ago, PeterHolbrook said: Will this kext provide full AVX/AVX2 emulation, when loaded via OpenCore, to an obsolete Xeon processor (as on a Mac Pro 5,1)? If so, is it reliable and reasonably fast? Why don't you test it? Link to comment Share on other sites More sharing options...
Recommended Posts