Austere.J Posted April 11, 2015 Share Posted April 11, 2015 I worked with @lisai9093 on this new Broadwell-based laptop. Hardware Configurations: i5-5200U with Intel HD Graphics 5500. / ALC3234 / BCM94352NGFF / 1920x1080 According to the kernel panic log, I figured out that the panic reason is "assertion failed minStolenSize <= fStolenMemorySize".So basically if we can pass this assertion, kernel panic will not happen and in theory framebuffer drivers will be loaded and our graphics cards will be happy. And actually it do work in this way.I tried to read the disassemble code and patch the AppleIntelBDWGraphicsFramebuffer binary on this Wednesday to pass the assertion and I succeeded, but IN A WRONG WAY, which led to that nothing shows up on the screen but a pointer. (It seems that I accidentally change the StolenFBMem to 0. (not sure)) (I should let this assertion always return true)According to the latest IOReg and verbose boot logs, Intel framebuffer drivers are loaded, the graphics card was recognized properly, the internal screen was detected correctly, the screen resolution seems right. (We used FakeID, hence the model in ioreg above shows Intel Iris Graphics 6100)So currently we get stuck here. I am not familiar with disassemble code and reverse engineering. (this is way beyond my current knowledge.)It will be great if someone can figure out which part of code is corresponding to the FBMemory assertion and patch it.Here is a quicklook of partial disassemble code of AppleIntelBDWGraphicsFramebuffer binary.And I guess offset 0x01a02c 0x01a02e OR 0x01a081 0x01a087 may be related to the FBMemory assertion. For the framebuffer data, you can check those in my blog. Framebuffer data extracted from AppleIntelBDWGraphicsFramebuffer binary Updated quick notes on this Broadwell-based laptop: Installation Notes: Hackintosh on a new laptop with Intel Broadwell processor Latest IOReg from this laptop: withBDWGraphicsPeter’s MacBook Pro(1).ioreg.zip Any suggestion will be great.Thanks in advance 1 Link to comment Share on other sites More sharing options...
vusun123 Posted April 11, 2015 Share Posted April 11, 2015 Rehabman and Piker should be here, for research purpose 1 Link to comment Share on other sites More sharing options...
intruder16 Posted April 11, 2015 Share Posted April 11, 2015 You'll need to increase "fStolenMemorySize" i think. Lowering fStolenMemorySize triggers that error. 1 Link to comment Share on other sites More sharing options...
Austere.J Posted April 11, 2015 Author Share Posted April 11, 2015 You'll need to increase "fStolenMemorySize" i think. Lowering fStolenMemorySize triggers that error. Yes, I know. But dell provides nothing in bios settings. For desktop, that will be easy. 1 Link to comment Share on other sites More sharing options...
intruder16 Posted April 11, 2015 Share Posted April 11, 2015 Yes, I know. But dell provides nothing in bios settings. For desktop, that will be easy. Correct. If you had a unlocked BIOS you could have had played with DVMT pre-alloc. It's still under development though. I don't have any more ideas. Lets see what others with same hardware says. Link to comment Share on other sites More sharing options...
vusun123 Posted April 12, 2015 Share Posted April 12, 2015 Asus laptops are sure to be able to change DVMT pre-alloc, that's what my experience for owning 3 generations of Asus laptop here ( Sandy to Haswell ) Link to comment Share on other sites More sharing options...
vusun123 Posted April 12, 2015 Share Posted April 12, 2015 Also OP, check in Windows > Resolution > Advanced. Check your Dedicated Memory VRAM Link to comment Share on other sites More sharing options...
Austere.J Posted April 12, 2015 Author Share Posted April 12, 2015 We figured out a proper way to pass the assertion. And now Intel HD Graphics 5500 is working on 10.10.3 but not so perfect. The internal screen is garbled probably due to the DVMT pre-allocated memory is too small (32MB). (We tried different ig-platform-ids.) I will update the post with more detailed information if I have time. I am a little busy these days. Also new laptops use new AMI Aptio V UEFI BIOS which cannot be unlocked by using old method. This is another big problem. 2 Link to comment Share on other sites More sharing options...
vusun123 Posted April 12, 2015 Share Posted April 12, 2015 So the problem is on the laptop, not on the bootloader/kext right ? Would like to see how it turns out on other laptop as well, especially the Asus one, which DVMT pre-alloc can be changed easily. Can you update the first post for the more in-depth info on how you got it to work ? Edit: did you use the ig-platform-id 0x16160000 here ? Link to comment Share on other sites More sharing options...
sontrg Posted April 12, 2015 Share Posted April 12, 2015 You can change DVMT size *without* request for modding for bios. First, download your bios, and open with the tools in this link http://forums.mydigitallife.info/threads/13358-How-to-Use-New-Phoenix-Bios-Mod-Tool-to-Modify-Phoenix-Dell-Insyde-EFI-Bios-Files . Then, use the "Structure" button to access UEFI modules After that, find a module name 'SetupUtilities', dump it out with decompression. Next, using this tool to dump the bios setup options: http://donovan6000.blogspot.com/2014/02/universal-ifr-extractor.html Finally, reading this topic https://www.bios-mods.com/forum/Thread-READ-FIRST-Access-Advanced-settings-through-EFI-shell . For short, you have to find the DVMT option hidden somewhere in the options, write down the variable involved, change that variable via the provided UEFI shell. Good luck. 1 Link to comment Share on other sites More sharing options...
Austere.J Posted April 12, 2015 Author Share Posted April 12, 2015 You can change DVMT size *without* request for modding for bios. First, download your bios, and open with the tools in this link http://forums.mydigitallife.info/threads/13358-How-to-Use-New-Phoenix-Bios-Mod-Tool-to-Modify-Phoenix-Dell-Insyde-EFI-Bios-Files . Then, use the "Structure" button to access UEFI modules After that, find a module name 'SetupUtilities', dump it out with decompression. Next, using this tool to dump the bios setup options: http://donovan6000.blogspot.com/2014/02/universal-ifr-extractor.html Finally, reading this topic https://www.bios-mods.com/forum/Thread-READ-FIRST-Access-Advanced-settings-through-EFI-shell . For short, you have to find the DVMT option hidden somewhere in the options, write down the variable involved, change that variable via the provided UEFI shell. Good luck. Thanks for replying. I quickly go over the first link you post. I saw the writter said AMI BIOS was not supported. I am not sure whether it will work. Actually, I already extracted the IFR from the Setup PE32 image. And I also located the DVMT settings. I will tried to use EFI shell to modify BIOS settings. Link to comment Share on other sites More sharing options...
vusun123 Posted April 13, 2015 Share Posted April 13, 2015 Thanks for replying. I quickly go over the first link you post. I saw the writter said AMI BIOS was not supported. I am not sure whether it will work. Actually, I already extracted the IFR from the Setup PE32 image. And I also located the DVMT settings. I will tried to use EFI shell to modify BIOS settings. So how did it go ? From my POV, when you change DVMT to 64MB, you need to use ig 0x16160002, right ? Link to comment Share on other sites More sharing options...
lisai9093 Posted April 13, 2015 Share Posted April 13, 2015 So how did it go ? From my POV, when you change DVMT to 64MB, you need to use ig 0x16160002, right ? We did it! DVMT now is 64MB, confirmed in Windows. So Austere modified the fb to match 64MB in BIOS for 0x16160000. Then screen got garbled after restart. We fixed it by switching screen resolution to lower one and switch back. However, a new problem emerges: OS randomly freezes! I looked up the console and found it is cause by GPU hung. The logs are attached, one is from console, the other one from system report. Have no idea where the problem lies.... logs.zip Link to comment Share on other sites More sharing options...
vusun123 Posted April 14, 2015 Share Posted April 14, 2015 We did it! DVMT now is 64MB, confirmed in Windows. So Austere modified the fb to match 64MB in BIOS for 0x16160000. Then screen got garbled after restart. We fixed it by switching screen resolution to lower one and switch back. However, a new problem emerges: OS randomly freezes! I looked up the console and found it is cause by GPU hung. The logs are attached, one is from console, the other one from system report. Have no idea where the problem lies.... No PM can usually cause OS freeze or reboot. Why not use 16160002 ? I saw it use 64MB DVMT pre-alloc Edit: I saw Austere's post on " that site ", you switched to 0x16160002 and not a single problem related to garbled screen now. Link to comment Share on other sites More sharing options...
lisai9093 Posted April 14, 2015 Share Posted April 14, 2015 No PM can usually cause OS freeze or reboot. Why not use 16160002 ? I saw it use 64MB DVMT pre-alloc Edit: I saw Austere's post on " that site ", you switched to 0x16160002 and not a single problem related to garbled screen now. That not exactly true. After switching it still freezes. The garbled screen can be fixed by enabling Legacy Support in BIOS setting, or switching screen resolution back and forth. I still have no clue on the freeze issue so far..... Link to comment Share on other sites More sharing options...
vusun123 Posted April 15, 2015 Share Posted April 15, 2015 That not exactly true. After switching it still freezes. The garbled screen can be fixed by enabling Legacy Support in BIOS setting, or switching screen resolution back and forth. I still have no clue on the freeze issue so far..... Maybe we need to patch its OpenCL here, like what is needed for HD4400/4600 ? Link to comment Share on other sites More sharing options...
Mirone Posted April 17, 2015 Share Posted April 17, 2015 hmmm, I have some thoughts on these issues. Link to comment Share on other sites More sharing options...
lisai9093 Posted April 17, 2015 Share Posted April 17, 2015 hmmm, I have some thoughts on these issues. Really?! Now I am able to enable HD5500 QE/CI. However, the problem is Mac OS will randomly freeze: can move mouse cursor, but everything else stop working and responding. Tried many methods but no effect Link to comment Share on other sites More sharing options...
avin7000 Posted May 4, 2015 Share Posted May 4, 2015 Really?! Now I am able to enable HD5500 QE/CI. However, the problem is Mac OS will randomly freeze: can move mouse cursor, but everything else stop working and responding. Tried many methods but no effect Has there been any success? I am thinking to get similar laptop Link to comment Share on other sites More sharing options...
vusun123 Posted May 4, 2015 Share Posted May 4, 2015 It's already done, so go for it Link to comment Share on other sites More sharing options...
lisai9093 Posted May 5, 2015 Share Posted May 5, 2015 Has there been any success? I am thinking to get similar laptop The temporary solution is to boot into Windows, then restart to Mac. I believe the problem is BIOS related, so still waiting for the BIOS update 1 Link to comment Share on other sites More sharing options...
nolow Posted June 17, 2015 Share Posted June 17, 2015 Hello lisai9093, Im just wondering if it is still the case that you have to log into windows and back..... I am dual booting 10.10.3 and Windows 7 right now on a Broadwell HD5500 Asus X555L... I was getting and identical error to yours. Tried many id codes, and no matter what I would eventually lock up. I updated my BIOS using ASUS website to the most recent one as of this writing. If I boot into windows 7 and then restart into OS X it seems to go away..I have 64mb preallocated in my DVMT and I am booting with CSM (Legacy Mode)Please say you found something haha : ) 1 Link to comment Share on other sites More sharing options...
SteveRings Posted July 2, 2015 Share Posted July 2, 2015 I'm running a Dell 7548 w/HD5500 and NO freezes. DVMT = 64MB via FireWolf's set_var explanation and a modification I made to FB16160002: This modification will reduce your potential displays to 2; one LVDS reported as BUILT-in and one HDMI and is quite stable. I have tested it on 10.10.3, 10.10.4, 10.11 Beta1 and 10.11 Beta 2. I have two virtually identical 7548's running this patch apparently, at the moment, flawlessly. I also discovered that the version of VoodooPS2 you are running seems to make a difference although I cannot prove it; I'm running the 2015-05-02 version. Hibernate does cause a scrambled screen on restore on the built-in screen only; I set a hot-corner for display sleep and just sleep the display for a second to restore. Link to comment Share on other sites More sharing options...
lisai9093 Posted July 2, 2015 Share Posted July 2, 2015 Freeze can be solved by restart from Windows under 10.10. And the issue is fixed by Apple in 10.11 Link to comment Share on other sites More sharing options...
nolow Posted July 10, 2015 Share Posted July 10, 2015 @SteveRings Is that your config.plist? If so would you mind uploading? : ) Thank you @Lisai9093 Thank you for the information. I am split between doing Steves' fix or using El Capitan. Is the Beta stable? Will it be a simple matter of updating once it is released, or will I have to reinstall? Your best guess please ; ) Link to comment Share on other sites More sharing options...
Recommended Posts