Crank GUI Deployment Failed on Toradex i.MX8MP Module with Torizon

Hello,

I am working on a Toradex i.MX8MP module with a Torizon container-based OS. I tried to deploy the Crank sample GUI using the TCP method. The file transfer worked, and the files were sent to the mainboard, but when I attempted to run the Crank GUI using the direct method with "Execute after transfer - /usr/crank/scp.sh," I encountered an error. The console output showed: sh: line 1: /usr/crank/scp.sh: No such file or directory. There was no GUI output on the display.

For the second method, I attempted to run the GUI manually using a Docker container, but I encountered version-related errors. Here is the terminal output:

torizon@verdin-imx8mp-15502128:~$ clear  
torizon@verdin-imx8mp-15502128:~$ ^Ccker run -d -it --restart=always --provoleged -v/temp:/tmp torizon/arm32v7 -debian-weston:buster weston-launch --tty--dev/tty--user-root  
torizon@verdin-imx8mp-15502128:~$ docker run -d -it --restart=always --privileged \  
>     -v /temp:/tmp \  
>     torizon/arm32v7-debian-weston:buster \  
>     weston-launch --tty=/dev/tty1 --user=root  
0d240b1d280102ba69dcf25e082ec5db279238d0aed9ab59af168e8f10bf921c  
torizon@verdin-imx8mp-15502128:~$ docker ps  
CONTAINER ID   IMAGE                                  COMMAND                  CREATED          STATUS                          PORTS     NAMES  
0d240b1d2801   torizon/arm32v7-debian-weston:buster   "/usr/bin/entry.sh w…"   53 seconds ago   Restarting (1) 18 seconds ago             heuristic_shamir  
240a0c3108a2   torizon/weston-imx8:4                  "/usr/bin/entry.sh -…"   17 hours ago     Up 17 hours                               weston  
torizon@verdin-imx8mp-15502128:~$ cd crank/scp  
torizon@verdin-imx8mp-15502128:~/crank/scp$ pwd  
/home/torizon/crank/scp  
torizon@verdin-imx8mp-15502128:~/crank/scp$ docker run -it --priviledge -v/home/torizon/crank/scp:/usr/crank/scp - v/dev:/dev -v?tmp:/tmp cranksoftware/torizon_im6:6.1^C  
torizon@verdin-imx8mp-15502128:~/crank/scp$ docker run -it --privileged \  
>     -v /home/torizon/crank/scp:/usr/crank/scp \  
>     -v /dev:/dev \  
>     -v /tmp:/tmp \  
>     cranksoftware/torizon_imx8:8_2  
Unable to find image 'cranksoftware/torizon_imx8:8_2' locally  
docker: Error response from daemon: manifest for cranksoftware/torizon_imx8:8_2 not found: manifest unknown: manifest unknown.  
See 'docker run --help'.  

When using an older version:

torizon@verdin-imx8mp-15502128:~/crank/scp$ docker run -it --privileged \  
>     -v /home/torizon/crank/scp:/usr/crank/scp \  
>     -v /dev:/dev \  
>     -v /tmp:/tmp \  
>     cranksoftware/torizon_imx8:6_1  
Unable to find image 'cranksoftware/torizon_imx8:6_1' locally  
6_1: Pulling from cranksoftware/torizon_imx8  
d852f02e2b4c: Pull complete  
2ea443c404c6: Pull complete  
2d86ba1bb6b1: Pull complete  
99068d63f270: Pull complete  
0bb4c9201ed1: Pull complete  
5495b0fded2b: Pull complete  
28804939d67a: Pull complete  
4b4fb9b33f5d: Pull complete  
cc2d3c1bf514: Pull complete  
57ede003f438: Pull complete  
d139b2f1602d: Pull complete  
3fc864ff23be: Pull complete  
a84401aaac42: Pull complete  
a367ecf801a4: Pull complete  
84fcc648f786: Pull complete  
eddb13010694: Pull complete  
b983d9b927f7: Pull complete  
65a5daffd0d1: Pull complete  
Digest: sha256:cc594da235ce8113e9ae6a2edd5b8241882a1696688988855aea7ad6b3d45df4  
Status: Downloaded newer image for cranksoftware/torizon_imx8:6_1  
/usr/crank/scp/DialogBox.gapp  
Starting Storyboard SCP Application...  
/usr/crank/scp/DialogBox.gapp  
/usr/crank/docker_sbengine.sh: line 33:     8 Segmentation fault      (core dumped) $sb_binary $sb_options $scp_app  


Despite using the older version, the application crashes with a segmentation fault.
Waiting for the guidance and help.
Thank you.

Anurag

0

Comments

3 comments
  • Hi Anurag,

    which documentation are you following?
    I don't expect those containers to work on a new Torizon platform. Furthermore, I don't think you should be using that torizon container either if you are using a new torizon platform such as torizon 6.x.z or higier.

    I would suggest you following this integration guide MaximilianoZa/crank_torizon_docker_containers at 16995263fa554a4a9b3412f4d416ab7be271b47f

    let me know how that goes.

    best

    Max

     

     

    0
  • Hello Maximiliano ,

    Thanks for the update. I'll check this documentation and tests. Since I am using Torizon OS and plan to deploy my GUI for validation with the end device, I used the SCP transfer method and executed the file after transfer. However, the only error I see in the Crank console is:


    /var/rootdirs/home/torizon/usr/crank/runtimes/linux-imx8yocto-aarch64-opengles_2.0-wayland-obj/bin/sbengine: error while loading shared libraries: libEGL.so.1: cannot open shared object file: No such file or directory.

    ID=torizon
    NAME="Torizon OS"
    VERSION="7.1.0-devel-20241225+build.124 (scarthgap)"
    VERSION_ID=7.1.0-devel-20241225-build.124
    VERSION_CODENAME="scarthgap"
    PRETTY_NAME="Torizon OS 7.1.0-devel-20241225+build.124 (scarthgap)"
    CPE_NAME="cpe:/o:openembedded:torizon:7.1.0-devel-20241225+build.124"
    BUILD_ID="124"
    ANSI_COLOR="1;34"
    VARIANT="Docker"

     

     

    To achieve this functionality, I followed these tutorials: 

    https://www.youtube.com/watch?v=P2Wo3C_QC3s&t=1252s

    https://www.youtube.com/watch?v=LtCHpCA2C4s&t=1s 

    Please let me know if you need any additional details.

    Regards,
    Anurag

     

     

    0
  • Hi Anurag,

    Those tutorials are unfortunatly a bit outdated, maybe just follow the guide I sent you.

    regarding this lib: 

    libEGL.so.1

    you need to preload it. on Torizon and Imx8 we run a Crank container on top of a Weston container, and that library is located on the Weston container, which contains all the Wayland libraries in it.
    This is explained on the integration guide I pointed as well. you need to set that path properly.

    I am confident that by following that guide step by step you should be able to run a Crank container without issue. 

    It seems that you are running on Torizon 7. I created and tested those containers in Torizon 6, but it should be fairly similar. There may be only one thing to check, when you run the weston container you should use a flag defined on the system: torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE 
    in the Case for Torizon 6, this flag would be defined as 3, whereas in Torizon 5 is 2, not sure what would be the case for Torizon 7. this affects the container you are building from (FROM), define con the docker file in the Crank container. 

    you obviously want to run your own container eventually, but for a quick test you may try to run a ready container (for Torizon 7 may need some adjustments, refer to the Torizon docs):

    #weston
    docker run -e ACCEPT_FSL_EULA=1 -d --rm --name=weston --net=host --cap-add CAP_SYS_TTY_CONFIG  -v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ --device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' --device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE --developer --tty=/dev/tty7

     

    #Crank app
    docker run -it --rm --name=crank -v /tmp:/tmp -v /var/run/dbus:/var/run/dbus -v /dev/galcore:/dev/galcore --device-cgroup-rule='c 199:* rmw'  cranksoftware/imx8-sb_8_1-wayland-base-vivante_3:v0.1


    keep us posted on how that goes.
    best

    Max

    0

Please sign in to leave a comment.

Didn't find what you were looking for?

New post