sirikata / berkelium

Chromium Embedded in GL/DX (NOTE: No longer maintained!)
http://berkelium.org/
267 stars 48 forks source link

Ir works on ARM? (raspberry pi 3) #28

Open paulocoutinhox opened 6 years ago

paulocoutinhox commented 6 years ago

Hi,

Ir works on ARM? (raspberry pi 3).

Thanks.

ewencp commented 6 years ago

@prsolucoes There is some remote chance that it does, but I highly doubt it. This project hasn't been maintained for quite a few years. It is possible the mobile Chromium builds had good enough support then, but I highly doubt it.

You'd probably want to look for some more modern and supported options for embedding web browsers.

pathorn commented 6 years ago

The Berkelium project is abandoned: It was always difficult to keep up with the never-ending work to integrate with each Chromium release. Additionally, now that Chromium is hardware accelerated, a redesign of berkelium using the gpu process would be necessary to achieve good performance.

However, there are a few open source projects to take a look at, providing different angles of what Berkelium used to do.

First, I would recommend looking into Chromium Embedded Framework. This is basically the most well maintained way to embed chromium into applications, and I think it's come a long way since the ChromeFrame days (In fact I probably would have contributed to it instead of starting Berkelium if I had known of its existence). Here is a sample app for Windows: https://github.com/arkenthera/cef3d -- I think the same concept should work cross-platform, but apparently ARM support is still lacking, so you might need to apply patches to make it work: https://bitbucket.org/chromiumembedded/cef/issues/1990/linux-add-arm-build-support

EA also released a fork of WebKit (not blink/chromium) called EAWebKit (source here) -- here's a good reddit thread on the subject: https://www.reddit.com/r/gamedev/comments/50j40h/htmlcss_gui_system_for_c_game_engine_openglvulkan/

Depending on your project requirements, I might suggest you take a look at Chromium OS--it supports ARM devices and compiles to the Raspberry pi (e.g. FlintOS is a build of CrOS for raspberry pi). Because of how Chromium OS is designed and no longer uses X11, you need to read up on the Ozone and Aura graphics system to build your application.

Another approach is to build Android for Raspberry Pi, use the Android WebView which is actually a special build of Chromium, and take advantage of some of the Android primitives to draw the view to a texture. One problem with this type of approach is surface.lockCanvas() forces software rendering--for most pages things this should be good enough, but maybe not videos.