CopperSpice on Arm - again

Post Reply
seasoned_geek
Posts: 246
Joined: Thu Jun 11 2020 12:18 pm

CopperSpice on Arm - again

Post by seasoned_geek »

All,

https://forum.copperspice.com/viewtopic.php?f=9&t=1605&p=3769&hilit=arm#p3769

Has anybody made any further progress on getting CopperSpice to build for Arm?

More specifically has anyone targeted TorizonCore and the Toradex SOMs but kept quiet about it?

A new client had mocked stuff up with Qt on a Raspberry Pi, but for actual commercial product they wanted to dump Qt given all of the licensing shenanigans.

According to the Toradex doc:
https://developer.toradex.com/knowledge-base/configure-build-environment-for-torizon-containers#Prerequisites-2

They build under docker.

Code: Select all

$ docker run --rm -it arm32v7/debian arch
armv7l

$ docker run --rm -it arm64v8/debian arch
aarch64
Just asking here in case someone has done it and just not piped up.
barbara
Posts: 443
Joined: Sat Apr 04 2015 2:32 am
Contact:

Re: CopperSpice on Arm - again

Post by barbara »

Just letting you know this is something we will be working towards the beginning of November, after CppCon.

Barbara
seasoned_geek
Posts: 246
Joined: Thu Jun 11 2020 12:18 pm

Re: CopperSpice on Arm - again

Post by seasoned_geek »

That's great!

I can share some info that may guide you.

Toradex ARM, especially i.MX8M Plus, with the 5.x BSP (Board Support Package) is Qt + Wayland only. All X11 and Mesa stuff has been stripped. The build process needs to have a method (perhaps it already does?) of specifying one and only one back-end. If you try to build for everything you will fail before you begin because none of the X11/mesa -dev packages can be installed. They've all been flagged as conflicts. You can't even cheat and do it in a Docker container.

By default the Toradex platform tries to force everyone into building and deploying Docker containers. They do have Yocto recipes but they are difficult to locate and you have to piece the stuff together from multiple places. It is possible to build and flash like a real embedded system.

It would be really cool if CopperSpice could build on the 5.x BSP line there. Mainly just to be a thumb in the eye of Qt.

According to the Advantec documentation, their BSP uses XWayland.This supposedly is a fully functioning XServer that acts as a Wayland client. I'm waiting on hardware to build X11 stuff for another project. Their documentation only uses Docker containers for building and running Yocto recipes. Theoretically CopperSpice should be able to build there for all of the Linux supported backends.

Raspberry Pi is popular in the hobby market, these are the two bigger players in the building millions of units and able to pay for support contracts market.
seasoned_geek
Posts: 246
Joined: Thu Jun 11 2020 12:18 pm

Re: CopperSpice on Arm - again

Post by seasoned_geek »

Okay, time to put a saddle on this dead horse and see if it will run.

1) Where is the roadmap posted these days?

2) Did CopperSpice on Arm work start? If so, how far along is it? I still don't see it on supported platforms.

I'm asking because CopperSpice on ARM came up again just a couple hours ago. (Not using QNX, just Yocto Linux build)

Client has existing customer/device in the medical world that uses Qt. Client has decided that Qtc is on crack when it comes to quoting licensing fees. It appears their end client agrees as they are now in discussions to completely replace the device using not-Qt-commercial.

So, I am almost done with the RPM and Debian packaging that hopefully you will pull into the base code. For RPM I couldn't make it a nice little add-on like I did for Debian, had to modify CopperSpice build scripts to clean them up for packaging. Expect to be completely done by of next week.

While that is running I can set up my client's hardware and start the process of cross compiling CopperSpice for Toradex ARM processors. I just want to know how far the ARM build process officially got before I start.

For X11 based stuff we use Docker containers, building using the Buster container. On target you run Docker with a Wayland-Westin container and the application container. Last time we used NanoGUI for one container application and Elements for another. The only downside of this development is that you cannot control screen position. For embedded applications not such a big deal, just make your application full screen.

I would like to see CopperSpice get a foothold in the medical device world, but you can't do that without building on the ARM processors and boards being used in that world.
ansel
Posts: 150
Joined: Fri Apr 10 2015 8:23 am

Re: CopperSpice on Arm - again

Post by ansel »

We added full support for ARM in May 2022 with the addition of CopperSpice support for Raspberry Pi. The CS build is performed on a Debian host computer using a cross compiler which targets Raspbian. The directions for building the binary files are located in our CS Overview documentation.

https://www.copperspice.com/docs/cs_overview/build-pi.html

As per these directions the Docker file can be downloaded from the following location:

https://download.copperspice.com/toolchain/docker/Dockerfile.pi

To support building CS on Yocto I would suggest using these directions as an initial approach. Let us know if you have any questions about the process.
Ansel Sermersheim
CopperSpice Cofounder
Post Reply