CMA - Dynamic Memory Split
The firmware and kernel as of 19. November 2012 supports CMA, which means the memory split between ARM and GPU is managed dynamically at runtime. You can find an example config.txt here.
cma_lwm When GPU has less than cma_lwm (low water mark) memory available it will request some from ARM.
cma_hwm When GPU has more than cma_hwm (high water mark) memory available it will release some to ARM.
The following options need to be in cmdline.txt for CMA to work:
coherent_pool=6M smsc95xx.turbo_mode=N
Why we don't enable it by default?
Maybe we do. But that's for later
(2nd Jan, 2013 02:46 AM)BartOtten Wrote: [ -> ]CMA - Dynamic Memory Split
The following options need to be in cmdline.txt for CMA to work:
coherent_pool=6M smsc95xx.turbo_mode=N
feature quite old, but the kernel with it is still highly experimental. I have not seen real references to it.
And, linux has no best memory management, if the amount of free ram will change constantly, due to fragmentation available blocks will become smaller and smaller and only the memory management during changes will eat all the power of RPI.
needs to be tested carefully. I don;t expect much from it.
btw: what is coherent pool settings?
I think the coherent pool setting defines how much ram is being swapped every time.
(15th Apr, 2013 05:10 PM)Koenkk Wrote: [ -> ]I think the coherent pool setting defines how much ram is being swapped every time.
oh ok.
how much video memory is needed for xbmc? below 96m textures have missing. Like artworks etc. but up from 96m I "noticed" no difference.
I have no clue what if used memory for (beside FB mapping).
(15th Apr, 2013 05:16 PM)mk01 Wrote: [ -> ] (15th Apr, 2013 05:10 PM)Koenkk Wrote: [ -> ]I think the coherent pool setting defines how much ram is being swapped every time.
oh ok.
how much video memory is needed for xbmc? below 96m textures have missing. Like artworks etc. but up from 96m I "noticed" no difference.
I have no clue what if used memory for (beside FB mapping).
best results is with 128, troubles
should xbmc work out of the box with the dynamic splitting ? I can't start it. error is "Can't create GUI".
last lines in xbmc.log
02:08:45 T:3042770944 NOTICE: Checking resolution 16
02:08:49 T:3042770944 ERROR: EGL error in CreateSurface: 3003
02:08:49 T:3042770944 NOTICE: CreateWindow: Could not create a surface. Trying with a fresh Native Window.
02:08:49 T:3042770944 ERROR: EGL error in CreateSurface: 300b
02:08:49 T:3042770944 ERROR: CreateWindow: Could not create surface
02:08:49 T:3042770944 ERROR: CreateNewWindow: Could not create new window
02:08:49 T:3042770944 FATAL: CApplication::Create: Unable to create window