Setup Dev Container
You can setup VSCode Dev container environment as followings.
For more detailed support, please refer to VSCode Dev Containers documentation.
Hardware use This Dev Container setup targets development and the emulator. To run XCENA hardware inside the Dev Container, the container must connect to the host
pxl_resourceddaemon — add the daemon options torunArgsin.devcontainer/devcontainer.json, for example:"runArgs": [ "--privileged", "--pid=host", "--ipc=host", "--cgroupns=host", "-v", "/run/pxl:/run/pxl", "-v", "/tmp/pxl:/tmp/pxl", "-v", "/dev:/dev", "-v", "/sys:/sys" ]See Host Daemon Setup for the full option list and prerequisites (host
pxl_resourced, libpxl 1.4.9+).
Requirements
- Prebuilt Docker Image
- VSCODE
- VSCODE Extension : Dev Containers
Setup example
-
Create a Workspace
mkdir workspaceYou can use a different name for the workspace if preferred.
- Environment setup
-
Create a temporary container and copy necessary files to your workspace
docker create --name temp_container xcenadev/sdk:latest cd workspace docker cp temp_container:/work/. .Dev container configuration and SDK files will be copied from the temporary container to workspace.
-
Ensure the Dev Container image tag matches the copied SDK
Open
.devcontainer/devcontainer.jsonin the copied files and set the image tag to the same${SDK_TAG}you used above:{ "name": "XCENA SDK container", // Use 'latest' by default. If you use a specific version, change the tag here. "image": "xcenadev/sdk:latest" // e.g., "image": "xcenadev/sdk:1.3.0" } -
Remove the temporary container
docker rm temp_container
-
- Open Dev container
-
Open workspace in VSCODE
-
Reopen in Dev Container
Press[CTRL + SHIFT + P]and selectDev Containers: Reopen in Container
-
Additional Notes
- Make sure you have the necessary permissions to access the prebuilt Docker image.
- If you encounter any issues, verify that the Docker daemon is running and the VSCode Dev Containers extension is properly installed.
- If you need to customize the Dev Container configuration further, you can modify the
.devcontainerfolder in your workspace.