Jump to content

Intel HD Graphics 5500 - Need some help


Austere.J
 Share

51 posts in this topic

Recommended Posts

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.

 

post-1432100-0-03217900-1428733411_thumb.png

post-1432100-0-80688400-1428733447_thumb.png

post-1432100-0-71253600-1428733454_thumb.jpg

 

(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.

 

post-1432100-0-96916100-1428733502_thumb.png

 

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 :)

  • Like 1
Link to comment
Share on other sites

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

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.

 

Snip20150412_3.png

  • Like 2
Link to comment
Share on other sites

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

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.

 

Capture.jpg

 

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.

 

Capture1.jpg

 

Good luck.

  • Like 1
Link to comment
Share on other sites

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.

 

Capture.jpg

 

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.

 

Capture1.jpg

 

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

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

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

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

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

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

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

  • 3 weeks later...

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

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

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

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 : )

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

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:post-685823-0-30839700-1435794745_thumb.png

 

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

  • 2 weeks later...

@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

 Share

×
×
  • Create New...