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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

3,929 次查看
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

标签 (4)
0 项奖励
回复
4 回复数

2,945 次查看
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 项奖励
回复

2,945 次查看
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 项奖励
回复

2,945 次查看
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 项奖励
回复

2,945 次查看
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 项奖励
回复