Generated banner for Pva Setup
Generated logo for Pva Setup

Pva Setup

NVIDIAOfficialCreated by Venkat BalanDistributed by NVIDIA

  • Skill
  • Workflow
  • Software development
  • Apache-2.0
  • Medium risk

From the author

Install and configure the NVIDIA PVA SDK, NVVPU compiler, and L4T target runtime from the selected installation guide. Use when the user requests PVA environment setup on a development host and board.
— the description by Venkat Balan

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The pva-setup skill provides a structured workflow for configuring a PVA development environment. It manages the installation of the NVIDIA PVA SDK, NVVPU compiler, and L4T target runtime on both development hosts and target boards. The process integrates with pva-doctor to verify system readiness, handles source code management for PVA Solutions, and ensures that all components are correctly installed according to specific release guides. It supports both cross-compilation for L4T targets and emulation modes on the host.

What it does

  • Installs and configures the PVA SDK, NVVPU compiler, and L4T runtime.
  • Verifies system readiness using pva-doctor before and after installation.
  • Manages PVA Solutions source code, including cloning and LFS support.
  • Supports cross-compilation for L4T targets and emulation on the host.
  • Generates detailed setup reports including component versions and verification status.
  • Maintains SDK references and documentation integrity.

When to use it

  • When setting up a new PVA development environment on a host and target board.
  • When specific PVA components are missing or require configuration updates.
  • When transitioning between different PVA SDK releases or build modes.
  • When preparing a workspace for PVA development and testing.

Advantages

  • Ensures consistent environment configuration based on official installation guides.
  • Prevents unnecessary re-installation by verifying existing component states.
  • Automates complex multi-step installation procedures across host and target.
  • Provides clear reporting on installation success and remaining limitations.

Usage examples

“Set up the PVA environment for the latest SDK release on my host and Jetson target.”
The agent will invoke pva-doctor to assess the current state, then follow the installation guide to install the required SDK, NVVPU, and runtime components, finally verifying the setup.
“Configure the PVA development environment for emulation mode.”
The agent will identify the necessary packages for EMU mode as defined in the release guide and configure the host environment accordingly.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/nvidia/pva-setup/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip pva-setup.zip -d .agents/skills

Documentation by Venkat Balan

Set up a PVA development environment

<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -->

Support regular x86-64 Ubuntu on the development host and Jetson Linux (L4T) on the Arm64 target. Run the agent and build tools on the development host. PVA_BUILD_MODE=L4T cross-compiles for execution on the board; PVA_BUILD_MODE=EMU builds for emulation on the development host. Use NVVPU for non-safety development. DriveOS and ASIP setup are outside this workflow.

Workflow: Doctor → Setup when needed → Doctor → Spec → OpGen. Doctor checks readiness without installing software. The user invokes Setup when installation or configuration is needed.

Resolve the inputs

Use the user request and Doctor report to resolve:

  • Doctor report and requested capabilities.

  • Installation guide, supplied as a local file or URL; PVA generation.

  • Optional SDK release or installation-path override supplied by the user.

  • Development host and target SSH connection; expected BSP release, if supplied.

  • Work directory (WORK_DIR); use Doctor's work directory when supplied.

  • Optional EMU, CUDA, NvSci, or PVA Solutions requirements and project path.

When PVA Solutions is selected, use the supplied project path or default to $WORK_DIR/source. Reuse an existing source tree. Otherwise clone https://github.com/nvidia/pva-solutions.git there, unless the user supplies another repository or source archive. Honor a requested Solutions tag, branch, or commit; without one, use the repository's default branch. Record the source URL, absolute project path, version, and resolved commit when available. Do not infer a Solutions version from the SDK version.

Resolve the SDK release, installer URL, package names, and installation paths from the selected guide and package metadata before invoking Doctor. This includes SDK, NVVPU, CMake package, and target runtime paths. Do not hard-code package paths or construct names or paths from a version. Do not require the user to repeat values that these sources provide. Honor an explicit release or path override; check that the guide and installer support it. If the release or installer source cannot be established, report BLOCKED. Do not guess a version or substitute another release.

Resolve relative paths against the invocation directory before changing directories. Execute host installation commands on the development host, and target commands through its target connection. Keep generated files in the work directory, outside installed skills and SDK documentation.

Use inherited credentials or configured authentication. Never print secrets. In headless runs, report BLOCKED with the exact missing input or access requirement instead of asking questions.

1. Read Doctor's findings

If no applicable Doctor report exists, invoke pva-doctor first using the agent's available skill mechanism. Keep the same capability and target scope.

Determine readiness from current checks, not a marker that Setup ran. Confirm the report describes the selected host, target, SDK, and scope. Recheck package versions and paths before deciding whether changes are needed.

  • If requested capabilities are ready and the installation matches the request, make no package changes. Rerun Doctor and report the result.

  • If required components are missing, identify the installation steps.

  • If SDK references are missing, outdated, or damaged, prepare them in step 5. Reuse a matching installed SDK; this failure alone needs no installer or sudo.

  • If a failure concerns operator code or tests, route it to Build-Test or Debug instead of reinstalling the environment.

An already prepared environment does not need an installer or sudo access. Do not treat READY_WITH_LIMITATIONS as proof that every component works; resolve or report the specific unproved check.

2. Check installation prerequisites

For each needed change, read the selected release's installation guide and compatibility notes. Record the source, release identity, and relevant section. If the guide or artifact does not match the requested release, report BLOCKED before package changes. Do not substitute the latest release.

Check the affected machine's operating system, architecture, installed versions, BSP compatibility, installer access, and available disk space. Inspect installer package metadata before installing it. Use package names and versions from the guide and repository metadata; do not guess them.

List the necessary changes and reuse components that satisfy the request. Do not upgrade, downgrade, or remove unrelated packages. If the package transaction would exceed the requested setup, report the proposed changes as BLOCKED rather than applying them.

Use existing authorized administrative access for the specific operations. Do not require unrestricted passwordless sudo. If an operation is unavailable, report BLOCKED with the machine, operation, and reason.

3. Set up the development host

Follow the guide for the selected release:

  1. Obtain and inspect the local installer.

  2. Register its package repository and refresh package metadata.

  3. Confirm the selected package versions, dependencies, and transaction.

  4. Install the SDK, NVVPU compiler, and required build dependencies.

  5. Verify versions and actual paths from installed package metadata.

Use the package names listed in the installation guide. Read their actual versions from the installer or package repository. Confirm they match the selected release before installation, then check the installed versions.

Provide Python 3.9+ and pdftotext when Setup needs them to materialize SDK references. Install CUDA or NvSci dependencies only when requested work needs them. Record any necessary environment settings without silently editing the user's shell startup files or credential files.

EMU is included in the core SDK for releases that document this support. Use only the packages that the selected guide requires for EMU.

If PVA Solutions is selected, obtain its source as resolved above. Provide Git for a clone and Git LFS when the source uses it. Restore required submodules and working LFS files according to the repository's instructions for the selected build modes. Preserve local changes; do not replace a nonempty destination, reset a checkout, or pull unrelated updates. If source access or a requested revision is unavailable, report BLOCKED with the reason. A cached LFS object alone does not prove the working file exists.

Follow the guide's cleanup steps only for temporary installers and repository registrations created by this run. Preserve preexisting repositories and files.

4. Set up the L4T target

Read the board's installed BSP release over SSH and check compatibility with the selected SDK before installing its runtime. Check an expected BSP release only when the user supplies one. Use the supplied SSH account and trusted host key. Transfer the installer from the development host when the board cannot access the package source directly.

Follow the guide to install the Arm64 L4T runtime package it names. Inspect the transaction and reuse a compatible installed runtime. Verify its version, architecture, and non-safety variant against the selected release's compatibility rules and the user's version request.

Do not flash the board or change SSH trust, security settings, or clocks as part of package setup. If a command fails, save the failure and inspect current state before retrying; do not repeat a failed transaction blindly.

5. Prepare SDK references

Resolve the installed pva-doctor skill directory through the available skill mechanism. Use its bundled materializer and manifest with the selected SDK's documentation and $WORK_DIR/references/sdk. Follow its references/reference-maintenance.md for path checks, prerequisites, and commands. Keep the installed skills and SDK documentation unchanged.

Run verify first when a corpus exists. Reuse it if verification passes. For a missing or failed corpus, run sync, then verify, within the authorized workspace. Preserve the initial Doctor report and failure evidence before replacement. Report a materializer failure accurately; do not edit hashes or claim reference readiness. No SDK reinstall is needed solely to refresh references.

6. Run Doctor again

Invoke pva-doctor with the same requested capabilities, SDK, generation, project, target, and emulator policy. Preserve the initial Doctor report before writing the final report. Doctor owns compiler probes, reference verification, and readiness checks; package installation alone does not prove readiness.

Keep unavailable optional capabilities neutral. Report each remaining required failure or limitation and its next action. Do not proceed to Spec or OpGen.

Report

Write WORK_DIR/reports/pva-setup-report.md, including on an early stop:

  • Requested release, scope, installation source, and host/target identity.

  • Components reused, installed, or configured, with commands and exit codes.

  • Verified versions and paths, plus saved evidence locations.

  • Remaining failures or limitations and any partial changes.

  • Initial and final Doctor report paths and the final readiness verdict.

Print a concise summary and next action. Use Doctor's final verdict when it ran. Otherwise report BLOCKED for missing input or access, or NOT_READY for a demonstrated installation failure. Never claim an unperformed check passed.

Files

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Venkat Balan
Publisher
NVIDIA (Official)
Distributed by
NVIDIA
Source
NVIDIA/skills · skills/pva-setup · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Venkat Balan or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download pva-setup.zip