ArcGIS Runtime SDK for Raspberry Pi 4 Model B

710
3
05-06-2022 08:32 AM
RichardWei
New Contributor

Hardware

  • Raspberry Pi 4 Model B
  • Official Raspberry Pi 7 in Touchscreen


I've downloaded the ArcGIS Runtime SDK for Embedded Arm64 devices from this website in an attempt to build an embedded Qt app that runs on Raspbian 64 bit on the Raspberry Pi 4 Model B. I've somehow managed to get the application compiled with the ArcGIS Runtime Arm SDK for Qt by slightly modifying it to fit the file structure of current ArcGIS Runtime SDKs for Qt. You can find the exact compressed modified SDK file here: https://github.com/appliedengineering/arcgisarmruntime.

Anyways, the Qt app that I am using to run this SDK with can be found here: https://github.com/appliedengineering/pilotapp. The app compiles perfectly fine on my Macbook with an x86 instruction set and the 100.7 ArcGIS Runtime SDK for Qt (Mac version). However, once moving to the Raspberry Pi, on the linking step of compilation, an error occurs where there is an "undefined reference to 'Esri::ArcGISRuntime::GeoModel::basemap()'". This would lead me to believe that there is no basemap in this beta SDK for Arm. Would I be correct?

When removing the debug print statement that prints the address of the basemap of the arcGISMapView object in mapView.cpp (which also causes the aforementioned error), the program does compile fine. This particular file can be found here: https://github.com/appliedengineering/pilotapp/blob/main/pilotapp/Source/Widgets/Widgets/MainContent.... I am able to read off of an .mmpk that I made and it seems to be loaded properly. However, the actual map view itself does not display any sort of map but is instead a gray blank screen. Is it possible that there is a lack of implementation of the 2D map in this beta SDK?

Any help would be greatly appreciated. I am on a time crunch right now so I would need a solution within the week. Thanks.

0 Kudos
3 Replies
JamesBallard1
Esri Regular Contributor

Hi @RichardWei. Unfortunately the beta program is closed for the ArcGIS Runtime SDK for Qt on embedded Linux. We can't offer any official support for it since it was never moved into production.

That being said, I'm excited you want to run on Raspberry Pi. That was my initial goal with the entire program!

I can share a few things with you that may help you get a bit further, but ultimately I do not think it will work.

>Is it possible that there is a lack of implementation of the 2D map in this beta SDK?

It is there and implemented. This is perhaps the biggest weak spot of the Beta. The Beta requires full desktop-class OpenGL support; not OpenGL ES. I don't know if such support exists on the Pi 4, but this could be the issue. Our main test devices were higher-end Nvidia devices, like the Jetson TX2 and Jetson mini. Furthermore, it requires hardware GPU drivers; not mesa rendering in software. The Pi 4 may have this but I'm not certain.

>This would lead me to believe that there is no basemap in this beta SDK for Arm. Would I be correct?

It's all there. All the binaries are present but the workflow might change if you are cross-compiling from one target or compiling natively on the Pi itself.

Another potential complication is the Raspberry Pi OS. They're just recently rolling our 64-bit OS support. This is worth mentioning because the Beta only supports 64-bit (aarch64-linux-gnu) targets, so that means the OS must be 64-bit as well. It's not enough that the PI is 64-bit hardware but still running the 32-bit Raspberry Pi OS (or Raspbian). It sounds like you do have this already, but it is worth mentioning.

I hope this helps you out, but since the beta program is closed we are limited in how much we can troubleshoot.

Good luck!

0 Kudos
Ken_E
by
New Contributor

I know this is an old thread, but opening thus up again in the event that there is continued interest.  I am working with the NVIDA Orin embedded system and attempting to port an application that previously ran on Intel NUC devices (x86_64).  The application is a JavaFX app that uses the 100 version of the ArcGIS plugin.  I am wondering if the Qt beta contains the aarch64 libraries that the runtime needs and if they can be used outside of a Qt based application.

0 Kudos
MarkBaird
Esri Regular Contributor

What is your aim here?  Are you looking to run your JavaFX app on the ARM based system, or are you looking to port your app to a Qt based app?

The ARM compiled libs from the Qt SDK will not work if you simply pop them into the Java API which is kind of what I've answered in this post.

0 Kudos