HTML5 GUI feasiblity in the i.mx6 solo

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

HTML5 GUI feasiblity in the i.mx6 solo

9,404 Views
karthigeyannata
Contributor III

We are analyzing the feasibility of having HTML5 based GUI in the i.mx6 solo processor. We know it is feasible in the i.mx6 dual. Since the GPU performance of solo is much inferior than dual and also DDR memory bus width is reduced to 32bit instead of 64 , we feel that there will be some impact/restrictions on the Graphics performance and CPU load , but not sure about the level of impact.

Is freescale done proveout of HTML5 based GUI on i.mx6 solo processor?. What would be performance difference between solo and dual ?

Is CPU load expected to increase in solo processor when compared to dual for the same screens/animations because of 32bit DDR interfaces , less GPU capability etc?

Labels (3)
18 Replies

4,857 Views
OtavioSalvador
Senior Contributor II

The demo EricNelson is referring to, is this one:

Nitrogen6X Lite running O.S. Systems' Embedded Linux with HTML5 Demo in Chromium - YouTube

This demo is not yet published as we are quite busy and couldn't yet finish last remaining corner cases to widely share it but you can take a look.

0 Kudos
Reply

4,857 Views
lakehu
Contributor II

Hi Otavio:

I currently struggling getting HTML5 CSS transitions HW accelerated in Chromium on an i.MX6DL/android7.

I tried both Freescale Sabresd EVM and BoundaryDevice.  It seems Chrome://gpu shows that Canvas and Multiple Raster are NOT hardware acceleration.

On BoundaryDevice or SabresdDL of Android7.1, when I install Chrome://gpu.

Canvas:Software only, hardware acceleration unavailable
Native GpuMemoryBuffer:
Rasterization:Software only, hardware acceleration unavailable
Video Encode:Software only, hardware acceleration unavailable
Mutiple Raster Threads: Disable

From Android5.1, webview is a binary inside AOSP source. Before it, JB4.x will build webview/webkit with iMX6/Android build and https://github.com/Freescale/chromium-imx has patches, however it ends in old version of Chrome48. So I am wondering for Chrome/webview new version, will its apk/binary inside IMX/Aosp has enabled GPU hardware accelerate for Android webview app?

I currently want to run Android webview app based on Canvas/Image with HTML5. The performance is slow even. Even for simple HTML5 Android APP which do moving image/Canvas, the performance is low, CPU is hot, system is slow. Note: I have enabled Force GPU rendering/Develop option/Setting.

I hope on Android/IMX, Canvas/HTML5 can be Hardware accelerated. Is it possible?? 


Thank you!

0 Kudos
Reply

4,857 Views
OtavioSalvador
Senior Contributor II

We have been focusing on QtWebEngine for HTML5 application as it offers a smaller footprint and offers a great amount of flexibility.

0 Kudos
Reply

4,857 Views
karthigeyannata
Contributor III

Thanks for sharing this information. Could you please share some information on this video?. Are you running HTML5 GUI on the i.mx6 solo processor with predefined screen transitions?. What is the CPU load taken for this demo on i.mx6 solo processor?.  Are you using open source chromium web browser?.

We would like to understand better your solutions and wanted see the possibilities of working together

0 Kudos
Reply

4,857 Views
OtavioSalvador
Senior Contributor II

The HTML5 GUI is running on Chromium 38 in the Freescale i.MX6 Solo with 512MB of RAM using the Boundary Devices Nitrogen6x Lite. It uses HTML5, CSS3 and JavaScript and 60% of processor in average.

0 Kudos
Reply

4,857 Views
karthigeyannata
Contributor III

Thanks a lot. The 60% of CPU you have mentioned is for running the screen transitions/animations which you have mentioned in the video. It may be less if we are using simple transitions/screen refresh.  Is my understanding correct?

Have you have done any optimization on open source chromium browser?

Regarding the  sound coming from the video, is it playing from i.mx6 solo? (or) Is it mixed from the PC?

0 Kudos
Reply

4,857 Views
OtavioSalvador
Senior Contributor II

Yes; if you use less animation it will probably reduce the CPU use.

Regarding optimizations we used our O.S. Systems' Embedded Linux distro which has some settings different from regular Yocto Project's Poky distro. So yes, we did some adjustments but nothing major.

Regarding audio I didn't try the audio as the demo was for a trade show; so the audio in the video is mixed.

0 Kudos
Reply

4,857 Views
josuahunziker
Contributor I

Dear Otavio,

The demo is really impressive. I'm currently struggling getting HTML5 CSS transitions HW accelerated in Chromium on an i.MX6DL, even though chrome://gpu shows that except Canvas and Multiple Raster Threads, pretty much everything should be HW accelerated. However, even for simple CSS transitions, I only achieve ~10fps in case they cover major parts of the screen, and CPU usage is close to 100% on both cores. Do you have an Idea what I could be missing?

- I'm using Yocto and an Angstrom based distro (provided by Toradex)

- Chromium 40.0.2214.91 from meta-browser

- the chromium-imx patches from meta-fsl-arm

0 Kudos
Reply

4,857 Views
OtavioSalvador
Senior Contributor II

Hello Josua,

The possible causes are many, it is hard to guess without understanding what you are doing and debugging. We been succeeding in use HTML5 for some projects but we moved away for Chromium always when it is possible and we developed the QtWebEngine support for i.MX6 which allow us to run on EGLFS and get rid of many Chromium issues.

If you want we can assist you in the project, let's talk in private if you have interest.

0 Kudos
Reply

4,857 Views
NathanJozwiak
Contributor III

Hi Otavio,

I am interested in how you got QtWebEngine running on the i.MX6. I was able to get it cross-built with Qt 5.4.2 (after modifying a PRF file that was blocking the building of QtWebEngine for Embedded Linux), but I do not seem to be able to get any HTML content to render. I have built all 3 of the browser demo applications and they seem to run without error, but the view that should contain web pages just shows up as gray.

Thanks

0 Kudos
Reply

4,857 Views
OtavioSalvador
Senior Contributor II

We have it working and we support this through our commercial channel.

If you have interest, please contact me privately.

0 Kudos
Reply

4,857 Views
callahwirdian
Contributor I

Hi Otavio,

Can we connect in order to discuss this subject privately ?

Thank you

0 Kudos
Reply

4,856 Views
NathanJozwiak
Contributor III

Hi Otavio,

Can you confirm you have the video tag working? We are trying to get a camera stream to display with an HTML5 interface. This was not possible in QtWebKit due to the lack of support for WebRTC. It is my understanding that QtWebEngine should support this since it is based on the Blink engine. If this is the case I may be interested in support through your commercial channel to get this up and running.

I sent you a message through your LinkedIn profile (I am not certain how to contact you directly through the Freescale forums).

Thanks

0 Kudos
Reply

4,856 Views
OtavioSalvador
Senior Contributor II

The WebRTC has been added in the QtWebEngine 5.5 and we are in the upgrade process for this version. We have QtWebEngine 5.4 working with video tag support but no WebRTC support.

So we are going to have it but it is still "work in progress" for WebRTC.

0 Kudos
Reply

4,856 Views
stavrosmarkou
Contributor II

Hi Otavio,

I would like to ask you if we can discuss privately some of the aspects of the work needed for a successful launch of QTWebEngine on a custom imx6 board with eglfs backend.

Thanks.

Stavros.  

0 Kudos
Reply

4,856 Views
OtavioSalvador
Senior Contributor II

Sure, please get in touch with us.

You can email me directly if need. otavio@ossystems.com.br

0 Kudos
Reply

4,856 Views
EricNelson
Senior Contributor II

I like your choice of background music.

4,856 Views
EricNelson
Senior Contributor II

Hi Karthigeyan,

Defining "good enough" is certainly grey area, but I can tell you that OtavioSalvador has been doing really cool stuff with our Nitrogen6_lite board recently.

Because the chips are pin-compatible, we generally recommend that developers build and test using both Quad-Core and Solo versions for easy comparisons.

0 Kudos
Reply