Thank you so much for developing and maintaining this extension! Got it working in my iMac10,1 modded with an AMD WX4150 GPU....
Great job!
Great job!
com.apple.AMDRadeonX3000GLDriver
's glrATIR800InitMiscTextureInfo
calls an SSE4,2 instruction (PCMPGTQ
)Mojave running on HD 5770 with acceleration | Big Sur crashing, calling PCMPGTQ |
|
@Syncretic Hello! So with OpenCore Legacy Patcher, ASientientBot, Hedgehog and I have been trying to get acceleration working with TeraScale 2 series. We've had great success for iMac12,1 as well as a Skylake hackintosh but troubles with MacPro3,1. On Mojave, MouSSE works great but we found with macOS Big Sur that we hit an illegal instruction. Specificallycom.apple.AMDRadeonX3000GLDriver
'sglrATIR800InitMiscTextureInfo
calls an SSE4,2 instruction (PCMPGTQ
)
Your driver works great for my RX 570 and the stock drivers, however my HD 5770 hits an illegal instruction only in Big Sur. Likely due to how early AMDRadeonX3000GLDriver and the illegal instruction are called.
Do you have any tips on working around this or perhaps a way to ensure MouSSE is loaded and ready to handle instruction calls? For reference, you can find the binary here: High Sierra's AMDRadeonX3000GLDriver
Extra information regarding hardware setup:
Thanks for any help and insight you can give!
- MacPro3,1
- Dual Xeon X5482 Quad Core
- 16GB DDR2 667Mhz (2GBx8)
- Stock Apple ATI HD 5770 1GB
Thank you so much for the idea regarding installing via S/L/E, unfortunately resulted in the same illegal instruction. I have also verified MouSSE is loaded with kextstat when running Single User off root volume and injected via OpenCore, as well as normal boot in Big Sur with my RX570 running great.
As you noticed, MouSSE isn't present in the logs however other kexts such as Lilu are not as well which I know loaded already due to message logs from verbose.
Do you happen to have any hints as to where else I could investigate?
Thanks for the suggestion, unfortunately same result. However with IOPlatformExpertDevice as the provider class, I can see it much higher in kextstat than before. With AppleACPIPlatformExpert, it's actually lower on the listtry changing the IOProviderClass string value from "IOResources" to something that loads earlier, like IOPlatformExpertDevice or AppleACPIPlatformExpert.
[ 1.258894]: AAA_LoadEarly_MouSSE::start(IOResources) <1>
[ 1.258902]: MouSSE: CPU does not natively support SSE4.2 and/or POPCNT, attempting #UD hook.
[ 1.258920]: MouSSE: SetTrapHook failed.
[ 1.258929]: AAA_LoadEarly_MouSSE::start(IOResources) <1> failed
Edit: Looking at dmesg, I find something interesting:
Code:[ 1.258894]: AAA_LoadEarly_MouSSE::start(IOResources) <1> [ 1.258902]: MouSSE: CPU does not natively support SSE4.2 and/or POPCNT, attempting #UD hook. [ 1.258920]: MouSSE: SetTrapHook failed. [ 1.258929]: AAA_LoadEarly_MouSSE::start(IOResources) <1> failed
Crash dump says 11.4.What version of Big Sur are you using? It looks like it might be 11.3.
Correct, was 11.3. I have an 11.0 Beta 7 from back in August I can install and see if the issue is replicable there as wellWhat version of Big Sur are you using?
Thought "Darwin Kernel Version 20.4.0" meant 11.4:Correct, was 11.3.
I was looking atThought "Darwin Kernel Version 20.4.0" meant 11.4:
root:xnu-7195.101.1
in the picture he posted, which should be 11.3. Now I looked at the dump again, and there's this, right at the top:
Date/Time: 2021-06-02 18:33:24.353 -0600
OS Version: macOS 11.3 (20E232)
Tried it out on DosDude patched MojaveI'm putting MouSSE 0.95 here for what amounts to a public beta.
Thanks for the feedback!@Syncretic Fantastic work, both Big Sur and Monterey working!
Thanks for the test report. I've never used KextBeast, so I'm a little unclear on the exact sequence of events. Did you overwrite MouSSE 0.93 with 0.95, link it into the kernel, reboot, run MouSSEstats, then get a freeze? Or did you load MouSSE 0.95 into a running kernel, run MouSSEstats, then get a freeze? If the latter, was MouSSE 0.93 already loaded when you loaded 0.95?Tried it out on DosDude patched Mojave
Would try rebooting after installing first when I get a moment later.
- Cloned my drive with CCC.
- My standard practice usual before system level updates
- Installed MouSSE 0.95 with KextBeast into L/E
- MouSSE 0.93 lives in L/E
- This is my standard kext installation process.
- Used to upgrade MouSSE to 0.93 on this setup earlier
- KextBeast reported installation went fine
- I then ran MouSSEstats and it reported 0.95 was correctly loaded
- Was able to use mouse and type command etc
- Mac froze afterwards.
- Mouse cursor disappeared and couldn't do anything.
- Seemed fine before running MouSSEstats
- Used power button to restart and it went into a boot loop partway through the process.
- I think around the Stage 2 loading screen
- I rebooted into cloned drive and restored the drive.
The changes are already wrapped as you describe, and they really only affect initialization; Mojave startup should work exactly as it did in 0.93, and the emulator itself hasn't changed. The idea that you loaded 0.95, successfully ran MouSSEstats, then got a freeze is a bit troubling. Adding to my confusion, I can load 0.95 on my Dosdude1-patched Mojave without issue.Can confirm that v0.95 breaks DosDude Mojave for me.
Perhaps the changes need to be wrapped in conditional statements limiting them to Big Sur and newer?
Tried 0.95 in Catalina on MacPro3,1 just for a few minutes. I have a GTX 680 GPU so MouSSE isn't usually required except for World of Warcraft Classic. It's interesting to note that World of Warcraft Burning Crusade Classic and World of Warcraft Shadowlands does not require MouSSE (at least with Nvidia - I didn't test AMD).If you're so inclined, please try the attached and post successes/failures here (along with a hardware description and MacOS version, please). If no issues are found, I'll promote 0.95 to the first post; otherwise, I'll try to address any reported issues when I can. Thanks in advance for any test reports!
(I note that for simply testing OS compatibility, one can load MouSSE on a 4,1/5,1 and run MouSSEstats to see if it's working, then just unload the kext (it won't ever actually do anything useful on a 4,1/5,1).)