Porting Chrome on i.mx6 with hw accelaration?

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

Porting Chrome on i.mx6 with hw accelaration?

15,125 Views
subodhharmalkar
Contributor II

Hi everyone,

 

I am trying to port Chromium (browser framework) with Awesomium on i.mx6q (from Boundary Devices). Anyone in this community has any experience with either i.mx6 or i.mx5 ?

 

So far, narrowed my list of missing packages between LTIB and Chromium dependency list are attached.

 

I would really appreciate any pointers.

 

Thanks a bunch.

 

Subodh

Original Attachment has been moved to: only.missing.zip

0 Kudos
Reply
32 Replies

1,164 Views
daiane_angolini
NXP Employee
NXP Employee

I have never heard regarding this work.

But, take a look on both links below and see if it may help you:

How to test yocto for imx6

https://github.com/eukrea/meta-chromium

1,162 Views
OtavioSalvador
Senior Contributor II

In fact the meta-chromium has been merged onto meta-browser.

You can check it at: https://github.com/OSSystems/meta-browser

0 Kudos
Reply

1,162 Views
subodhharmalkar
Contributor II

Hello Otavio,

Thanks for your reply. I was out of town, so could not respond earlier.

My target board is Boundary Device's Nitrogen6X board (without wi-fi).


We noticed that the freescale linux image that provides the hardware video acceleration plugins are based on an armel build of ubuntu.


We would prefer to have the hardware video acceleration plugins installed on a linaro armhf build running on the Nitrogen6x board.

Also, while experimenting with the Ubuntu image with the hardware  video acceleration plugins,  we have seen issues trying to install freeglut3-dev package because it is conflicting with one of the imx6 video plugins.  If possible, we would like to have the hardware video acceleration plugins be able to co-exist with freeglut3-dev.

Thanks,

Subodh

0 Kudos
Reply

1,162 Views
OtavioSalvador
Senior Contributor II

Subodh,


I don't have a Nitrogen board to test here but SabreLITE and SabreSD only.


Partially; we have support for building the image in Yocto and using it you have much more freedom. It can do whatever you want. I can work in supporting hard-float but we don't default for it because it can have ABI issues for existent binaries and the performance gain is not that huge after all, but it is doable for sure.


I am curious why you need freeglut3?


I'd like to ask you to learn more about the BSP we've been working, based on Yocto, at: Freescale/fsl-community-bsp-platform · GitHub


I will try to make some prebuild images available for you to test but as I don't have the Nitrogen board, it is not yet supported in our BSP (even thought you can send a patch for it if you like to).

Regards,

0 Kudos
Reply

1,162 Views
kkatyal
Contributor I

Hi Otavio,


I'm working with Subodh on this effort and just wanted to provide some additional information.  Freeglut3-dev is used by our application for the window manager and mouse / keyboard interface.  While trying to install freeglut3-dev, we are seeing the following error:

dpkg: error processing /var/cache/apt/archives/libglu1-mesa-dev_8.0.2-0ubuntu3_armel.deb (--unpack): trying to overwrite '/usr/include/GL/glu.h', which is also in package gpu-viv-bin-mx6q 12.04.01

It appears that one of the dependencies for freeglut (libglu1-mesa-dev) is trying to write files that have already been created by gpu-viv-bin-mx6q.

Ideally we would like to get the two packages to co-exist as our application also needs the hardware video acceleration.  Any help you can provide would be appreciated.

Thanks.

0 Kudos
Reply

1,162 Views
OtavioSalvador
Senior Contributor II

Hello,

I see; yes, for use freeglut it most probably needs a lot of adjustments for it to work in Ubuntu. My advice is to use Yocto for this development.

From my point of view, the Ubuntu might have some problems for distribution as:

* if you change binary packages you break upgrade process so you cannot upgrade any package in Ubuntu or you risk it to override "binary hacks" in the system (file override, force new links or something like that);

* change binary files makes a GPL violation as you won't be able to provide the binary source for these;

* it makes a nightmare for maintainence as any change in system can break it completely.

Another possible problem is the presense of GPLv3 code in the system. As I don't know what is the product you're doing it might or not be important but bear on mind that GPLv3 has some implications for patents and also makes impossible to use cryptography in bootloader (except if you give the bootloader the possibility to add new keys so user can replace the kernel - commonly known as Tivoization). In case of Yocto, you can make a GPLv2 only system avoiding those "legal problems" for you, if it is a concern.

Regarding freeglut it is not currently available in Yocto but we can work on that if your company has interest for it.

Regards,

0 Kudos
Reply

1,162 Views
kkatyal
Contributor I

Hi Otavio,

Thanks for your response.  We are very close to getting our application running on Linaro with armhf.  To start all over with Yocto would be a significant effort.  We could certainly try Yocto and maybe long term, we should move over to this BSP, however, for now, it would be much better if we could get a package that we could install on Linaro that would provide the hardware video acceleration plugins without breaking freeglut3.  Please let me know if this is possible.

Thanks,

0 Kudos
Reply

1,162 Views
OtavioSalvador
Senior Contributor II

You need a new package for freeglut3 build for GLES2. By default, in Ubuntu, it builds against GL (as far as I know).

At O.S. Systems we usually do not use Ubuntu for embedded systems due the license issues (as pointed above), boot speed and memory use so I am not a big fan of its use for products in this specific market. In either case, check the freeglut source for the build options for GLES2 and give it a try.

I hope it works.

Regards,

0 Kudos
Reply

1,162 Views
subodhharmalkar
Contributor II

Daiane, thanks again :-).

I looked at those links, but the eukrea doesn't have OpenGL ES. It will be nice to get that :-).

Also, can you tell me how to download fsl-image-gui ? That will be really nice to load.

We are shooting for a somewhat (< 1 yr old) version of Chromium. Since it depends on so many new packages, I doubt LTIB (or bitshrine) has those built for arm. Am I wrong?

I have never used yocto before. Do you know if it will allow me to build newer libs? Reading here https://wiki.yoctoproject.org/wiki/FAQ, but I thought you may know.

Thanks.

0 Kudos
Reply

1,162 Views
OtavioSalvador
Senior Contributor II

What board are you using?

It should not be hard to update Chromium to last release. We didn't look at it as our customer product is already running using the existent recipe version. The meta-browser also has the Firefox ready for us so you can try it as well if you want.

0 Kudos
Reply

1,162 Views
daiane_angolini
NXP Employee
NXP Employee

I will not say about eukrea and OpenGL ES, because I really don´t know.

To donwload fsl-image-gui I can send it to you, but I would need to get back to office, next Monday, if you don´t mind.

Let me see if OtavioSalvador has some image available to download.

For newer libs, yes, yocto has newer libs than LTIB.

Message was edited by: Daiane Angolini I´m not sure meta-fsl-arm has support for your board. Are you using imx6 sabre lite?

0 Kudos
Reply

1,162 Views
OtavioSalvador
Senior Contributor II

I can build and make fsl-image-gui available for download, prebuild, sure.

I just need to know which machine to build for...    

0 Kudos
Reply