[JetPack 7.1 R38.4] nvidia-display-install questions

Regarding questions compiling the JetPack 7.1 R38.4 SDK, refer to

After executing sudo ./apply_binaries.sh --openrm,
under the $SDK/ directory:
find rootfs/lib/modules/6.8.12-tegra -name nvidia.ko
rootfs/lib/modules/6.8.12-tegra/updates/opensource-gpu-disp/nvidia.ko

Refer to

After execution:
$ export INSTALL_MOD_PATH=/Linux_for_Tegra/rootfs/
$ sudo -E make modules_install
Under $SDK/
~/$ find rootfs/lib/modules/6.8.12-tegra -name nvidia.ko
rootfs/lib/modules/6.8.12-tegra/updates/opensrc-disp/nvidia.ko
rootfs/lib/modules/6.8.12-tegra/updates/opensource-gpu-disp/nvidia.ko

Which nvidia.ko file should be used for the JetPack 7.1 R38.4 SDK?

Some servers show modules.dep after running module_install
grep -r “nvidia.ko” ./rootfs/lib/modules/6.8.12-tegra/modules.dep
updates/opensource-gpu-disp/nvidia-modeset.ko: updates/opensource-gpu-disp/nvidia.ko updates/drivers/platform/tegra/dce/ tegra-dce.ko updates/drivers/gpu/host1x/host1x.ko updates/drivers/platform/tegra/mc-utils/mc-utils.ko kernel/drivers/gpu/drm/drm.ko
updates/opensource-gpu-disp/nvidia-drm.ko: updates/opensource-gpu-disp/nvidia-modeset.ko updates/opensource-gpu-disp/nvidia.ko updates/drivers/platform/tegra/dce/tegra-dce.ko updates/drivers/gpu/host1x/host1x.ko updates/drivers/platform/tegra/mc-utils/

After booting, the following log appears, after which the system stops and fails to proceed further.
nvidia: disagrees about version of symbol module_layout

Additionally, some servers display the module.dep file after completing the module_install step:
grep -r “nvidia.ko” ./rootfs/lib/modules/6.8.12-tegra/modules.dep
updates/opensrc-disp/nvidia-modeset.ko: updates/opensrc-disp/nvidia.ko updates/drivers/platform/tegra/dce/tegra-dce.ko updates/drivers/gpu/host1x/host1x.ko updates/drivers/platform/tegra/mc-utils/mc-utils.ko kernel/drivers/gpu/drm/drm.ko
updates/opensrc-disp/nvidia-drm.ko: updates/opensrc-disp/nvidia-modeset.ko updates/opensrc-disp/nvidia.ko updates/drivers/platform/tegra/dce/tegra-dce.ko updates/drivers/gpu/host1x/host1x.ko updates/drivers/platform/tegra/mc-utils/mc-utils.ko kernel/drivers/gpu/drm/drm_kms_helper.ko kernel/drivers/gpu/drm/drm.ko
updates/opensrc-disp/nvidia-uvm.ko: updates/opensrc-disp/nvidia.ko updates/drivers/platform/tegra/dce/tegra-dce.ko updates/drivers/gpu/host1x/host1x.ko updates/drivers/platform/tegra/mc-utils/mc-utils.ko kernel/drivers/gpu/drm/drm.ko
updates/opensrc-disp/nvidia.ko: updates/drivers/platform/tegra/dce/tegra-dce.ko updates/drivers/gpu/host1x/host1x.ko updates/drivers/platform/tegra/mc-utils/mc-utils.ko kernel/drivers/gpu/drm/drm.ko

Images generated by these servers can boot normally into the Ubuntu OS.

source/Makefile :

please manually copy files to this path and see if it works.

opensource-gpu-disp

Hi Wayne,

Manually copying the nvidia*.ko files from the rootfs/lib/modules/6.8.12-tegra/updates/opensrc-disp directory to the rootfs/lib/modules/6.8.12-tegra/updates/opensource-gpu-disp directory can boot into the Ubuntu OS.

Before:
$ ls -al ./rootfs/lib/modules/6.8.12-tegra/updates/opensource-gpu-disp/
total 23944
drwxr-xr-x 2 root root 4096 二 12 18:59 .
drwxr-xr-x 6 root root 4096 二 12 19:39 ..
-rw-r–r-- 1 root root 176185 十二 31 08:06 nvidia-drm.ko
-rw-r–r-- 1 root root 19136009 十二 31 08:06 nvidia.ko
-rw-r–r-- 1 root root 2978305 十二 31 08:06 nvidia-modeset.ko
-rw-r–r-- 1 root root 2211209 十二 31 08:06 nvidia-uvm.ko
$ ls -al ./rootfs/lib/modules/6.8.12-tegra/updates/opensrc-disp/
total 37732
drwxr-xr-x 2 root root 4096 二 12 19:39 .
drwxr-xr-x 6 root root 4096 二 12 19:39 ..
-rw-r–r-- 1 root root 960289 二 12 19:39 nvidia-drm.ko
-rw-r–r-- 1 root root 22154713 二 12 19:39 nvidia.ko
-rw-r–r-- 1 root root 3271193 二 12 19:39 nvidia-modeset.ko
-rw-r–r-- 1 root root 12236897 二 12 19:39 nvidia-uvm.ko

After:

$ ls -al ./rootfs/lib/modules/6.8.12-tegra/updates/opensource-gpu-disp/ total 37732
drwxr-xr-x 2 root root 4096 二 12 18:59 .
drwxr-xr-x 6 root root 4096 二 12 19:39 ..
-rw-r–r-- 1 root root 960289 二 13 08:43 nvidia-drm.ko
-rw-r–r-- 1 root root 22154713 二 13 08:43 nvidia.ko
-rw-r–r-- 1 root root 3271193 二 13 08:43 nvidia-modeset.ko
-rw-r–r-- 1 root root 12236897 二 13 08:43 nvidia-uvm.ko
$ ls -al ./rootfs/lib/modules/6.8.12-tegra/updates/opensrc-disp/
total 37732
drwxr-xr-x 2 root root 4096 二 12 19:39 .
drwxr-xr-x 6 root root 4096 二 12 19:39 ..
-rw-r–r-- 1 root root 960289 二 12 19:39 nvidia-drm.ko
-rw-r–r-- 1 root root 22154713 二 12 19:39 nvidia.ko
-rw-r–r-- 1 root root 3271193 二 12 19:39 nvidia-modeset.ko
-rw-r–r-- 1 root root 12236897 二 12 19:39 nvidia-uvm.ko

Thanks.

Hi Wayne,

Could you please advise whether the NVIDIA GPU driver to use on the Jetson Thor platform is opensource-gpu-disp or opensrc-disp?

Thanks.

Why is this question still here?

Didn’t you already try this and confirm working?

Hi Wayne,

Considering that the size of the KO file in the original opensource-gpu-disp differs from that in the opensrc-disp used for module_install.

$ ls -al ./rootfs/lib/modules/6.8.12-tegra/updates/opensource-gpu-disp/
total 23944
drwxr-xr-x 2 root root 4096 二 12 18:59 .
drwxr-xr-x 6 root root 4096 二 12 19:39 ..
-rw-r–r-- 1 root root 176185 十二 31 08:06 nvidia-drm.ko
-rw-r–r-- 1 root root 19136009 十二 31 08:06 nvidia.ko
-rw-r–r-- 1 root root 2978305 十二 31 08:06 nvidia-modeset.ko
-rw-r–r-- 1 root root 2211209 十二 31 08:06 nvidia-uvm.ko
$ ls -al ./rootfs/lib/modules/6.8.12-tegra/updates/opensrc-disp/
total 37732
drwxr-xr-x 2 root root 4096 二 12 19:39 .
drwxr-xr-x 6 root root 4096 二 12 19:39 ..
-rw-r–r-- 1 root root 960289 二 12 19:39 nvidia-drm.ko
-rw-r–r-- 1 root root 22154713 二 12 19:39 nvidia.ko
-rw-r–r-- 1 root root 3271193 二 12 19:39 nvidia-modeset.ko
-rw-r–r-- 1 root root 12236897 二 12 19:39 nvidia-uvm.ko

When using the Jetson Thor devkit, the module_install step is skipped, meaning the ko file from opensource-gpu-disp is used.

However, if you design your own carrier board, you’ll need to build the kernel/module and execute module_install, which is where the discrepancy arises, correct?

The concern is that GPU-related drivers may differ from those on the Jetson Thor devkit.
Was copying the ko files from opensrc-disp to opensource-gpu-disp the correct solution previously?
Does the Jetson Thor devkit also require building the kernel/module and executing the module_install step?

Thanks.

Copy the binaries you built to opensource-gpu-disp should be the correct method.