No announcement yet.

Dynamic Video Memory Allocation

  • Filter
  • Time
  • Show
Clear All
new posts

  • Dynamic Video Memory Allocation

    Since all Intel cards are integrated, I'm wondering if the drivers have a mechanism to dynamically adjust how much system memory is used for graphics. Is it set by the BIOS and then unchangeable by the driver or does the drive take/release based on need?

    The same question goes for integrated nvidia and ATI/AMD motherboard graphics as well.

  • #2
    On intel hardware this depends on:

    . the amount of main memory in the system
    . the OS
    . the chipset

    For example with Windows XP some main memory was statically set aside for video memory. And another half was dynamically added if demanded by the graphics drivers up to a limit with could be set in the BIOS.

    The intel GM965 (X3100 graphics) can use up to 384 MB, while the GM45 (X4500 graphics) can use >512 MB. XP respected the DVMT settings of the BIOS and wouldn't allocate more than that. With Vista the video memory allocation is entirely dynamic and thus smarter.

    Section 3.6 "Graphic Memory Allocation" of this document covers some more aspects of this:

    If you search the intel site for "DVMT" you'll find more, but almost all of this applies only to older chipsets and only to XP. The above document is the more recent resource.

    The 2.8.x intel video drivers for the GM965 (X3100) statically allocate 256MB, which is less than XP/Vista can use on this chipset. I'm not sure how much it sets aside for the X4500 archs. However it doesn't seem to be dynamic at all.

    This document of Microsoft describes the differences in memory reporting and management of XP/Vista on discrete nvidia and shared memory intel GPUs:


    • #3
      Thanks. The windows stuff doesn't interest me though. When will the linux drivers gain the ability to dynamically allocate memory?


      • #4
        All intel developers follow this mailing list, which is probably the best place to raise your question:

        As far as I remember nobody requested this feature so far. Prior to that a user adjustable, but fixed for the current X session, video memory size would be helpful. I don't oversee all implications of such a change and whether it's feasible at the current development stage of the driver. I also don't know which priority such a feature would be given compared to other pending features.