Jump to content
14 posts in this topic

Recommended Posts

5 minutes ago, luxinhaus said:

i just want to know whats the value in config, nothing more

framebuffer-patch-enable Data 01000000

framebuffer-stolenmem Data 00003001

framebuffer-fbmem Data 00009000

 

https://dortania.github.io/OpenCore-Install-Guide/config.plist/skylake.html#deviceproperties 

Edited by feartech
  • Like 1
18 hours ago, luxinhaus said:

Oh! Im using that value in one of my setup, but didnt know that value is equal to 64.

If that's the case, what it the value of 96MB then?

 

The best place to check carefully would be here:

 

https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md

 

EDIT:  The value you’re using (00003001) indeed corresponds to 64 MB in DVMT pre-allocation terms. However, the calculation you mentioned (“19 × 1024 × 1024”) isn’t actually how it works. The value 00003001 (in little-endian format) represents 0x01300000 in big-endian, but this doesn’t translate linearly to bytes. In practice, these hexadecimal values come from Intel’s DVMT and Apple’s framebuffer tables used by WhateverGreen, not from a direct byte-to-megabyte conversion. In typical usage: 00002001 = 32 MB, 00003001 = 64 MB, 00006001 = 96 MB. So the mapping is correct — it’s just that the reasoning behind it isn’t a simple multiplication but comes from how Intel and Apple framebuffers define memory allocation.

 

If you want 96 MB, you can set:

 

framebuffer-stolenmem  Data 00006001 

  • 00003001 → 64 MB

  • 00006001 → 96 MB

  • 00002001 → 32 MB

or 

 

enable-dvmt-calc-fix 

 

 

Keep in mind: these patches only tell macOS to assume that amount of memory; they don’t actually change the real DVMT value set in BIOS.

 

 

Some laptops can’t use these values according to RehabMan — framebuffer-fbmem Data 00009000

 

Depending on the desktop, they can’t either.

Edited by Max.1974
  • Like 1
40 minutes ago, Max.1974 said:

 

The best place to check carefully would be here:

 

https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md

 

The value you’re using (00003001) corresponds to 64 MB indeed.

 

That’s because 0x13000 (reversed byte order: 00003001) = 19 × 1024 × 1024 = 64 MB in DVMT terms.

 

If you want 96 MB, you can set:

 

framebuffer-stolenmem  Data 00006001 

  • 00003001 → 64 MB

  • 00006001 → 96 MB

  • 00002001 → 32 MB

 

I thought I understood this, but now I'm totally confused.  How does 0x1300000 (<00003001>) which is 19MB equal 64MB? It doesn't.  It equals 19MB.  According to the guide, when DVMT is hardcoded to 32MB in BIOS, one option is to set fbmem = 9MB (0x900000) and set stolenmem = 19MB (0x1300000) for a total of 28MB so that the total does not exceed 32MB.  This is just an example (one that unfortunately, many copy without understanding).  The reason that we set fbmem and stolenmem is because we can't change DVMT in BIOS.

ScreenShot2025-10-15at9_02_42PM.png.540098cbbbf5074eb99b08f8119778df.png

 

EDIT: @luxinhaus Someone had posted a guide to complement this guide, but I forget where it is.  It's somewhere here in the InsanelyMac forum.  In order to "set  the DVMT pre-allocated memory value to 64MB" as you indicated, you'd need to examine your chosen frame buffer to determine the required fbmem and stolenmem and then assign them, with a total up to the DVMT allocated in BIOS.  But as you learn more, you'll understand that you don't need to specify values in your config.plist when you have configured DVMT in BIOS to be 64MB.

 

For example, take this Skylake frame buffer:

ScreenShot2025-10-15at9_21_26PM.png.25da98ee753a6072c319b7c65cc7485c.png

 

Stolen Mem = 34MB and FB Mem = 21MB for a total of 55MB.  This fits within a DVMT allocation of 64MB, so you don't need to specify stolenmem and fbmem in your config.plist.

 

Again, the only reason that you specify fbmem and stolenmem in config.plist is if your DVMT pre-alloc is less than the total required by your selected frame buffer.  If you're not careful, you can unnecessarily restrict the memory available to your graphics. 

 

In summary, you can't "set  the DVMT pre-allocated memory value to 64MB" via the config.plist.  You can only specify values of fbmem and stolenmem that restrict those values to fit within the DVMT pre-alloc specified in BIOS.

Edited by deeveedee
  • Like 1

@luxinhaus What is the reason that you want to set DVMT pre-alloc = 96MB?

 

EDIT: If you have to set DVMT = 96MB, set it in BIOS and don't specify stolenmem and fbmem in your config.plist.

 

In answer to your question 'How to set DVMT = 96MB in config.plist' - you can't. The BIOS determines DVMT pre-alloc.

Edited by deeveedee
  • Like 1
1 hour ago, deeveedee said:

@luxinhaus What is the reason that you want to set DVMT pre-alloc = 96MB?

hi @deeveedee

have a generic chinese mini motherboard socket 1150, 4th gen, using  HD4600. Default DVMT in bios is 32.

Either i set 64mB in bios with 0D220003 FB or stolenmem 00003001 & fbmem 00009000, Bigsur-Monterey runs smoothly.

 

Out of boredom, i installed Catalina. 64MB in bios or stolenmem 00003001 & fbmem 00009000 gave me panic, so i set in bios to 96 and  booted without any problems.

 

I mean, setting it in bios solves my issue. but i am just curious what value is equivalent to 96 in config?

Im not trying to fix an issue. i am just trying to know the value of 96 in config :)

Edited by luxinhaus

@luxinhaus There is no equivalent in config. Since you can set DVMT in BIOS, you should not be specifying stolenmem and fbmem in config. Please post your config.plist.

 

Also, please confirm that you don't have a kernel panic when setting DVMT = 64MB in BiOS without setting stolenmem and fbmem in config.

 

EDIT: The Intel HD guide linked in previous posts indicates that total stolen (fbmem + stolen mem + cursor) = 52MB for your chosen framebuffer. Setting DVMT pre-alloc = 64MB in BIOS without setting fbmem or stolenmem in config should be sufficient.

Edited by deeveedee

I can confirm i dont have a KP when setting DVMT=64 without setting stolenmem and fbmem in config.

 

Clover config: ( these 2 configs works ok in Bigsur-Monterey)

32MB in Bios

image.png.0aa13d55dd4c1cd3b57b7c7187d7529d.png

 

64MB in Bios

image.png.7a4ab616378d28af5b89d3423a4abc0a.png

 

But it Catalina, those 2 gives me KP unless i set DVMT 96MB in bios  and use the config in second pic

It would be a good idea for you to read the guide that was linked previously. The guide indicates that some defective BIOSes allocate less DVMT than specified. This may explain why you need 96MB configured in BIOS -  not sure. If 96MB works, set DVMT alloc to 96MB in BIOS, set DVMT total to Max in BIOS and delete fbmem and stolenmem from your config.plist.

  • Like 1
  • Thanks 1

Don't worry if this is frustrating. This framebuffer patching can be confusing. Not unusual to get as many different answers to your FB questions as there are responses. It's unfortunate (my opinion) that the guide gives the example fbmem=9MB and stolenmem=19MB without explaining it better. That example has been incorrectly copied by so many people without understanding it or why it's probably wrong for their hack.

 

@luxinhaus No offense to Max, but <00006001> (0x1600000) = 22MB.  If it works, it's luck and not because it's 64MB.  The values of stolenmem and fbmem in config.plist do not have anything to do with setting DVMT pre-alloc.  They only constrain the memory used by the frame buffer so that the memory does not exceed the memory allocated.  If stolenmem and fbmem are not specified in config.plist, then they are managed by macOS according to the frame buffer definition that you'll find in the guide.

Edited by deeveedee
  • Like 1
  • Thanks 1

In fact, this problem is an enigma — even in WEG’s Guide there are question marks about it. It may be due to the countless features of a processor in relation to the drivers, pipes, connectors, and the fact that each manufacturer has their own readers and different motherboard brands. But Intel has created several ways for the processor to deliver what it promises.

 

First, I must praise the efforts of everyone I know, especially the creators of WEG, which has become better than the Windows drivers. There’s simply no comparison.

I run HDR on my machine with a 10th-gen Intel, and I’ve spent months studying a thousand ways to configure it until I found the best path — identifying the Bus ID, the Pipe, the connectors, the flags, and the types. But that requires going beyond conventional knowledge.

Not even Piker Alpha nor RehabMan have reached a consensus.

 

I just intend to be practical and test according to the guide — if it works, great. I just want to help.

You can also increase the memory by modifying the framebuffer-unifiedmem values. To get 2048 MB of memory (as shown in “About This Mac”), whether it’s virtual or borrowed I don’t know — but it plays my 4K videos just fine. I use framebuffer-unifiedmem 80.

 

Framebuffer Stolem

(framebuffer-unifiedmem)

 

00000040 = 1024MB
00000060 = 1536MB
00000080 = 2048MB
000000A0 = 2560MB
000000C0 = 3072MB
000000E0 = 3584MB
FFFFFFFF = 4096MB

 

 

 

 

CapturadeTela2025-10-16s02_24_16.png.e6d4acdeaf8e502cec5866a9dfd115a3.png

 

CapturadeTela2025-10-16s02_24_49.png.9e1c58d0bdbe7239ff5cc3ee2d07e846.png

 

 

 

 

image.png.6ca756bde552adb998228221537e08ee.png

 

 

 

Another thing is the HDMI cable and the type of connector. The Dortania Guide got it right for Kaby Lake because the memory setup became known, but for the newer generation they don’t have clear information — not even on the manufacturer’s website. I couldn’t find solid documentation from Apple either.

Not everything works, and if you enable something in the boot arguments that repeats commands from your GPU’s config.plist, it causes conflicts. If you’re not sure, use only the essential keys and test them one by one using a spare USB drive with a backup of your EFI.

 

Spoiler

image.thumb.png.98c1c647ede42026d57ce02445fdc2a6.png

 

 

 

 

Check this tutorial too, its 100% ;) 

 

https://elitemacx86.com/threads/how-to-enable-intel-hd-and-uhd-graphics-on-macos-intel-framebuffer-patching-guide.931/ 

 

 

OsxLatitude 

 

Hervé tutorial maybe clarify some thinks about this memory 

 

https://osxlatitude.com/forums/topic/17804-dvmtstolenmemfbmemcursormem-why-do-we-patch-these-for-broadwell-and-later/ 

 

CapturadeTela2025-10-16s02_56_52.thumb.png.2f72d14de96f7e0c241a8ccebd6c5a7f.png

 

Edited by Max.1974
×
×
  • Create New...