Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM support #267

Open
cztomczak opened this issue Nov 1, 2016 · 15 comments
Open

ARM support #267

cztomczak opened this issue Nov 1, 2016 · 15 comments

Comments

@cztomczak
Copy link
Owner

cztomczak commented Nov 1, 2016

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.

@jakogut
Copy link
Contributor

jakogut commented Jun 1, 2018

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
Copy link
Contributor

jakogut commented Oct 3, 2018

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

@cztomczak
Copy link
Owner Author

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 .

@smithandrewl
Copy link

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

@Jakar510
Copy link

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

@cztomczak
Copy link
Owner Author

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
Copy link
Owner Author

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

@dtcooper
Copy link

@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? :)

@cztomczak
Copy link
Owner Author

cztomczak commented Feb 24, 2020

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

@fixmycode
Copy link

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

@Jakar510
Copy link

Any update?

@fernancode
Copy link

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

@Jakar510
Copy link

Jakar510 commented Jun 17, 2021

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
Copy link

Jakar510 commented Jan 4, 2022

Any update?

@chintal
Copy link

chintal commented Jan 26, 2022

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants