Add weston-touch-calibrator to Torizon 6

Which is the right version of weston-touch-calibrator caontainer to be used with image torizon-core-docker-verdin-imx8mm-Tezi_6.1.0-devel-20230117+build.150.tar ?
Should I use :2 or :3?
Am I right that it should match the weston-vivante release (that is :2 in the torizoncore image I use)?
How can I deploy weston-touch-calibrator container to my Verdin iM8M-Mini?
Should I edit docker-compose.yml and rebuild with torizoncore-builder?
Or is there a quick way?

Thanks

Hi @vix ,

Hope you’re doing fine.

Did you see this article?

Best Regards
Kevin

Yes, but I don’t know how to have the container available on the device.
Then I can start it with docker run

Greetings @vix,

I’m not sure I understand. If you run docker run as documented in the linked article it will automatically pull the correct container image if it does not already exist on the system.

Best Regards,
Jeremias

Hi @jeremias.tx
the Verdin is on an embedded system that doesn’t have access to internet.
It would be much easier with network access, but I can’t.
Only my devdelopment PC has access to internet.

Hello @vix,

There are two ways to run the docker container in this case that I can suggest to you (assuming that you have a USB-A port accessible on your carrier board):

  1. Load the containers from a USB drive directly. You can save the docker image into a tar archive from your development machine using the command docker save (docker save | Docker Documentation) and then load it on the module using docker load command (docker load | Docker Documentation). You need to create separate tar files for each of your images, load them separately and then create the docker-compose file in /var/sota/storage/docker-compose directory. The module doesn’t need network access to run the containers once the images are already available locally on the module. As @jeremias.tx mentioned, you need network access only to pull the images if they don’t already exist on the system.

  2. Use TorizonCore Builder tool to bundle your docker-compose file into the OS and then deploy it directly to the module either via SSH or by copying the Tezi image to a USB storage (Detailed Manual | Toradex Developer Center), or serving the images using a local zeroconf server.

Please let me know if you need any further asistance after you give these a try :slight_smile:

Hello @rudhi.tx
thanks.
Next week I’ll test.
I know how to use TorizonCore Builder tool to bundle the docker-compose file, so probably I’ll go in this way.
Only one question: does weston-touch-calibrator container depends on other containers? I suppose it depends on weston-vivante only.
Something like this?

services:
  weston-touch-calibrator:
    container_name: weston-touch-calibrator
    depends_on:
      - weston-vivante
      ...

Hello @vix,

I would first try with just one service for weston-touch-calibrator in the docker-compose file. Something like this:

services:
  gpios:
    image: torizon/weston-touch-calibrator:2
    volumes:
      - type: bind
        source: /dev
        target: /dev
      - type: bind
        source: /run/udev/
        target: /run/udev/
      - type: bind
        source: /etc/udev/rules.d
        target: /etc/udev/rules.d
    environment:
     - ACCEPT_FSL_EULA=1
version: '2.4'
volumes:
  portainer_data: {}

Just FYI, I wrote this docker-compose file based on the docker run command given here for starting weston touch calibration container.

Could you please give this a try and see if it works? If not please let me know.

Dear @vix,

Do you have any updates on this topic?

Not yet.
I hope in the next few days.