OE4T Meeting Notes 2023 12 14 - OE4T/meta-tegra GitHub Wiki
Video
Attendees:
9
Topics
- Jetpack 6 Developer Preview
- Work in progress branch pulled with stuff on it which doesn’t work yet.
- Still much more stuff to come, AGX Orin works, not Orin NX or Orin Nano yet. Can’t get those to boot properly with stock Jetpack 6 yet. Some issue with USB driver or firmware. Thread in the developer forum about this, same problem with stock L4T.
- AGX Orin kernel build sorted, still an issue with NVIDIA out of tree drivers, display driver.
- Display driver depends on out of tree modules now.
- UEFI builds and OPTEE builds.
- Able to boot a base image if including all kernel modules.
- Everything is a module now, haven’t sorted out all dependencies.
- Ilies has been working on CUDA and Jetpack recipes.
- CUDA moved to 12.2. GCC10 and above required, does not support GCC13. TensorRT GA version 8.6
- Also have Nsight systems updates.
- Kernel and out of tree drivers
- Kernel build uses repo which clones the ubuntu kernel NVIDIA hosts off nvtegra repos.
- Have a branch which applies a few patches for OE specific build warnings, minimal changes.
- Tried to keep things structured such that we don’t tie NVIDIA out of tree with main kernel recipe.
- All devicetrees come from out of tree recipe now, not part of the main tree. Preivously implemented external kernel devicetree support from Kurt was helpful for this.
- In theory we could support alternate kernel recipes if there was a need for this
- NVIDIA has a list of patches to apply which come from upstream.
- Could experiment with leading edge upstream kernel with NVIDIA required patches.
- Cloning the Ubuntu kernel takes a very long time, very large repository.
- Would like help testing from people with AGX Orin soon.
- Will post in element thread with work in progress branch in demo distro.
- NVIDIA has also renamed machine configurations
- Existing names in OE4T are closer to what NVIDIA renamed theirs to
- Replaced + signs with hyphens but added -A0 to some configuration names. Not sure it’s worth the bother to change that.
- NVIDIA has changed flash partition layouts from Jetpack 5.
- Complications for OTA and need for full repartition still not known.
- If they’ve filled in reserved partitions with content it might be possible to do OTA without complete reflash.
- Dependency between OpenCV and CUDA.
- Need to patch opencv to make it working with CUDA 12. VPI is working because of this patch.
- Will deal with Vulkan later.
- Jetpack 6 kernel modules
- Historically have tried to stick with as close to out of box kernel config as possible
- Now that NVIDIA is following ubuntu desktop kernel methodology, with everything as module, Matt is debating whether we should start diverging and build more into the kernel, at least entry ones, to minimize pain of bringing up something without the need to load in lots of kernel modules you don’t need all the time.
- Prepared/considering switching some module builds to built in’s.
- Drawback is that the more divergence from stock NVIDIA the harder it is to track down issues.
- Specific guidance to use camera drivers as modules. May not work properly if you build them in.
- A/B Rootfs Update on and Swupdate on Jetpack 5
- See pull request at https://github.com/OE4T/meta-tegra/pull/1428 and wiki page at https://github.com/OE4T/meta-tegra/wiki/Redundant-Rootfs-A-B-Partition-Support
- Plan to share some updates for a simple swupdate JP5 scheme on meta-tegra-community soon.
- Problem with burn fuses on Orin
- When reading back fuses with NVIDIA script they weren’t set properly
- Resorted to using NVIDIA provided scripts
- Still need to dig in to understand where the problem is.
- Per Ilies:
- Need to use odmscripts, nvidia provided template for xml file. Need to put in what you need to enable.
- Some fuses are not clear.
- EKB fuses are not fully implemented.
- Have 3 PKC now, have verified these are working.
- Chad will follow up on element when he has more details.
- Performance issues on Jetpack 5 vs Jetpack 4
- Using Xavier AGX
- Migrated from Jetpack 4 to 5. Writing to NVMe takes much more CPU.
- CPU performance went from 60 to 90%, higher performance on both NVMe and Ethernet. Possibly related to PCI Express.
- Have a forum post on the topic at this link.
- See the same issues with stock Jetpack, this isn’t a meta-tegra problem.
- Plan to evaluate with Jetpack 6 and compare as well.
- Don’t have a pure devkit, only testing on custom hardware
- Ideas:
- Look at DMA config between versions. Look for any drivers which need allocations have reasonably sized CMA pool.
- Suggestion to look at EPPS - https://www.epps-software.com/pmt/
- Suggestion to look at iperf3 -
iperf3 –zerocopy
- Jetpack 4 EOL announcement
- Won’t have security fixes or any other fixes after Q1 in 2024 based on this announcement.
- 5.10 kernel repo patches
- PRs on 5.10 kernel repo from a project using NVIDIA modules and hardware for some project.
- Wanted to add drivers for devices on their hardware which nobody else has.
- Inclined to say no, if anyone has interest in helping maintain please let Matt know.
- See https://github.com/OE4T/linux-tegra-5.10/pull/12
- musl vs glibc support PR at https://github.com/OE4T/meta-tegra/pull/1441
- Anyone who is interested in this please chime in on the PR.