Jump to content

increase integrated graphics vram help

intel graphics integrated 2gb patch laptop

Best Answer yungyulli, 30 August 2017 - 09:04 PM

 

There are 16 different Azul layouts and you'll easily find the list through a Google search. I listed some of them in my post to show how and where each of them appeared to include the VRAM allocation byte.

 

 

 

ohh okay sorry there is where I got confused haha I thought I was suppose to see all of those different layouts. I patched it and it worked! thank you!

Go to the full post


  • Please log in to reply
13 replies to this topic

#1
yungyulli

yungyulli

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts

hello I am using a laptop and using the ig-platform-id 0x0a260006. I have a intel hd4600 graphics on my intel 17-4710hq cpu and currently I only have 1536mb of ram but the max my graphics can support is 2GB so I need a point in the right direction of how to go about changing this so that I can utilize all 2GB of possible intel integrated graphics. I'm trying to learn some stuff!!!

is there a patch I need to create?

is there some code I need to edit?

anything helps as I am new to hackintosh. I just installed mines like a week ago.

thanks anyone for the help.

 



#2
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,955 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

Since SandyBridge, OS X/macOS allocates iGPU VRAM according to the amount of RAM installed on the computer:

https://support.appl.../en-us/HT204349

 

For instance, with HD3000, max. VRAM is allocated as follows:

  • 2GB RAM -> 256MB VRAM
  • 4GB RAM -> 384MB VRAM
  • 8GB RAM -> 512MB VRAM

This can be overidden through a little patch of the SNB framebuufer kext: http://www.insanelym...e-vram-hd-3000/

 

I've never tried it myself but I understand the same can be done for Ivy Bridge HD4000 with the Capri framebuffer kext: http://www.insanelym...ease-vram-size/ (If I remember well, HD4000 got up to 1024MB until Yosemite and up to 1536MB since El Capitan).

 

One could expect the same principle to be applicable to the Azul framebuffer for Haswell HD4600 but I've never seen/tried it.

 

Afaik, you system will run perfectly Ok with the default max. 1536MB, you should not need to increase it. It's a binary patch of the kext, so you may need to repatch after each update, depending on the implementation method you use. DSDT patch would only be a cosmetic thing.



#3
yungyulli

yungyulli

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts

Since SandyBridge, OS X/macOS allocates iGPU VRAM according to the amount of RAM installed on the computer:

https://support.appl.../en-us/HT204349

 

For instance, with HD3000, VRAM is allocated as follows:

  • 2GB RAM -> 256MB VRAM
  • 4GB RAM -> 384MB VRAM
  • 8GB RAM -> 512MB VRAM

This can be overidden through a little patch of the SNB framebuufer kext: http://www.insanelym...e-vram-hd-3000/

 

I've never tried it myself but I understand the same can be done for Ivy Bridge HD4000 with the Capri framebuffer kext: http://www.insanelym...ease-vram-size/ (If I remember well, HD4000 got up to 1024MB up to Yosemite and up to 1536MB since El Capitan).

 

One could expect the same principle to be applicable to the Azul framebuffer for Haswell HD4600 but I've never seen/tried it.

 

Afaik, you system will run perfectly Ok with the default 1536MB, you should not need to increase it. It's a binary patch of the kext, so you may need to repatch after each update, depending on the implementation method you use. DSDT patch would only be a cosmetic thing.

hmm thank you. I will read those links you posted and I just want more vram for video editing really the only reason why 



#4
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,955 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

'decided to give it a try so, building on existing literature and previous experiments , I simply modified the value of what I believed to be the VRAM allocation byte and was able to increase max. VRAM in a few seconds.

 

My Dell Latitude E6440 laptop has mobile HD4600 and calls on Azul frame buffer/layout id #12/0x0a260006 for graphics acceleration. Using a hex editor app, if we look at that framebuffer/layout inside 10.12.6 vanilla AppleIntelFramebufferAzul kext v10.25.17, we see the following at offset 1381216:

0600260A 01030303 00000002 00003001
00006000 00000060 D90A0000 D90A0000
00000000 00000000 00000800 02000000
30000000 01050900 00040000 87000000
02040900 00040000 87000000 FF000000
01000000 40000000 0F000000 01010000
04000000 00000000 0E000000 00000000

As detailed here and in many threads that discuss Haswell Graphics (HD4400, HD4600, Iris, etc.), we know that the 1st 4 x bytes of each layout correspond to their ids in reverse order. What follows is data that includes information on VRAM allocation, framebuffer indexes, port numbers, etc. Looking at the various layouts of the Azul framebuffer kext (when displayed in lines of 4 groups of 8 bytes), we see that the 8th byte of the 2nd line is always set to hex value 40 or 60:

0000060C 00030303 00000004 00000001
0000F000 00000040 99140000 99140000 -> 40
[...]
0000160C 00030303 00000004 00000001
0000F000 00000040 99140000 99140000 -> 40
[...]
0000260C 00030303 00000004 00000001
0000F000 00000040 99140000 99140000 -> 40
[...]
00000604 00030303 00000004 00000001
0000F000 00000040 99140000 99140000 -> 40
[...]
0500260A 01030303 00000002 00003001
00005000 00000060 D90A0000 D90A0000 -> 60
[...]
0600260A 01030303 00000002 00003001
00006000 00000060 D90A0000 D90A0000 -> 60
[...]
08002E0A 01030303 00000004 00002002
00005001 00000060 6C050000 6C050000 -> 60
[...]
0300220D 00030303 00000002 00003001
00000000 00000060 99140000 99140000 -> 60
[...]
0A002E0A 00030303 00000002 00003001
00009000 00000060 99140000 99140000 -> 60
etc.

Building on the experience of HD3000 and HD4000 framebuffer VRAM patching, we know that max. VRAM allocation is defined as follows:

  • 18 -> 384MB
  • 20 -> 512MB
  • 40 -> 1024MB
  • 60 -> 1536MB
  • 80 -> 2048MB

There is therefore a good chance that this "8th" byte is for VRAM allocation.

 

Going back to my own HD4600 E6440 laptop, it always reports 1536MB of VRAM as standard:

Attached File  HD4600_1536MB.png   100.94KB   2 downloads

 

I use layout #12 0x0a260006 which shows a default value of 60 for the 8th byte of the 2nd line. Changing this value to 40 gives me the following VRAM allocation after reboot:

Attached File  HD4600_1024MB.png   100.73KB   2 downloads

and changing it to 80 gives me this:

Attached File  HD4600_2048MB.png   100.72KB   2 downloads

 

So there you are, patch your Azul framebuffer kext to replace the VRAM allocation byte of your own layout to 80 and you'll have up to 2GB allocated.



#5
gengik84

gengik84

    InsanelyMac Top V.I.P.

  • Moderators
  • 13,858 posts
  • Gender:Male
  • Location:Toscana

This topic has been moved to the graphics section

Best regard... :)


#6
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,955 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

:thanks_speechbubble:

 

Now the OP just needs to change his thread title so that it refers to Haswell iGPUs.  ^_^



#7
fantomas1

fantomas1

    InsanelyMacaholic

  • Supervisors
  • 4,535 posts
  • Gender:Male

Newbies group users have a restricted forum access/permissions so we moved this topic to its original place. Also, any topic in this area should remain there.

 

Thank you for your understanding.

 

BR

 

fantomas1 



#8
PC IT

PC IT

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts

Hello .. I want to follow the above post but couldn't find it in  the graphics section .. can any one send me any link ..

 

How can we do the same process for skylake hd520 ? can we change the vram value as well as it is for haswell ??

 

Waiting any reply .. Thanks 



#9
yungyulli

yungyulli

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts

 

 

hey thank you so much on the knowledge! I will try this out soon! you're the best!



#10
yungyulli

yungyulli

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts

 

also could you let me in on some info really quick? thank you, it would help.

okay so I downloaded a hex editor app called hex fiend and I opened the appleintelazulframebuffer.kext  and I found the stuff you where talking about at offset 1381216 but the next thing you said about finding the allocation numbers :40 60 80 .

​I did not see anything of that nature. do I have to look somewhere else to find this? I only see all of these numbers and letters like how your picture showed. and to the right of these rows and columns of numbers and letters in a display box with a bunch of random words and addresses.

​by the way I have never used a hex editor before so this my be why I'm a little confused haha. or if its to much to explain to a noob if you could link something that could help me better understand that would be greatly appreciated. thanks again



#11
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,955 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

HexFiend is perfect, it's what I use.

 

But 1st thing 1st... Which Azul layout do you use?

 

If same as my E6440, i.e. 0x0a260006, then everything is explained in my above post. You just need to read it again more carefully because, yes, you do appear very confused. I've clearly stated how to view the binary data in a 4 columns arrangement (in case it's not obvious to you, simply adjust the open window width...) and where the VRAM allocation byte is located (8th byte, 2nd line of the layout). I just hope you're not expecting to find this in HexFiend: "-> 40" or "-> 60" or "-> 80". Do you? 

 

If you use a different layout, the process remains identical but offset (i.e. location/place of the code within the binary file) will clearly be different.

 

There are 16 different Azul layouts and you'll easily find the list through a Google search. I listed some of them in my post to show how and where each of them appeared to include the VRAM allocation byte.

 

NB: There's really no need to quote my entire post in your various replies. I'd be grateful if you did not, it makes the thread painful to read.



#12
Hervé

Hervé

    InsanelyMacaholic

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,955 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

Hello .. I want to follow the above post but couldn't find it in  the graphics section .. can any one send me any link ..

 

How can we do the same process for skylake hd520 ? can we change the vram value as well as it is for haswell ??

 

Waiting any reply .. Thanks 

Open your own Skylake VRAM allocation thread in the graphics section. I don't possess or have hands on any Skylake system so I cannot confirm that the same can be done for Skylake graphics but I suspect the principles remain the same. But it's off-topic here.



#13
PC IT

PC IT

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts

Thanks Herve .. Good idea .. will post the thread soon .. thanks



#14
yungyulli

yungyulli

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts

Best Answer

 

There are 16 different Azul layouts and you'll easily find the list through a Google search. I listed some of them in my post to show how and where each of them appeared to include the VRAM allocation byte.

 

 

 

ohh okay sorry there is where I got confused haha I thought I was suppose to see all of those different layouts. I patched it and it worked! thank you!







Also tagged with one or more of these keywords: intel, graphics, integrated, 2gb, patch, laptop


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2017 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy