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 image from Docker Hub. <tag> is the version name found in the release notes (e.g., 1.4.0).
docker pull xcenadev/sdk:<tag>
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 extract the driver from the Docker container. <container> is the container name or ID, which can be found using docker ps -a. This ensures compatibility between the driver and the SDK version in the container.
If you don’t have a container yet, create one with docker create:
# e.g., docker create --name xcena_sdk xcenadev/sdk:1.4.0
docker create --name <container> xcenadev/sdk:<tag>
Then copy the driver from the container:
# e.g., docker cp xcena_sdk:/work/driver ./
docker cp <container>:/work/driver ./
docker rm <container>
cd driver
sudo ./install.sh
sudo reboot
3. Run Docker Container
To ensure compatibility with the driver, you must run the container in privileged mode.
# e.g., docker run -it --privileged --name xcena_sdk xcenadev/sdk:1.4.0
docker run -it --privileged --name <container> xcenadev/sdk:<tag>
Navigate to the SDK directory (/work/) and check the installation contents, following the same procedure as described in Verify Installation.
For the emulator-specific workflow in Docker, including the required docker run options and run.sh commands, refer to Emulator Installation.
Note By default, libpxl inside Docker runs in standalone mode — device resources are not shared across processes or containers. To run multiple containers sharing the same device, see Multiple Containers.