Jump to content
kylon

Increase vram - hd 3000

62 posts in this topic

Recommended Posts

Hi,

I m having a few glitches on sierra 10.12.2 and i would like to increase the vram to 1gb to see if this can help my intel hd.

I m looking for the hex string to replace or a way to find it by myself.

I can only find the hex string for yosemite and mavericks but it s changed.

Also, if you know a bios option that do this, please let me know.

Thanks

 

 

EDIT:

 

VRAM Patches

 

MacOs 10.13x [Hervé]

MacOS 10.6x-10.13x [sherlocks]

Share this post


Link to post
Share on other sites
Advertisement

Hi.

I think bin-patch AppleIntelSNBGraphicsFB may not take changes... But anyway here is the bin-patch data I found based on the previous patches. (Yes. I saw the data has been changed.)

 

For the current vram == 384MB, you can try this:

Kext: AppleIntelSNBGraphicsFB
Find: C7 45 C4 00 00 00 18
Repl: C7 45 C4 00 00 00 40

For the current vram == 512MB, try this one:

Kext: AppleIntelSNBGraphicsFB
Find: C7 45 C4 00 00 00 20
Repl: C7 45 C4 00 00 00 40

Note: Have a look on the last data and you can get something.  ;)

Edit: Here is a simple form for the vram size. (10.12+)

C7 45 C4 00 00 00 80  //2048MB
C7 45 C4 00 00 00 40  //1024MB
C7 45 C4 00 00 00 30  //768MB
C7 45 C4 00 00 00 20  //512MB
C7 45 C4 00 00 00 18  //384MB 
C7 45 C4 00 00 00 10  //256MB
C7 45 C4 00 00 00 08  //128MB
C7 45 C4 00 00 00 04  //64MB
C7 45 C4 00 00 00 02  //32MB
C7 45 C4 00 00 00 01  //16MB 

I don't know whether this can help...

 

BTW this can be increased in BIOS and it's a menu about DVMT. But in some cases this could be invisible and thus you may need to patch BIOS. This could be a catastrophic for laptop users...

Share this post


Link to post
Share on other sites

It's very unlikely to have BIOS options to do this on a laptop and, with OS X, it's directly linked to the amount of RAM fitted to the computer. To allocate more RAM than done as standard, you have to implement the kext patch.

 

I did it before in Yosemite and EC and it worked; can't remember trying it out in Sierra...

 

http://forums.macrumors.com/threads/how-to-increase-vram-for-hd3000-graphics.1766384/

Share this post


Link to post
Share on other sites

It's very unlikely to have BIOS options to do this on a laptop and, with OS X, it's directly linked to the amount of RAM fitted to the computer. To allocate more RAM than done as standard, you have to implement the kext patch.

 

I did it before in Yosemite and EC and it worked; can't remember trying it out in Sierra...

 

http://forums.macrumors.com/threads/how-to-increase-vram-for-hd3000-graphics.1766384/

Oops. The data has been changed. It's C4 instead of BC now...

Share this post


Link to post
Share on other sites

Indeed but the patches still appear to work, keeping in mind that SysProfiler report this as the maximum VRAM that can be dynamically allocated, not a fixed setting.

 

My HD3000 E6220 laptop has 4GB of RAM so I just played with those SNB FrameBuffer kext binmods in Sierra 10.12.3 Beta:

1) Default settings: 4GB RAM -> 384MB VRAM

post-851564-0-27071200-1483875412_thumb.jpg

 

2) At Offset 60351, replace C7 45 C4 00 00 00 18 by C7 45 C4 00 00 00 20 to obtain 512MB VRAM

post-851564-0-27860400-1483838807_thumb.jpg --> post-851564-0-50085400-1483837883_thumb.jpg

 

3) At Offset 60351, replace C7 45 C4 00 00 00 18 by C7 45 C4 00 00 00 40 to obtain 1GB VRAM

post-851564-0-68433800-1483838814_thumb.jpg --> post-851564-0-56212900-1483837901_thumb.jpg

 

4) At Offset 60351, replace C7 45 C4 00 00 00 18 by C7 45 C4 00 00 00 80 to obtain 2GB VRAM

post-851564-0-37453700-1483838821_thumb.jpg --> post-851564-0-63633500-1483837969_thumb.jpg

 

Using OpenGLDriver Monitor screenshot as evidence, one of the posters (Grama) in the MacRumors thread did state that there seemed to be a ceiling at 512MB. Then he realised the Info.plist of the HD3000Graphics kext had to be changed so that target VRAM size could be truly obtained. The following patch had to be inserted to the file, under the VRAMOverride parameter:

<key>VRAMSize</key>
<integer>nn</integer>

where nn = 512 / 768 / 1024 / ... in decimal.

 

He then described that the best value for HD3000 VRAM was 1024MB, seeing no additional improvement with more VRAM. His Unigine screenshots speak for themselves.

 

Whether all this will remove kylon's experienced glitches is a different matter...

Share this post


Link to post
Share on other sites

Hi Hervé,

Fine tutorial !

 

I have injected max VRam in DSDT , and that method works too.

 

Best regards

 

PippoX0

 

 

Sent from  iPhone/iPad

Share this post


Link to post
Share on other sites

I unlocked my bios and i upgraded to 16gb.

 

From what i read, the vram size changes when you increase the ram. Max size should be 1gb (16gb), >1gb should cause more glitches and crashes, but there s a softlock in os x for a size >512 so you need to patch the kext.

 

About bios options(i m a noob here)

 

Aperture size: can be increased from 256 to 512

 

DVMT Pre-Allocated: i have values from 32mb to 512mb.

Current value is 64mb.

 

DVMT Total Gfx Men: Current value is 256. It can be changed to Max.

 

I will try to patch the snb kext and report back.

 

 

@pippox0

Check opengl driver monitor.

Dsdt patch could be aesthetic only.

 

Thanks

Share this post


Link to post
Share on other sites

I believe the DSDT patch would just be cosmetic for the "About this Mac"...
 
You're talking about the following code in the _DSM method of the iGPU device at address 0x002000, right?

"VRAM,totalsize",
Buffer (0x04)
{
    0x00, 0x00, 0x00, 0xnn              // Where nn = target VRAM size. 20 = 512MB, 40 = 1024MB, etc.
}

This is typically used when injecting information about an nVidia or AMD discrete graphics card but it's not shared memory allocation. But maybe it'll work as an alternative to the HD3000Graphics kext patch. To be verified...

 

To verify final behaviour, the best thing to do if one does not have OpenGLDriver monitor (it's a payable dev tool) is to benchmark HD3000 with Unigine Heaven free tool.

Share this post


Link to post
Share on other sites

I unlocked my bios and i upgraded to 16gb.

 

From what i read, the vram size changes when you increase the ram. Max size should be 1gb (16gb), >1gb should cause more glitches and crashes, but there s a softlock in os x for a size >512 so you need to patch the kext.

 

About bios options(i m a noob here)

 

Aperture size: can be increased from 256 to 512

 

DVMT Pre-Allocated: i have values from 32mb to 512mb.

Current value is 64mb.

 

DVMT Total Gfx Men: Current value is 256. It can be changed to Max.

 

I will try to patch the snb kext and report back.

 

 

@pippox0

Check opengl driver monitor.

Dsdt patch could be aesthetic only.

 

Thanks

I just found 'C7 45 C4 00 00 00 18' (384MB) and 'C7 45 C4 00 00 00 20' (512MB) in the vanilla AppleIntelSNBGraphicsFB.

This could be used on real Macs which is with HD3000 integrated graphics. For 4GB it's 384 and for 8GB it's 512. (This is MacBookPro 2011 used if my mind didn't get messed...)

Also agree with @Hervé, I don't think editing DSDT will make any sense.

Once again. Patching AppleIntelSNBGraphicsFB could be cosmetic as well...

I think you should increase DVMT in BIOS. But it seems that 64 is enough. Try 96 please. Also try setting DVMT Total Gfx Men to max.

If above made no sense and then try to patch AppleIntelSNBGraphicsFB...

Share this post


Link to post
Share on other sites

Current size is 512.

 

Patched appleintelsnbgraphics for 1gb. (40)

Added vramsize:1024 to info.plist in appleintelhd3000graphics.

 

Vram is now 4mb :/

 

Am i doing something wrong?

Share this post


Link to post
Share on other sites

Current size is 512.

 

Patched appleintelsnbgraphics for 1gb. (40)

Added vramsize:1024 to info.plist in appleintelhd3000graphics.

 

Vram is now 4mb :/

 

Am i doing something wrong?

Sorry. I didn't get anything about vramsize in the Info.plist of AppleIntelHD3000Graphics.kext?

Share this post


Link to post
Share on other sites

@PMheart

 

I just changed my bios settings.

96 and max.

 

Seems that glitches are gone.

Need more testing!

 

Anyway i still want to increase vram to 1gb.

 

Thanks

 

 

Edit:

You have to add a new key VRAMSize and set 1024.

Share this post


Link to post
Share on other sites

@PMheart

 

I just changed my bios settings.

96 and max.

 

Seems that glitches are gone.

Need more testing!

 

Anyway i still want to increase vram to 1gb.

 

Thanks

 

 

Edit:

You have to add a new key VRAMSize and set 1024.

So now what's your current vram?

Share this post


Link to post
Share on other sites

512mb

 

Vram size is not changed.

 

The only changes are:

 

No glitches (as of now)

Little performance boost

 

Thanks

Share this post


Link to post
Share on other sites

Mmmh

 

Linux and windows refuse to boot now.

 

Still 96 and max

Oops. Feel sorry to hear that... In this case you have to decrease DVMT that keeps all systems can be started up.

Share this post


Link to post
Share on other sites

Back to pre allocated 64mb

Gfx mem still to max

 

They boot again.

 

Gfx mem to max seems enough to stop glitches.

 

 

Vram size is 4mb when i patch the kext.

I don t understand what s wrong with my kext.

Is Vramsize not numeric?

 

Thanks

Share this post


Link to post
Share on other sites

How much RAM (not VRAM) does your computer have? The SNB FB patch differs according to your RAM quantity.

 

In my case, I have a 4GB laptop so OS X/macOS allocates 384MB for VRAM by default. I therefore patched the kext as detailed above.

If you have 8GB or above, OS X/macOS allocates 512MB for VRAM by default. Your patch should therefore be as follows:

Find: C7 45 C4 00 00 00 20 (not C7 45 C4 00 00 00 18)
Replace: C7 45 C4 00 00 00 40

Share this post


Link to post
Share on other sites

I have 16gb of ram.

 

Ah, that s my error, i looked for 00 18, not 00 20.

 

I ll try again now

 

Thanks

Share this post


Link to post
Share on other sites

patched successfully this time, thanks @Hervé

 

"About this mac" says 512mb but, if we can trust openGL monitor, my max is now 1Gb and in this gpu test i m using 800mb of vram.

 

hd3000 + snbgraphics patch

post-1134787-0-39312800-1483878353_thumb.jpeg

Share this post


Link to post
Share on other sites

The SNB code is different again in High Sierra. In 10.13, the binary string to change is:

C7 45 D0 00 00 00 xx

Where xx is the byte to modify according to the default amount of VRAM (should be 18 or 20) and desired target allocation (say 20, 30, 40, 60, 80).
 
So, for instance, to change default VRAM on my E6220 (with 4GB RAM) from 384MB to 1024MB, the patch is:

Find:       C7 45 D0 00 00 00 18
Replace by: C7 45 D0 00 00 00 40

post-851564-0-95475900-1509617992_thumb.png post-851564-0-55510400-1509618241_thumb.png

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.

×