ARM builds for Chromium Beta and Dev PPAs

Asked by Saikrishna Arcot

Hi,

I would like to have ARM (armhf) builds enabled for the following PPAs:
https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-beta
https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev

The build times are now ranging from 1 1/2-3 hours (courtesy of the new ScalingStack builders), and there will be 2-3 builds per week (the Chromium Dev PPA will likely have only 2 builds per week for a while). On some weeks, there may be 6 builds.

Thank you.

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
William Grant
Solved:
Last query:
Last reply:
Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#1

Edit:
Could you also enable ARM builds on the following PPAs as well:
https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear
https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-edge
https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-prerel

For flightgear-edge, there's a good chance that there will be more than 10 builds per week (slightly less for flightgear-prerel). For flightgear, new packages are published once every 6 months, with a possible point release in-between. Build times for all packages (with the exception of the data package, which runs on i386 only) are less than an hour.

Revision history for this message
William Grant (wgrant) said :
#2

scalingstack armhf builds are still qemu, so the armhf builds will be orders of magnitude slower than the x86 ones. Chromium will take forever, and I'd be reluctant to enable it for flightgear-edge.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#3

I understand the reluctance for flightgear-edge, but aren't there more cores being used now (4 cores, from what I've seen on some build logs)? Therefore, if the builder is told to use 4 parallel jobs, won't there be 4 qemu processes running, and therefore all 4 cores being used? (That's what's happening for me if I pass -j4 into my sbuild)

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#4

Slight edit: the second half of the comment is regarding Chromium.

Revision history for this message
William Grant (wgrant) said :
#5

That's correct, but do we have numbers on just how slow Chromium builds are in qemu? It's usually one to three orders of magnitude slower than native.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#6

I haven't tried it yet. I'll start a build locally and past back the results.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#7

Just as an update, the armhf Chromium build on my computer looks like it's going to take about 20-21 hours, as it's about 5 hours in and 1/4 of the way through. A good amount of the time at the start was spent installing dependencies and unpacking the source files (about 115000 files compressed in a ~215 MB .tar.xz file), and I don't have the greatest I/O backend. In addition, bcause of my use of intel_pthread, only about 50-70% of my 4 threads are being used.

If official Ubuntu builders can be used for comparison of build times , the amd64 build of Chromium for Canonical's PPA (https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/6251468) took just over an hour, while the armhf build (https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/6251469) took almost 6 hours.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#8

Also, the amd64 build had 12 concurrent jobs, while the armhf build had 4 concurrent jobs (I guess the impact of the I/O was more apparent in the amd64 build). Assuming that the processors are roughly the same in kishi06 and the ScalingStack builders, and assuming both are run under qemu, I would personally expect the PPA armhf build times to be around 6-9 hours.

Revision history for this message
William Grant (wgrant) said :
#9

kishi* are bare-metal quad-core ARM Cortex-A9 machines that can only be used by trusted builds. We don't currently have enough virtualisation-capable ARM hardware to safely support ARM PPAs for everyone, so scalingstack uses qemu on x86 to emulate ARM for untrusted PPAs. The build time in your PPA will be more like what you see in qemu locally.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#10

The performance is horrible. I did two runs with a CPU frequency driver change in-between. For the first run, I stopped the build at 35 hours and 30 minutes in, with 12028 files out of 16332 files compiled. For the second run, I stopped the build at 42 hours in, with 13975 files out of 16332 files compiled. Part of the time contribution is likely due to me using the computer (this is my laptop) and the CPU driver bringing the frequency down (sometimes below the minimum), but I think this would only contribute to 2-3 hours to added build time.

Based on these numbers, the final build time is likely close to 50 hours. The PPA builder might be better (due to them being dedicated build machines), but the times will still likely be close to 2 days.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#11

Can I at least get armhf builds on the flightgear and flightgear-prerel repos?

Revision history for this message
Best William Grant (wgrant) said :
#12

Done.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#13

Thanks William Grant, that solved my question.

Revision history for this message
XJDHDR (xjdhdr) said :
#14

Sorry if this is the wrong place to ask this but would it be possible to revisit providing ARM builds?

Revision history for this message
Colin Watson (cjwatson) said :
#15

@xjdhdr, it's the wrong place to ask this. You're following up to a pretty old question, and since then we have more virtualisation-capable ARM hardware so nowadays PPA owners can choose to switch on ARM builds for themselves. You should ask the owner of whichever PPA you're asking about.

Revision history for this message
XJDHDR (xjdhdr) said :
#16

Thank you for the reply Colin. The PPAs I'm asking about are the ones in the question's title: Chromium Beta and Dev. The owner of them is the one who asked this question in the first place and I assume he was notified of my post. The rest of your post is one of the reasons why I would like this revisited.

Revision history for this message
Colin Watson (cjwatson) said :
#17

OK, I'd suggest contacting them directly if they don't follow up here, rather than via this question - that's likely more appropriate anyway, and that way it won't look like you're asking a question of Launchpad staff. :-)

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#18

ARM support for Chromium Beta and Dev isn't based on resources available on Launchpad, but the ease of compiling for Chromium. At one point of time, Chromium was repeatedly failing to compile for armhf, and so I disabled building for that (arm64 is still enabled). I'll take another look at the state of building for armhf, but I can't make any guarantees.

You should be able to contact me via my profile link.

Revision history for this message
Saikrishna Arcot (saiarcot895) said :
#19

In addition, links to Github repos for maintaining the packaging info are available in the PPA description.