cefpython icon indicating copy to clipboard operation
cefpython copied to clipboard

ARM support

Open cztomczak opened this issue 9 years ago • 15 comments

Upstream CEF added ARM 32-bit support in September. Upstream Issue #1990 ("Linux: Add ARM build support") provides more details. Below is a short summary:

  • Supported branches are 2840 and later (v54 and later). The corresponding cefpython branches are cefpython54, cefpython55 and later.
  • Currently there is X11 dependency. ARM build tested to run successfully on an ASUS C201 Chromebook running Crouton/Ubuntu Xfce.
  • X11 dependency is to be removed in upstream Issue #1989 ("Linux: Add ozone support as an alternative to X11") and this will allow to run on e.g. Raspberry Pi
  • You can cross-compile on Ubuntu, instructions are provided in the CEF issue linked above
  • ARM64 cross-compile is to be added when Chromium Issue 613452 is resolved

To build CEF for ARM (cross-compile on Ubuntu) there will be modifications required to cefpython's tools/automate.py script:

  • Add --arm-build flag which will call upstream automate-git.py with that flag
  • Add "arm_float_abi=hard" in GN_DEFINES when --arm-build flag is passed

Currently CEF Python has issue231 and issue251 patches that must be applied to CEF for the CEF binaries to work with cefpython. So you should use the tools/automate.py script to build CEF which applies patches automatically. These two patches will be removed when they get merged into upstream, see the NOTES section at the end of Issue #264.

I haven't yet played with ARM. Looks like getting a Chromebook and then using Crouton to install Ubuntu Xfce is the way to go.

cztomczak avatar Nov 01 '16 07:11 cztomczak

I'm currently working on a Buildroot package for Chromium, which will be a good first step to automated cross-compiling builds for CEF and cefpython3.

jakogut avatar Jun 01 '18 22:06 jakogut

cython_setup.py should support using clang as CC/CXX on Linux, as (unlike GCC) it's a cross-compiler by default, and can build for other targets based on the -target option passed to it.

You can see which targets your Clang supports by running llvm-config --targets-built

jakogut avatar Oct 03 '18 19:10 jakogut

Ozone support added in upstream. Ozone builds can run with different platform backends (Wayland, X11, etc). Upstream commit: https://bitbucket.org/chromiumembedded/cef/commits/491253fa037113cad7416218beb2bb949b458185 .

cztomczak avatar Apr 23 '19 21:04 cztomczak

Are there any small tasks which could be done to help out with this issue?

smithandrewl avatar Oct 09 '19 16:10 smithandrewl

Would it be possible in the near future for raspberry pi?

Jakar510 avatar Nov 21 '19 16:11 Jakar510

I am not aware of anyone working on this at the moment. jakogut mentioned earlier in comments that he has done some work on this and I can see "cefpython69-arm" branch in his repository, but no idea what's the progress.

cztomczak avatar Nov 21 '19 16:11 cztomczak

CEF now officially supports ARM/ARM64 builds. These builds should appear on Spotify Automated Builds site when cache refreshes: http://opensource.spotify.com/cefbuilds/index.html

cztomczak avatar Jan 20 '20 17:01 cztomczak

@cztomczak now that CEF is building on ARM/ARM64 -- any idea around timelines for this? Not to put pressure on you or be annoying, just genuinely curious about this. Would a modest donation help with prioritizing? :)

dtcooper avatar Feb 23 '20 23:02 dtcooper

It is required to update to latest CEF first. From v66 to v80 that's 14 version bumps and that's a big task.

cztomczak avatar Feb 24 '20 02:02 cztomczak

I wanted to give a head-up to anyone following this issue, v80 is now available on http://opensource.spotify.com/cefbuilds/index.html

fixmycode avatar Mar 06 '20 02:03 fixmycode

Any update?

Jakar510 avatar Oct 23 '20 20:10 Jakar510

I will ask for my fellow raspberry pi nerds - how is it coming along? ;)

fernancode avatar Apr 14 '21 05:04 fernancode

Seems that the builds are successful for arm, but don't know why the delay for the python tkinter side

https://cef-builds.spotifycdn.com/index.html#linuxarm

See Also

Jakar510 avatar Jun 17 '21 21:06 Jakar510

Any update?

Jakar510 avatar Jan 04 '22 19:01 Jakar510

I need this as well, and I'm prepared to help out if possible. Unfortunately, I presently have no idea where to start. If anyone can suggest what changes would be necessary and where to start, maybe we can get some momentum going?

chintal avatar Jan 26 '22 18:01 chintal