iMX6 Linux Multimedia with just than 256MB of total RAM?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6 Linux Multimedia with just than 256MB of total RAM?

2,624 Views
thomaswenzel
Contributor I

Hi all,

I'm trying to get gstreamer and gplay working with just 256MB of total RAM.

I've noticed that the kernel configurations for boards with 512MB (like Wandboard Solo for example) have a setting of 256MB for CMA (contiguous memory allocator).

I can't use that on our board because our overall memory size is just 256MB.

So I've lowered CMA to 128MB but with that setting gplay just crashes, even on the wandboard on which it worked before.

Do you think there's any chance of getting gstreamer and gplay to work on a 256MB system at all? Can they be configured to get along with just 128MB of contiguous memory from the CMA driver?

Thanks,

Thomas

Labels (4)
0 Kudos
4 Replies

1,640 Views
mralmond
Contributor II

Hi Thomas,

Did you manage to solve your video playback issues with only 256 MB of RAM?

I'm trying to do more or less the same thing using cma=96M but when I try to play HD videos (>=720p) I get the "physical memory allocation error".

Please let me know if you have any update.

Thank you.

Gianluca

0 Kudos

1,640 Views
thomaswenzel
Contributor I

Hi Gianluca,

I'm contiuing to experiment with the balance between cma in .config and contiguousSize in gc_hal_kernel_driver.c

A quick test by lowering contiguousSize to 32M but keeping cma at 96M stopped gplayer from reporting physical memory allocation error when trying to play a 1080p file.

0 Kudos

1,640 Views
igorpadykov
NXP Employee
NXP Employee

Hi thomaswenzel

suggest to check below link with various hints, this may help

Re: Re: Memory Reserved on i.MX6 for VPU

Best regards

igor

0 Kudos

1,640 Views
thomaswenzel
Contributor I

Ah, ok, thanks! I forgot to mention that I'm using kernel 3.10.17 from the fsl community bsp. In that kernel the whole config structure has changed a lot since the post you mentioned. However, I've found the following in gc_hal_kernel_driver.c:

#if gcdENABLE_FSCALE_VAL_ADJUST

static ulong contiguousSize = 128 << 20;

#else

static ulong contiguousSize = 4 << 20;

#endif

Lowering contiguousSize from 128M to smaller values seems to prevent gstreamer from crashing, so I guess I'm on the right track.

I don't know much about kernel internals though. So if anybody has a better way of adjusting the VPU memory size, please let me know. :smileyhappy:

Thanks,

Thomas

0 Kudos