DRIVE OS Linux SDK or DriveWorks SDK

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.10.0
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
2.1.0
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Issue Description
The online documentation is not very clear to me. I have some Linux user software and libraries that I want to build to run on the DRIVE AGX Orin Developer Kit (940-63710-0010-200). I’ve installed some sort of SDK within a Docker container as described here.

The online documentation seems to reference two SDKs: the DRIVE OS Linux SDK and the DriveWorks SDK. It looks like the Docker container has both of these. Is it correct to say that the DriveWorks SDK should be used for software that requires the middleware it provides while the DRIVE OS Linux SDK should be used for everything else?

In my case, the Linux user software and libraries I need to build do not use the middleware that DriveWorks provides. Should I use one of the DRIVE OS Linux SDK toolchains in /drive/toolchains? Should I use what appears to be aarch64 cross-compilers and tools in /usr/bin? Where are the sysroots for the former and the latter?

Dear @paul.katarzis ,
DriveWorks sdk is middleware to develop AV applications. It provides high level APIs to quickly develop AV applications. The APIs internally use DRIVE OS libraries like CUDA/TensorRT/NVMedia.

Yes. Correct.

Are there cases when one set of tools should be used over the other?

I see CUDA examples using the tools in /usr/bin, DriveWorks examples using aarch64-linux tools in /drive/toolchains/aarch64–glibc–stable-2022.03-1/bin, and OpenGL examples using aarch64-buildroot-linux-gnu tools also in /drive/toolchains/aarch64–glibc–stable-2022.03-1/bin.

Is there a sysroot for cross-compiling to aarch64? Where is it located?

Could you check using the tools in /drive/toolchains/aarch64–glibc–stable-2022.03-1/bin. CUDA/TRT samples can be compiled directly on target directly if needed.

Dear @paul.katarzis ,
Can we close the topic or do you have any queries further?

The tools located at /drive/toolchains/aarch64–glibc–stable-2022.03-1/bin are what we decided to use in our build system.

1 Like