Slice Posted January 10, 2016 Share Posted January 10, 2016 I have HD6670 so it controlled by 6000 controller. In maverics all is OK. I can boot without ATI injection and can boot with ATI injection with FB=Ipomoea and with connectors patch. All works fine including sleep and wake. Smbios set to iMac12,2 which has Radeon HD6770M also Turks as my Radeon. Installed ElCapitan I encounter strange problem: black screen with or without ATI injection. My deviceID=6758 is still present in all AMD kexts but now it is not enough. To make graphics working I have to apply FakeID=0x67401002 as in real iMac12,2. It is enough if without injection but I have to do something else (I didn't remember) to make it also working with injection. I know that my prototype iMac12,2 sleep and wake, so I copied all device properties from it to my config. No. It is not a way to go. Tested changes in AppleGPUPM, no success. Tested additional SMC key, same results. Tested different DSDT trick, same results. Tested PCI bus tuning by additional kext, no success. Tested different ways to make Intel HD2000 working, the best result is frosen desktop. Else "no kext loaded" and no wake. Try to load kexts from previous systems. Not working. If AMD6000Controller is not working then monitor wakes. I also controlled information from internet if someone has a success or approach to it. Two successes: 1. hibernation, 2. Intel HD4000 set primary. Link to comment Share on other sites More sharing options...
Micky1979 Posted January 10, 2016 Share Posted January 10, 2016 Look also at /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist there are predefine configurations based on SMBIOS used (ConfigMap/Default that use config1, config2 and none). Maybe can be used to change default behavior from the mac model emulation used: a custom configuration can be added (config3?) for specific model I guess. (ha ha, GFX1 is used in MacPro6,1 with two cards?.. but why is unloaded? user have to break the kext signature to make it work if installed? ) Link to comment Share on other sites More sharing options...
cecekpawon Posted January 10, 2016 Share Posted January 10, 2016 someone said for power only, i dont know Link to comment Share on other sites More sharing options...
wern apfel Posted January 10, 2016 Share Posted January 10, 2016 I've interrupted my test to fix my sound card and will continue soon. I had it working, tried more then 10 successful wakes but was not satisfying. Because i remember that i've patched a framebuffer with LVDS at 1st port where the 1st port was not working, the working port was the 3rd HDMI. 1st port plugged in DP1 non functional (cable must remain plugged in) 2nd port DP2 working (but no wake fron sleep) 3rd port HDMI working It was not usable for me, because 4K@30 is laggy I'm sorry crappy explained, but maybe it helps Also strange power settings Link to comment Share on other sites More sharing options...
Mieze Posted January 10, 2016 Share Posted January 10, 2016 We shouldn't forget that mainboard BIOS plays an important role. The solution I found is working properly on the Asrock H97M Pro 4 but nothing I tried was able to make the AMD GPU wakeup on the Asrock B85 Killer and some of us might have the same problem, i.e. are out of luck with their hardware configuration. Yes, this sounds pessimistic but there is little hope to resolve this issue for those who got the wrong hardware. Mieze 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted January 10, 2016 Share Posted January 10, 2016 someone said for power only, i dont know Don't know and not sure but the EDID settings there... are not related to power management Link to comment Share on other sites More sharing options...
Vlada. Posted January 11, 2016 Share Posted January 11, 2016 Yes, this sounds pessimistic but there is little hope to resolve this issue for those who got the wrong hardware. That's unfortunate! Seems to me like that our best option would be, switching to NVIDIA... Obviously, not a very popular move, but after all, it is a sort of solution... Link to comment Share on other sites More sharing options...
Ciro82 Posted January 12, 2016 Share Posted January 12, 2016 That's unfortunate! Seems to me like that our best option would be, switching to NVIDIA... Obviously, not a very popular move, but after all, it is a sort of solution... Never!!! Link to comment Share on other sites More sharing options...
macandrea Posted January 12, 2016 Share Posted January 12, 2016 I'm sorry, I fixed the reboot issue on wake and I have the: Mac-Pro kernel[0] <Notice>: AMDFramebufferSI::setPowerState(0xa43045eeb16a1311, 0 -> 2) timed out after 45473 ms so Maguro only works for display sleep on my setup. I tried inserting my old NVIDIA card as a secondary and I get this log message upon wake (I have to reboot of course). Isn't it strange? Mac-Pro kernel[0] <Notice>: AMDFramebufferSI::setPowerState(0xa43045eeb16a1311, 0 -> 2) timed out after 45473 ms Mac-Pro kernel[0] <Notice>: NVDATesla::setPowerState(0xa43045eeb17a1311, 0 -> 2) timed out after 45476 ms Link to comment Share on other sites More sharing options...
Mieze Posted January 12, 2016 Share Posted January 12, 2016 I'm sorry, I fixed the reboot issue on wake and I have the: Mac-Pro kernel[0] <Notice>: AMDFramebufferSI::setPowerState(0xa43045eeb16a1311, 0 -> 2) timed out after 45473 ms so Maguro only works for display sleep on my setup. I tried inserting my old NVIDIA card as a secondary and I get this log message upon wake (I have to reboot of course). Isn't it strange? Mac-Pro kernel[0] <Notice>: AMDFramebufferSI::setPowerState(0xa43045eeb16a1311, 0 -> 2) timed out after 45473 ms Mac-Pro kernel[0] <Notice>: NVDATesla::setPowerState(0xa43045eeb17a1311, 0 -> 2) timed out after 45476 ms What happens when the NVIDIA card is set as primary? Mieze Link to comment Share on other sites More sharing options...
macandrea Posted January 12, 2016 Share Posted January 12, 2016 @Mieze 1. Nvidia as the only card: sleep wake ok 2. Nvidia as primary, Radeon secondary, Radeon connected to display nvidia connected to display: crashes on boot 3. Nvidia As primary, Radeon secondary, Radeon connected nvidia disconnected to display: both cards timeout on wake 4. Radeon as primary, nvidia secondary, Radeon connected nvidia connected or disconnected: both cards timeout on wake For both 3 and 4, status led display on asus mainboard is stuck on the value "30" meaning waking up from s3 status. Link to comment Share on other sites More sharing options...
Slice Posted January 20, 2016 Share Posted January 20, 2016 May this help? Image Link to comment Share on other sites More sharing options...
Slice Posted January 20, 2016 Share Posted January 20, 2016 See logic: 0000000000104744 B810680000 mov eax, 0x6810 ; XREF=0x104699 0000000000104749 488B4DF8 mov rcx, qword [ss:rbp-0x90+var_136] 000000000010474d 3B4104 cmp eax, dword [ds:rcx+0x4] 0000000000104750 0F8549000000 jne 0x10479f ... 0000000000104756 B86B100000 mov eax, 0x106b 000000000010475b 488B4DF8 mov rcx, qword [ss:rbp-0x90+var_136] 000000000010475f 3B4114 cmp eax, dword [ds:rcx+0x14] 0000000000104762 0F8537000000 jne 0x10479f .... 00000000001047a3 E828F30000 call _PhwSIslands_InitializePowerTuneDefaults_113ad0 So.... good Power Tune will be for DeviceID=0x6810 and SubsystemVendorID=0x106B (Apple) 1 Link to comment Share on other sites More sharing options...
djseban Posted January 21, 2016 Share Posted January 21, 2016 Just updated to 10.11.3 - this update doesn't change anything on wake issue with AMD GPUs. May this help? Image Tried it right now on R9 390 and wake still doesn't work. LuxMark also doesn't display my card as FirePro D700, but it's probably because of that D700 is Tahiti and R9 390 is Hawaii. Worth a note I tried Clover patch, aswell as manual binpatch by hex editor. See logic: 0000000000104744 B810680000 mov eax, 0x6810 ; XREF=0x104699 0000000000104749 488B4DF8 mov rcx, qword [ss:rbp-0x90+var_136] 000000000010474d 3B4104 cmp eax, dword [ds:rcx+0x4] 0000000000104750 0F8549000000 jne 0x10479f ... 0000000000104756 B86B100000 mov eax, 0x106b 000000000010475b 488B4DF8 mov rcx, qword [ss:rbp-0x90+var_136] 000000000010475f 3B4114 cmp eax, dword [ds:rcx+0x14] 0000000000104762 0F8537000000 jne 0x10479f .... 00000000001047a3 E828F30000 call _PhwSIslands_InitializePowerTuneDefaults_113ad0 So.... good Power Tune will be for DeviceID=0x6810 and SubsystemVendorID=0x106B (Apple) The whole idea stands on changing the SubVendorID from Apple to your card's SubVendorID, am I right? But is it possible with another DeviceIDs (0x6810 is R9 270X as I recall)? Link to comment Share on other sites More sharing options...
TheRacerMaster Posted January 21, 2016 Share Posted January 21, 2016 D700 faking will probably only work with a 7970 & using MacPro6,1 SMBIOS. Link to comment Share on other sites More sharing options...
Slice Posted January 21, 2016 Share Posted January 21, 2016 Just updated to 10.11.3 - this update doesn't change anything on wake issue with AMD GPUs. Tried it right now on R9 390 and wake still doesn't work. LuxMark also doesn't display my card as FirePro D700, but it's probably because of that D700 is Tahiti and R9 390 is Hawaii. Worth a note I tried Clover patch, aswell as manual binpatch by hex editor. The whole idea stands on changing the SubVendorID from Apple to your card's SubVendorID, am I right? But is it possible with another DeviceIDs (0x6810 is R9 270X as I recall)? I think 6810 can also be changed to your DeviceID. It's a pity it doesn't explain why iMac12,2 can wake. Link to comment Share on other sites More sharing options...
Ciro82 Posted January 21, 2016 Share Posted January 21, 2016 D700 faking will probably only work with a 7970 & using MacPro6,1 SMBIOS. I will give it a try @Slice what do you think? I will try this patch and use Mac Pro 6,1 Smbios <key>KextsToPatch</key> <array> <dict> <key>FirePro D700</key> <string>AMDRadeonX4000</string> <key>Find</key> <data>axAnAQ==</data> /* 6B102701 */ <key>Replace</key> <data>YhR1Jw==</data> /* 62147527 */ </dict> </array> Link to comment Share on other sites More sharing options...
oculto Posted January 21, 2016 Share Posted January 21, 2016 I will give it a try @Slice what do you think? I will try this patch and use Mac Pro 6,1 Smbios <key>KextsToPatch</key> <array> <dict> <key>FirePro D700</key> <string>AMDRadeonX4000</string> <key>Find</key> <data>axAnAQ==</data> /* 6B102701 */ <key>Replace</key> <data>YhR1Jw==</data> /* 62147527 */ </dict> </array> Good, this trick make my Z97Z-SLI with 2x R9 280x (IGPU DISABLE) works fine with macpro6,1 AND AIRPLAY MIRROR WORKING!!! no change in performance wise, at least during this short time test. BruceX is under 12 seconds and old Luxmark SALA over 5100 points... I will test a little bit more about sleep, and still need to fix USB 3.0 but it seems a lot better than iMac14,2 with IGPU enable (with works fine, but didn't sleep and wake like yosemite, and IGPU was aways at top speed) For those who has has well with 2x identical Radeon R9 280X this could be a better solution. Remember to path AppleTyMCEDriver and run ssdtgen and freqVectorsEdit from piker alpha to fix several CPU related things.... UPDATE1: sleep doesn't work.... maybe because device GCON is not define right, and don't load the AppleMGPUControl drivers.... Link to comment Share on other sites More sharing options...
Mieze Posted January 21, 2016 Share Posted January 21, 2016 UPDATE1: sleep doesn't work.... maybe because device GCON is not define right, and don't load the AppleMGPUControl drivers.... As far as I know device GCON takes the place of the IGPU on MacPro6,1 with regard to wakeup. Mieze Link to comment Share on other sites More sharing options...
oculto Posted January 21, 2016 Share Posted January 21, 2016 As far as I know device GCON takes the place of the IGPU on MacPro6,1 with regard to wakeup. Mieze Yes, but I create the DSDT entries for GCON, but the drivers didn't load. I dont know how to make it load the drivers. the DSDT code I use is this: Device (GCON){ OperationRegion (GPIO, SystemIO, 0x0500, 0x64) Field (GPIO, ByteAcc, NoLock, Preserve) { GP06, 1 } Name (_HID, EisaId ("APP000B")) Name (_CID, "gcon") Name (_STA, 0x0B) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0700, // Range Minimum 0x07FF, // Range Maximum 0x01, // Alignment 0xFF, // Length ) }) Name (_PRW, Package (0x02) { 0x16, 0x04 }) Name (GMGP, 0x16) Method (GMSP, 1, NotSerialized) { If (LLessEqual (Arg0, One)) { Or (GP06, Arg0, GP06) } } Method (GMLV, 0, NotSerialized) { Return (GP06) } } but the kexts AppleMGPUPowerControl didnt load... Link to comment Share on other sites More sharing options...
Mieze Posted January 21, 2016 Share Posted January 21, 2016 @oculto: The driver probably fails initialization because GCON is a piece of real hardware not just some ACPI pseudo device. @Slice: I've got an original iMac12,1. If there is anything you might need in order to find a solution for your machine, please let me know! Mieze Link to comment Share on other sites More sharing options...
Slice Posted January 22, 2016 Share Posted January 22, 2016 @oculto: The driver probably fails initialization because GCON is a piece of real hardware not just some ACPI pseudo device. @Slice: I've got an original iMac12,1. If there is anything you might need in order to find a solution for your machine, please let me know! Mieze Thank you for your proposition but I don't know what to look. I already have two darwindumper reports from iMac12,2. Before and after sleep. I analysed them several months without any conclusions. I think the answer is inside binaries. 1 Link to comment Share on other sites More sharing options...
macandrea Posted January 22, 2016 Share Posted January 22, 2016 Used the same approach to fake FirePro D300 using R9 270x, but no apparent benefit + still no wake from sleep Andrea Link to comment Share on other sites More sharing options...
oculto Posted January 23, 2016 Share Posted January 23, 2016 Used the same approach to fake FirePro D300 using R9 270x, but no apparent benefit + still no wake from sleep Screen Shot 2016-01-23 at 00.24.37.png Andrea Benefit: Airplay mirror to apple TV works with IGPU disable. this is the method Mac Pro use, all other macs use IGPU to do that. Most of hackintoshes dont plug display at IGPU.... Link to comment Share on other sites More sharing options...
djseban Posted January 24, 2016 Share Posted January 24, 2016 One strange thing happened today.. Recently my main system was Windows, but decided to use OS X, since it's better for me for programming. So I entered the BIOS, changed primary graphics from PEG to IGP and guess what.. my system booted just fine, without blind boot. Intel HD4600 pops up in Clover setting and in OS X. Multi-monitor works, but no luck with wake (I will reinstall OS X and try once more). I don't know how it happened, most likely it's just some glitch in BIOS settings. @edit: No luck with wake after reinstall. I guess I will reflash the BIOS @edit2: Reflashed BIOS, the issue is still there. When I boot with IGD as primary I get boot up output on the display attached to my R9 390. One thing is curious. If I boot the system with no display attached, and I attach a display after OS X boots, wake is working. Otherwise, when booting with display <-> R9 390, wake isn't working. Apparently having fully working HD4600 isn't enough for OS X to wake with Radeon card. 1 Link to comment Share on other sites More sharing options...
Recommended Posts