---
title: Install SHAPE on NVIDIA Jetson Orin NX
description: Install Tactigon SHAPE on NVIDIA Jetson Orin NX. Follow the Docker setup, configure GPU access for Ollama, and open the visual programming environment to start building robotics and IoT projects.
url: "https://thetactigon.com/docs/install-shape-on-nvidia-jetson-orin-nx/"
updated: "2026-11-09"
category: Getting started
---

# Install SHAPE on NVIDIA Jetson Orin NX

## **Overview**

Set up Tactigon SHAPE on an NVIDIA Jetson Orin NX 16 GB to build visual application logic for robotics and IoT. This guide covers system preparation, Docker configuration, and opening the SHAPE interface, along with the GPU configuration for the Ollama service.

**Scope:** Tested on a Seeed Studio reComputer J4012 running JetPack 6.0 (Ubuntu 22.04 LTS host).

## **What you need**

- NVIDIA Jetson Orin NX 16 GB mounted on a Seeed reComputer J4012 carrier board.

- Original power supply specified for your Jetson device (essential to prevent brownouts during GPU operations).

- Monitor with compatible HDMI/DisplayPort cable.

- USB keyboard and mouse.

- Stable internet connection via Ethernet or Wi-Fi for packages and container images

- JetPack 6.0 pre-installed and configured.

- Optional: a compatible Bluetooth adapter and a charged Tactigon TSkin for gesture input (connects via Bluetooth Low Energy - BLE only).

*If the device needs flashing, use the official Seeed Studio instructions for the exact model and supported host system before proceeding.*

## **1. Complete the initial system setup**

Follow the device's first-boot wizard:

1. Accept the license agreement.

2. Select your language, keyboard layout, and time zone.

3. Create your user credentials.

4. Deselect optional browser installation if prompted.

5. Skip optional account sign-ins (Google, Microsoft, Ubuntu Pro), telemetry reporting, and location services.

Once the desktop loads, open a terminal window.

## **2. Install the base packages**

Update the package index and install essential tools along with Chromium:

`sudo apt update`

`sudo apt install -y git cmake build-essential chromium-browser`

Reboot the device to ensure base packages take effect:

`sudo reboot`

## **3. Install Docker**

Configure legacy \`iptables\` compatibility required by JetPack 6.0:

`sudo update-alternatives --set iptables /usr/sbin/iptables-legacy`

`sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy`

Set up the official Docker package repository:

`sudo apt update`

`sudo apt install -y ca-certificates curl`

`sudo install -m 0755 -d /etc/apt/keyrings`

`sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc`

`sudo chmod a+r /etc/apt/keyrings/docker.asc`

`echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null`

`sudo apt update`

Install Docker pinned to the 27.5 release series (to avoid \`iptable_raw\` kernel issues present in Docker 28+ on JetPack kernels):

`sudo apt install -y 'docker-ce=5:27.5*' 'docker-ce-cli=5:27.5*' containerd.io docker-buildx-plugin docker-compose-plugin`

`sudo apt-mark hold docker-ce docker-ce-cli`

Enable the Docker service:

`sudo systemctl enable --now docker`

Grant your current user access to Docker without \`sudo\`:

`sudo usermod -aG docker "$USER"`

Reboot your device to apply group membership changes:

`sudo reboot`

After rebooting, test basic container execution:

`docker version`

`docker run hello-world`

## **4. Configure the NVIDIA container runtime and test GPU**

Install the toolkit and configure Docker:

`sudo apt install -y nvidia-container-toolkit`

`sudo nvidia-ctk runtime configure --runtime=docker`

`sudo systemctl restart docker`

Validate containerized GPU access on the Jetson:

`docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi`

## **5. Download SHAPE**

Create a working directory and clone the official repository:

`mkdir -p ~/Projects && cd ~/Projects`

`git clone https://github.com/TactigonTeam/Tactigon-Shape.git`

`cd Tactigon-Shape`

*(Optional) If you prefer using VS Code for development, install the ARM64 build following Microsoft's official Linux documentation.*

## **6. Configure GPU access for Ollama**

Open \`docker-compose.yml\` in your preferred text editor.

Update the \`ollama\` service configuration to include hardware GPU allocation and the required JetPack runtime environment variable:

here's an example:

```
ollama:
    image: ollama/ollama:0.12.10
    container_name: ollama
    restart: unless-stopped
    networks:
      - tactigon-net
    ports:
      - "11434:11434"
    environment:
      - JETSON_JETPACK=6.0
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    volumes:
      - ollama_data:/root/.ollama
```

 

Save and close the file.

## **7. Build and start SHAPE**

From the \`Tactigon-Shape\` directory, build and launch the container stack:

`docker compose up --build`

Keep the terminal window open to monitor startup messages and system status.

## **8. Open SHAPE**

1. Launch Chromium from the terminal or application menu:

`   chromium-browser`

2. Open the SHAPE interface at:

`   http://127.0.0.1:5123`

3. Connect your Tactigon TSkin device via Bluetooth Low Energy (BLE) to begin creating gesture-controlled robotics and IoT flows.

## 9. Create your first project

Continue with [Create your first Shape](https://thetactigon.com/docs/create-your-first-shape/) to create, save and run a visual workflow.

To work with a local language model, see the [SHAPE Ollama guide](https://github.com/TactigonTeam/Tactigon-Shape/wiki/Ollama).

## Troubleshooting

### The interface does not open

Check the terminal running Docker Compose for startup errors. In another terminal, from the same repository directory, inspect service status and recent logs:

```
docker compose ps
docker compose logs --tail=100
```

### NVIDIA package configuration fails

The source reports errors involving `nvidia-l4t-kernel` or related packages. The error code alone does not identify the cause. Record the preceding error output and seek a device-specific resolution through the official NVIDIA or Seeed support channels.

Do not use renaming package post-installation scripts as a general fix: it bypasses a package configuration step rather than establishing that the underlying problem has been repaired.

### Chromium or Firefox crashes

Record the browser error and the JetPack/L4T version. Validate a fix for that combination. The source's pinned snapd revision is not included here as a general solution because its applicability has not been established.

## Official references

- [Tactigon SHAPE repository](https://github.com/TactigonTeam/Tactigon-Shape)
- [Seeed reComputer J4012 flashing instructions](https://wiki.seeedstudio.com/reComputer_J4012_Flash_Jetpack/)
- [Seeed reComputer Super getting started](https://wiki.seeedstudio.com/recomputer_jetson_super_getting_started/)
- [NVIDIA JetPack 6.0](https://developer.nvidia.com/embedded/jetpack-sdk-60)
- [Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/)
- [Docker post-installation and privileges](https://docs.docker.com/engine/install/linux-postinstall/)
- [Docker Compose GPU access](https://docs.docker.com/compose/how-tos/gpu-support/)
- [NVIDIA Container Toolkit installation](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)
- [Ollama Docker documentation](https://docs.ollama.com/docker)
- [VS Code on Linux](https://code.visualstudio.com/docs/setup/linux)
