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_resourced daemon — add the daemon options to runArgs in .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

  1. Create a Workspace

     mkdir workspace
    

    You can use a different name for the workspace if preferred.

  2. Environment setup
    1. 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.

    2. Ensure the Dev Container image tag matches the copied SDK

      Open .devcontainer/devcontainer.json in 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"
       }
      
    3. Remove the temporary container

       docker rm temp_container
      
  3. Open Dev container
    1. Open workspace in VSCODE

    2. Reopen in Dev Container
      Press [CTRL + SHIFT + P] and select Dev 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 .devcontainer folder in your workspace.