Skip to content

Conversation

sm1ll3r
Copy link

@sm1ll3r sm1ll3r commented Aug 25, 2025

Description of changes

Creates a service that will copy all files under nvcam specified in hardware.nvidia-jetpack.ispPkgs into the /var/nvidia/nvcam directory. Whenever this list of pkgs gets updated the /var/nvidia/nvcam directory will be recreated.

Testing

Verified files were copied into /var/nvidia/nvcam on an orin-agx. nvargus was able to read the .isp files and image captured using nvargus pipeline had isp configuration applied.

Copy link
Collaborator

@danielfullmer danielfullmer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if someone later removes isp files, how can we remove them from /var/nvidia/nvcam?
Do we need to clear the cache files nvidia makes here? (Could you document what those are?)

What can we do to test this functionality?


enable = mkEnableOption "ISP setup";

path = mkOption {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be an option under hardware.jetpack-nixos instead of something separate.
Could the option just be a list of packages which provide isp files? It'd be empty by default, so I don't see the need for an enable field.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went ahead with this it's now a list of paths if empty it wont start the service.

@danielfullmer
Copy link
Collaborator

Verified on orin-agx with nvargus.

Verified what, exactly?

@sm1ll3r
Copy link
Author

sm1ll3r commented Aug 26, 2025

What happens if someone later removes isp files, how can we remove them from /var/nvidia/nvcam? Do we need to clear the cache files nvidia makes here? (Could you document what those are?)

What can we do to test this functionality?

Per the forums (since there are no docs :/) it seems the nvcam_cache_.bin and serial_no_.bin speed up camera pipeline initialization and only need to be updated when the underlying camera_override isp files have changed.
Given that I was thinking about storing the hash of the list of packages given that have isp files and if that updates then recreate the /var/nvidia/nvcam dir?

For testing we would need to verify that nvargus or libargus initialize and are able to read the override.isp files at /var/nvidia/nvcam

@sm1ll3r sm1ll3r force-pushed the add-isp-file-support branch from 8573fda to 221ab41 Compare August 26, 2025 23:22
Copy link
Collaborator

@elliotberman elliotberman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with a minor description nit

default = [ ];
description = ''
The list of packages that contain isp files. This
will copy any files in the /nvcam directory to the
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
will copy any files in the /nvcam directory to the
will copy any files in the /nvcam directory of each package to the

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants