(I am reporting this on behalf of @D3_thart, who experienced this on 2020-10-23 US Eastern time but is out of the office today).
Platform: Xavier NX, JetPack 4.4.0
Steps:
Install JetPack 4.4.0 (L4T 32.4.3) on a Xavier NX using SDK Manager
On the target, run sudo apt update
On the target, run sudo apt install nvidia-l4t-jetson-multimedia-api
Expected: the system continues to operate normally
Observed: X11 wil not start
The version number of the nvidia-l4t-jetson-multimedia-api package includes a date after the release of JetPack 4.4.0. We hypothesize that nvidia-l4t-jetson-multimedia-api and its dependencies are being updated to 4.4.1 while the rest of the system is on 4.4.0, which is triggering the failure.
Has anyone else observed this behaviour? Thank you!
The dmesg logs seemed to indicate constant attempts to bring up the displayport monitor. The monitor itself showed a flashing black screen as if receiving and losing signal about every 3-5 seconds. We did not do any further investigation.
The suggestion to install an older packages gives me some questions in regards to our kernel maintenance.
If a user of using Jetpack 4.4.0 were to run apt upgrade would this bring their system to Jetpack 4.4.1? And if so, would there be issues if they were using a custom kernel built for the older Jetpack 4.4.0?
If a user of using Jetpack 4.4.0 were to run apt upgrade would this bring their system to Jetpack 4.4.1? And if so, would there be issues if they were using a custom kernel built for the older Jetpack 4.4.0?
The answer is yes. Actually, when you customize something, you should not use official OTA upgrade from NV anymore. Take one case for example, if D3 creates your own carrier board, then you must use your dtb. In this case, running upgrade will definitely ruin your board because it will replace your dtb with nv official dtb.
In that case, is it possible for a user to target a more specific Jetpack release in their apt sources.list?
As a user, I would not expect running apt upgrade to potentially make a system unusable. The user is constantly notified about package upgrades in the GUI and may want to upgrade other packages for security/stability reasons.
We would like to keep the Nvidia repo on the system as we use it to get packages like the Jetson Multimedia API.
Using SDKManager for installing the Multimedia API is not an option as selecting the Nvidia libraries from the installer for an eMMC Jetson NX nearly fills the root partition.
OTA upgrade has no problem. Just have to make sure you are using the correct BSP release and SDK version.
e.g. BSP-> 4.4.1 and SDK->4.4.1. You shall not use BSP->4.4.1 and SDK->4.4.
Wayne, is there a page listing all the available versions?
I also ran in a problem on some machines that were on an older version and needed to upgrade them to a newer version. I used the info from my development machine, but I was wondering whether I could have looked up a table with versions and properly select the one I needed.
As far as I know, all the package version numbers start with the L4T version. The table below cross-references JetPack and L4T versions. It is in Mediawiki markup because that’s the format I have :) . Hope this helps!
I can confirm that even though I installed Jetpack 4.4 I still ended up with a multimedia-api that is version 32.4.4. The update mechanism should be intelligent enough to not update versions beyond what is compatible. I am using everything stock 4.4. We cannot update to the latest every time there is a new release.
@WayneWWW Given @ndry’s comment, I would like to make this a feature request. Would NVIDIA please divide the l4t apt sources by JetPack release?
In JetPack 4.4, ~/nvidia/nvidia_sdk/JetPack_4.4_Linux_JETSON_AGX_XAVIER/Linux_for_Tegra/rootfs/etc/apt/sources.list.d/nvidia-l4t-apt-source.list says:
deb https://repo.download.nvidia.com/jetson/common r32.4 main
Would NVIDIA please divide the APT distributions (r32.4) by JetPack version instead of L4T version? Or by full L4T version instead of just r<major>.<minor>? I think that would solve the problem. E.g.:
JetPack 4.4: deb https://repo.download.nvidia.com/jetson/common r32.4.3 main
JetPack 4.4.1: deb https://repo.download.nvidia.com/jetson/common r32.4.4 main
You want a function that you can choose what release your upgrade would go to, right?
For example, we should limit the version to jp4.4 but not jp4.4.1 or future release.