Docker Installation

XCENA Docker image provides a fully pre-configured environment that includes both the SDK and Emulator, allowing you to start development without any manual installation steps.

This setup is ideal for users who:

  • Want to test XCENA SDK features without SW toolchain dependencies on the host system
  • Need a consistent, reproducible environment for emulator-based development
  • Work in environments where access to XCENA hardware is not available

Prerequisites

  • Docker Engine installed on the host system
  • For hardware: XCENA driver must be installed on the host
  • For emulator: KVM support required (/dev/kvm)

1. Pull Image

Obtain prebuilt container from Docker Hub. Ensure that you use the correct repository & tag name.
Example:

# Usage: docker pull <repository name>:<tag name>
docker pull xcenadev/sdk:latest
# Or specific version
docker pull xcenadev/sdk:1.4.0

Alternatively, you can build the image manually using the Dockerfile provided in the SDK repository (dockerfiles/README).

2. Install driver on host

Skip this step if you’re planning to run only emulator in Docker.

If you have the SDK package:

wget <URL_to_sdk_xxx.tar.xz>
tar -xvf sdk_xxx.tar.xz
cd sdk_xxx/driver
sudo ./install.sh
sudo reboot

Or install directly from the driver repository:

git clone git@github.com:metisx-dev/mxdriver.git
cd mxdriver
sudo ./install.sh
reboot

3. Run Docker Container

To ensure compatibility with the driver, you must run the container in privileged mode.
Example:

# Usage: docker run -it --privileged --name <container_name> <image>:<tag>
docker run -it --privileged --name xcena_sdk xcenadev/sdk:1.4.0

If you want to run emulator in Docker, run with KVM support, SYS_ADMIN capability, and user option (--device /dev/kvm, --cap-add=SYS_ADMIN, -e USER=$USER).
Example:

# Usage: docker run -it --name <container_name> --device=/dev/kvm --cap-add=SYS_ADMIN -e USER=$USER <image>:<tag>
docker run -it --name xcena_sdk --device=/dev/kvm --cap-add=SYS_ADMIN -e USER=$USER xcenadev/sdk:1.4.0

Navigate to the SDK directory (/work/) and check the installation contents, following the same procedure as described in Verify Installation.


Table of contents