Jump to content
Austere.J

[GUIDE] Intel HD Graphics 5500 on OS X Yosemite 10.10.3

49 posts in this topic

Recommended Posts

After several weeks' work with @lisai9093, now it's time to post a guide. :)  

 

GUIDE: Intel HD Graphics 5500 on OS X Yosemite 10.10.3  

 

Snip20150416_7.png

 

Before we get started:

 

The basic idea to make Broadwell's integrated graphics card work does not change. If you have Intel HD Graphics 5300 or other IGPU models supported by AppleIntelBDWGraphicsFramebuffer.kext, you can try it by yourself.

 

Brief Introduction:

 

The basic idea to let Intel HD Graphics 5500 work is still injecting AAPL, ig-platform-id.

 

However, Apple raised the minimum stolen memory in the AppleIntelBDWGraphicsFramebuffer binary of OS X Yosemite 10.10.3. Kernel panic will happen if the DVMT pre-allocated memory in BIOS settings is lower than 66MB. This is not a big deal for Desktop PCs users, because one can easily change the DVMT pre-allocated memory in BIOS.

 

But this is catastrophic for laptop users, because

(1) the default value of DVMT pre-allocated memory in most laptops BIOS is 32MB.

(2) OEM will not unlock these advanced settings/menus for us.

(3) We can try to modify BIOS but cannot pass the security check during flashing modified BIOS.

 

Detailed Step-by-step guide:

 

STEP 1: Check the current DVMT pre-allocated memory size.

Open the Screen Resolution window, click the Advanced settings and check Dedicated Video Memory.

 

Snip20150416_5.png

 

After I played with changing DVMT pre-allocated memory in BIOS, the following pattern can be found.

If Dedicated Video Memory = 0MB, then DVMT pre-allocated memory in BIOS settings is 32MB.

If Dedicated Video Memory = 32MB, then DVMT pre-allocated memory in BIOS settings is 64MB.

If Dedicated Video Memory = 64MB, then DVMT pre-allocated memory in BIOS settings is 96MB.

If Dedicated Video Memory = 128MB, then DVMT pre-allocated memory in BIOS settings is 128MB.

 

TABLES: Relationship between Dedicated Video Memory detected by OS and DVMT pre-allocated memory in BIOS settings.

Snip20150416_9.png

In general, if DVMT pre-allocated memory in BIOS settings is less or equal to 96MB, the StolenMemory that could be detected by OS is (DVMT - 32) MB.

If DVMT pre-allocated memory in BIOS settings is larger or equal to 128MB, the StolenMemory that could be detected by OS is (DVMT) MB. (equal to the value of DVMT pre-allocated memory)

 

Now let's come back to our main topic, Dedicated Video Memory >=64MB (i.e. DVMT pre-allocated memory >= 96MB) will pass the assertion/kernel panic.

Note that OS X can not boot on some laptops if DVMT pre-allocated memory is >= 128MB.

Therefore, if your current DVMT pre-allocated memory size <= 64MB (i.e. Dedicated Video Memory <= 32MB), you can either choose using our patch in STEP 2.1 or changing DVMT pre-allocated setting in STEP 2.2

 

STEP 2.1: Apply the patch to pass the Stolen Memory assertion.

 

We need to patch AppleIntelBDWGraphicsFramebuffer binary file.

Find 39CF763C and replace it with 39CF773C.

 

After using this patch, in theory you don't have to change your BIOS settings. You can try to inject ig-platform-id and see what happens.

If you encounter some problems, try to modify Framebuffer data in AppleIntelBDWGraphicsFramebuffer binary.

Detailed information on Broadwell's framebuffer can be found on this page.

 

STEP 2.2: Using EFI Shell to change DVMT settings in BIOS.

 

(1) Prepare a bootable USB drive with EFI Shell

Prepare a USB stick and format it with FAT32 filesystem.

Download this EFI shell and you can find a folder named BOOT after extracting.

Copy this BOOT folder to your USB stick.

 

(2) Dump/Fetch a completed BIOS file.

You can use specific BIOS utility to save a copy of your BIOS on Desktop.

e.g. For AMI Aptio UEFI BIOS, you can use AMI BIOS Utility.

 

(3) Extract BIOS Settings from a BIOS file.

Download UEFITools from https://github.com/LongSoft/UEFITool/releases

Open your BIOS file with UEFITools.

Find the module labeled with Setup and extract the PE32 image section in this module as a binary file.

 

Snip20150416_2.png

 

Now, you will have a binary file on your Desktop. In my case, I name it Setup.bin.

Next, download the Universal IFR Extractor (Windows version only) from http://donovan6000.blogspot.ca/2014/02/universal-ifr-extractor.html or from here: Universal IFR Extractor.exe.

 

Open the Universal IFR Extractor in Windows, open the binary you just extracted from UEFITools and click Extract to save the BIOS settings in plain text format.

Snip20150416_3.png

 

Now open the extracted setup IFR.txt and find the keyword "DVMT".

And you can find the variable representing DVMT pre-allocated memory and its values.

 

Snip20150416_4.png

 

In this case, DVMT pre-allocated memory's variable is 0x1C3. The value of 96MB is 0x3. Record these two values.

Next, restart your computer and boot from the USB drive with EFI Shell.

Here, we use setup_var command to change our BIOS settings.

syntax: setup_var address value

OK, now type the command in EFI shell.

In this case, the command is setup_var 0x1C3 0x3. (Change the value of 0x1C3 to 0x3, which means changing the DVMT to 96MB.)

After changing the DVMT pre-allocated memory, go back to Windows and double check whether your current Dedicated Video Memory is 64MB. (96 - 32 = 64MB)

STEP 3: Injecting AAPL, ig-platform-id

You can use either Clover or DSDT/SSDTs to inject AAPL, ig-platform-id.

 

If you want to use Clover, let InjectIntel = True and ig-platform-id=0x16160002.

 

If you want to use DSDT/SSDT to inject AAPL, ig-platform-id, 0x16160002 is working fine.

Then open your DSDT, find Device (GFX0) or Device (IGPU) or Name (_ADR, 0x00020000) and add the Device-Specific Method.

Method (_DSM, 4, NotSerialized)
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Return (Buffer (One)
                            {
                                0x03
                            })
                        }

                        Return (Package (0x08)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x16, 0x16, 0x00, 0x00
                            }, 

                            "AAPL,ig-platform-id", 
                            Buffer (0x04)
                            {
                                0x02, 0x00, 0x16, 0x16
                            }, 

                            "model", 
                            Buffer (0x17)
                            {
                                "Intel HD Graphics 5500"
                            }, 

                            "hda-gfx", 
                            Buffer (0x0A)
                            {
                                "onboard-1"
                            }
                        })
                    }

Place your DSDT in /EFI/Clover/ACPI/Patched/

Restart your computer and you will find Intel HD Graphics 5500 is working now.

 

Some Issues you may encounter:

(1) Garbled Screen Issue

Enable Legacy Support in your BIOS settings.

 

(2) Screen Freeze Issue (GPU hang and restart)

Using FakeSMC 5.3.820 or other 5.x.xxx version will decrease the opportunity to freeze.

(Note that please delete CPUSensors.kext from FakeSMC.kext if you get kernel panic related to CPUSensors.kext)

 

Reference and Special Thanks:

Thanks to Rehabman for his advice on garbled screen issue.

Thanks to nguyenmac for his clues on freeze issue.

Thanks to sontrg for his direction to BIOS modification.

Thanks to Google for providing information. Thanks to the-darkvoid for his QHD+ Guide on HD4600.

Share this post


Link to post
Share on other sites
Advertisement

Yes!  :)

Great!!! I have been waiting to upgrade from my old setup, now since this is working, I can finally do it. 

 

How often is screen freeze issues?

Share this post


Link to post
Share on other sites

The patch in grub does not work for me. I got the following message:

 

offset 0x18c: is 0x01

setting offset 0x18c to 0x03

error: can't set variable using EFI (error: 0x000000000000001a).

 

Yoga 2 Pro - i7 - HD4400

 

Thanks in advance!

Share this post


Link to post
Share on other sites

The patch in grub does not work for me. I got the following message:

 

offset 0x18c: is 0x01

setting offset 0x18c to 0x03

error: can't set variable using EFI (error: 0x000000000000001a).

 

Yoga 2 Pro - i7 - HD4400

 

Thanks in advance!

 

Have a look at:

http://www.insanelymac.com/forum/topic/306402-lenovo-yoga-2-pro-hd4400-qhd-qeci-working/?hl=%2Byoga+%2Bpro+%2Bqhd%2B

 

You may have to revert your bios to the attached version.

Share this post


Link to post
Share on other sites

Hello there i have recently bought a  Dell inspiron 15 3000  Model  3543 
 
it has a  
 
Core i3 Broadwell  5005U @ 2.0 Ghz  Cpu
 
and the graphics gpu are Intel HD 5500 Graphics 
 
 
i attach 2 images to make it clear 
 
21044766642_8bf2f9a76f_c.jpg
 
 
and a capture of my dedicated video memory

 

 

21044803842_15376fc4a7_o.png

 

 

so i need help i read the tutorial and says that if i have 128  i just need to edit  and use the first step  and  2.1 Only? or i have to  do all the steps and modifying my bios?

 

 

i read that this issue is fixed in el capitan,  may i know if i just  need to wait until the release of the  os, or it just el capitan fixes the freezes of the igpu?

 

i am a little bit confused and i will be so grateful if you can help me?

 

 

Thanks in Advance, Regards Henser Paredes

Share this post


Link to post
Share on other sites

Okay i  have tried without this tutorial, but  the installer doesn't boot, so i will follow the steps and try,  may i know where to download 10.10.3 since i only have 10.10 on my mac app store ?

Share this post


Link to post
Share on other sites

hello again, may i know wich app to use to  Patch binary file? text edit or some other app to replace   (Find 39CF763C and replace it with 39CF773C.)

Share this post


Link to post
Share on other sites

Looking at these dumps

http://www.insanelymac.com/forum/topic/307856-haswell-yosemite-mavericks-ig-platform-id-info/

I have a doubt that 

ig-platform-id=0x16160002

can be used in 10.10.5. The value is unknown for Yosemite.

that link refers to Haswell HD 4400/4600, not Broadwell HD5500

 

 

hello again, may i know wich app to use to  Patch binary file? text edit or some other app to replace   (Find 39CF763C and replace it with 39CF773C.)

Try Hexfiend or 0xED

Share this post


Link to post
Share on other sites

(2) Dump/Fetch a completed BIOS file.

 

You can use specific BIOS utility to save a copy of your BIOS on Desktop.

e.g. For AMI Aptio UEFI BIOS, you can use AMI BIOS Utility.

I have a dell inspiron 7348 (the same you mentioned in your blog) and i tried to dump the BIOS via (Universal BIOS Backup ToolKit 2.0) but it says my BIOS can't be identified. So what method did you use for that?

Share this post


Link to post
Share on other sites

Guys, sorry for my english, and for entering in a post so long after it's final reply. And sorry for my ignorance too. So, I bought this laptop some days ago, and I've never edited a binary from a kext, or do some apply (I don't know if that's how it's said) on clover. I got my hack working yesterday, audio, ethernet, touchpad (without gestures) and keyboard are all working, but the acceleration from HD 5500 isn't. It appears on about this mac, but as 4mb. Can you help me? 

Share this post


Link to post
Share on other sites

Guys, sorry for my english, and for entering in a post so long after it's final reply. And sorry for my ignorance too. So, I bought this laptop some days ago, and I've never edited a binary from a kext, or do some apply (I don't know if that's how it's said) on clover. I got my hack working yesterday, audio, ethernet, touchpad (without gestures) and keyboard are all working, but the acceleration from HD 5500 isn't. It appears on about this mac, but as 4mb. Can you help me? 

 

Read the first page. You'll most likely need to change the DVMT pre-allocated size to at least 64MB. If you have a QHD display, maybe 96MB (not sure about this, please correct me if I'm wrong).

Share this post


Link to post
Share on other sites

Hi experts,  

 

I am trying to install Yosemite on a Asus 303LNB

 

Specs as follows

 

i7 = 2.39 Ghz

Rams = 8GB

Graphics = HD 5500

 

I have managed to get the Mac OS installed, but as you can see from the screenshot I get some form of distortion.  The Mac OS boots fine and the graphics are fast and perfect.  I can even move my mouse , the graphics are still perfect.  I will get what you see in the screenshot if I start to click on the menus and options.

 

I have attached the plist for more advice.

 

I am lucky enough to have a bios that allows me to set the graphics ram all the way to 512.  I have tried various combinations, like 64 meg to 128meg to 256 meg in the Bios, but I will get a black screen.  512 meg is one of the best settings.

 

What I do not understand is that I can get the system to boot all the way in with perfect graphics with no distortion if I insert the -x boot flags.  And the graphics rams will show 1536 meg.  But the moment I boot without -x, it just does not work fine.

 

Please advise if there is something I can do?

 

:)   Thanks in advance.

post-678532-0-27862100-1449759395_thumb.jpg

config.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ltooz_audis
      I got the perfect working macBook Air 7,2 working with Mojave - Everything is working - I do mean even the SD card reader - audio - backlight controlled with keyboards... I'll write up the full tutorial and video how to soon. Love the Mojave, High Sierra was nothing compared to this.
      Cheers,
      Louis
       
       
       
    • By Andres ZeroCross
      A. Notebook Specifications
      Name : Asus A455LF-WX159D
      Processor : Intel Core i3 5005U
      IGPU : Intel HD Graphics 5500
      Discrette GPU : Nvidia GT930M
      RAM : 8GB PC12800/1600Mhz
      Wifi Card : Atheros AR9565
      Bios Version : 300
      Audio Codec : Conexant
      Storage : Samsung SSD 850 Evo 500GB
      Boot Mode : UEFI with CSM Disabled
       
      B. How To Install 
       
      I am not good for make a tutorial, so i upload my CLOVER folder (zipped), just use it (overwrite your USB Installer's Clover Folder) Set SATA Controller to AHCI at BIOS Make sure your BIOS version is "300" Set DVMT to 64MB XHC set to "Smart AUTO" C. Make a USB Installer with CreateInstallMedia method, install Clover Bootloader R4423 or above, then delete Clover Folder inside it and replace with mine
      =======
      SPECIAL NOTE
      D. Normally for broadwell IGPU (IHD 5500), you only need to Inject Intel and set ig-platform-id=0x16160002 or 0x16260006. But some notebook will face RANDOM KERNEL PANIC or STUCK at IGPU log (hang) when you inject ig-platform-id. This is not DVMT Pre-Allocation Problem. I found the solution  Just set FakeIGFX to 0x16268086, Tick Inject Intel and set ig-platform-id as 0x16260006 or 0x16160002. Now you will get QE/CI  For me, i set those values at SSDT-1.aml (check my attachment file)
      ======

      Whats Working??
      - QE/Ci
      - Audio OUT and Mic
      - Wifi Card
      - LAN Ethernet
      - Battery Indicator
      - Fn + Brightness Button
      - Touchpad
      - Sleep, Restart and Shutdown
      - All USB Port (High Speed and Super Speed)
      - Battery Indicator
      - Etc
       
      Thanks
       
      My Clover Folder's Link : https://drive.google.com/open?id=1qzvT155DZ1r8cI0ceBW4OjWAEMUu491-







    • By Mohamed Mohsen Elnahla
      Hi 
      I tried to install OSx El capitain before and my intel was working perfectly but now i erased it and installed macOS sierra 
      I tried all guides and removed the OS and reinstalled it a lot and tried to upgrade the os to 10.12.6 but every time i face the same thing i have my Intel Graphics HD 5500 with 1536 MB but it doesn't work at all i still have glitching and i have gray lock screen and it is like i don't have graphics (this problem happened only with sierra 10.12.3 and 10.12.6 but not with el capitain 10.11.3)

      So i have uploaded some photos and a file of my laptop information and clover information and some photos of kexts which i used
      my laptop specifics :
      HP Pavilion 15 p218ne
      Ram: 6 GB
      Processor : Intel I5-5200U
      Graphics :
      - Intel HD Graphics 5500
      - Nvidia Geforce 840M
      (my Laptop specifics)

      Clover settings

      MacBook Pro.spx
      (My kexts) (they were working perfectly on el capitain and the AppleintelBDHWGraphicsF.....  is the one which made my intel 1536MB but still not working)

       
    • By ltooz_audis
      After i finished updating macOS High Sierra on HP x360 15-u011dx Haswell HD4400 i7-4510u, I started to update my daughter Dell Inspiron 7352 Broadwell HD5500 i7-5500u. It was a little harder but it works quite nicely. The new Clover is Buggy with the cache that cause "Error loading Kernel Cache..." that I had to re-install the OS. Kernel Panic all the time until I got the config.plist and kexts correctly. Now it's a perfect little 13" MacBook Air7,2. If you have anything thing with a "u" at the end of the CPU, don't use macbook pro, it doesn't do you any good.
      I'll have full tutorial soon.
       


      Make sure to have en0 built-in without Ethernet Built-in

       
      Cheers,
      Louis
    • By ltooz_audis
      I just got a Dell Inspiron 7352 Broadwell i7-5500u HD5500 and made it into a perfect MacBook Air7,2 with everything working. I installed Yosemite, El Capitan and macOS Sierra. Here is how I did it. For those who have no mac to create an 8GB installer, watch the videos.
       
      1. To boot the installer use ig-platform-id 16160006, when everything is done boot with 16260006 for full QE/CI.
      2. Use Rehabman config.plist file and edit some.
      3. Make sure to use all the newest and greatest kexts from Rehabman for perfect running system, especially with macOS Sierra.
      4.Patch ALC255 using AppleALC.kext will get HDMI and all audio ports detection perfectly.
      5. For more information on this laptop.
       
      Choose the MacBook Air 7,2 with SMBIOS MBA71 will run faster with macOS Sierra then SMBIOS MBA72.


       
      -El Capitan on Dell Inspiron 7352 Broadwell i7-5500u

       
      -Create Clover boot partition using BootDiskUtility.

       
      -Extract HFS from macOS Sierra using 7zip command line.

       
      -Create macOS Sierra USB Installer with Clover 3974

       
      -Install macOS Sierra and El Capitan on external usb drive before restore it to the internal hard drive.

       
      -Post macOS Sierra Installation.

       
      -Patch AppleHDA on Realtek ALC255.

       
      -Patch DSDT & SSDT
      The best patches to get this laptop to sleep/wake/audio/HDMI are (we don't need to patch all):
      * Null Ethernet - set a real Mac Address - use the one for the original wifi that will be replaced.

       
      * Rename _DSM to _XDSM.
       

       
      * Audio Layout id = 13 = 0x0D.
       

       
      * Pnlf_Haswell_Broadwell.
       

       
      * Fix WAK Arg0 V2.
       

       
      * Fix IRQ.
       

       
      * Fix SMBUS.
       

       
      * Fix USB3_PRW 0x6D.
       

       
      * Rename B0D3 to HDAU both DSDT and SSDT.
       

       

       

       

       

       
      * Patch _Q1D and _Q1C for backlight keyboard.
       

       

       
      -Install El Capitan 10.11.6 to Internal Hard Drive and Clover UEFI.

       
      -Install Fuse to write to NTFS Windows Partition.
       
      -Replace DW1560 Dual band Wifi and Bluetooth 4.0 BCM94352Z.

       
      Cheers,
       
      Louis
×