No output of my application on the LVDS touchscreen

torizon@verdin-imx8mp-15230103:~$ sudo tdx-info

Software summary
------------------------------------------------------------
Bootloader:               U-Boot
Kernel version:           5.15.129-6.5.0+git.6f8fd49366db #1-TorizonCore SMP PREEMPT Fri Dec 22 11:15:52 UTC 2023
Kernel command line:      root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/fe091cbe7b665ff6d9d5d618cb20c42c90c242fffeaceccf204eacd186b2f597/0
Distro name:              NAME="TorizonCore"
Distro version:           VERSION_ID=6.5.0-build.8
Distro variant:           VARIANT="Docker"
Hostname:                 verdin-imx8mp-15230103
------------------------------------------------------------

Hardware info
------------------------------------------------------------
HW model:                 Toradex Verdin iMX8M Plus WB on Verdin Development Board
Toradex version:          0058 V1.1B
Serial number:            15230103
Processor arch:           aarch64
------------------------------------------------------------
torizon@verdin-imx8mp-15230103:~$

I have deployed a simple container with VS Code extension, and this code displays data on the console on VS Code, but there is nothing on my LVDS touchscreen when I run the docker image from my PuTTY session.

regards,
Francois Lepron

Greetings @flepron,

I have some questions since it’s a bit unclear to me what you’re doing here.

First of all, is your application here suppose to even have graphical output? It looks like it prints stuff to the console, but that doesn’t mean it also displays anything graphically. I don’t see anything in your application screenshot that suggests it does anything graphical in nature. What is your application suppose to do?

Secondly, if your application is suppose to have graphical output. Did you configure your system to enable LVDS display output?

Best Regards,
Jeremias

Geetings Jeremias,

[Configuration]
Verdin iMX8M Plus Evaluation Kit with Touchscreen
with:
SOM i.MX8M Plus Quad 4GB WB IT v1.1B
Dahlia Carrier Board v1.1D
Verdin DSI to LVDS rev 1.1A
Capacitive Touch Display 10.1" v1.0A

You are right, my message is not clear enough.

We have output in the console (terminal) of VS Code on my Windows computer, but I would like to display the same output in a terminal window on my LVDS display.

Yous are right this is not graphical output, this is text output, as we can have under any Linux distro when you open up a terminal and type for instance shell command, but in this case I would like to create a terminal window in my LVDS display and fill this terminal with the output with the Console.WriteLine content.

I have made a configuration to enable the LVDS display, as suggested by @rudhi.tx.

The content of my overlays.txt is as follow:

torizon@verdin-imx8mp-15230103:/sysroot/boot/ostree/torizon-fe091cbe7b665ff6d9d5d618cb20c42c90c242fffeaceccf204eacd186b2f597/dtb$ cat overlays.txt
fdt_overlays=verdin-imx8mp_hdmi_overlay.dtbo verdin-imx8mp_dsi-to-hdmi_overlay.dtbo verdin-imx8mp_spidev_overlay.dtbo

So, when I start my SOM, I have the Portainer application displayed on my Capacitive Touch Display 10.1" as you can see on the following pictures.


My setup is as the picture below:

Verdin iMX8M Plus Evaluation Kit with Touchscreen
with:
SOM i.MX8M Plus Quad 4GB WB IT v1.1B
Dahlia Carrier Board v1.1D
Verdin DSI to LVDS rev 1.1A
Capacitive Touch Display 10.1" v1.0A
with the Wi-Fi antenna mounted, and I am connected to my router through Ethernet and through Wi-Fi:

torizon@verdin-imx8mp-15230103:~$  nmcli
ethernet0: connected to network0
        "ethernet0"
        ethernet (imx-dwmac), 00:14:2D:E8:64:97, hw, mtu 1500
        ip4 default, ip6 default
        inet4 192.168.1.60/24
        route4 192.168.1.0/24 metric 100
        route4 default via 192.168.1.1 metric 100
        inet6 2a02:8429:753e:5a01:8de7:4582:6b56:8725/64
        inet6 fe80::cedd:3df:6fdf:47d5/64
        route6 fe80::/64 metric 1024
        route6 2a02:8429:753e:5a01::/64 metric 100
        route6 default via fe80::6aaa:c4ff:fe08:c75f metric 100

mlan0: connected to SFR_C75F_EXT
        "Marvell Wi-Fi"
        wifi (mwifiex_sdio), 10:68:38:50:B3:29, hw, mtu 1500
        inet4 192.168.1.160/24
        route4 192.168.1.0/24 metric 600
        route4 default via 192.168.1.1 metric 600
        inet6 2a02:8429:753e:5a01:5932:f620:4d42:df5b/64
        inet6 fe80::37e8:d1cd:c9b3:4743/64
        route6 fe80::/64 metric 1024
        route6 2a02:8429:753e:5a01::/64 metric 600
        route6 default via fe80::6aaa:c4ff:fe08:c75f metric 600

uap0: disconnected
        "Marvell Wi-Fi"
        wifi (mwifiex_sdio), 2E:7D:A1:31:E9:E2, hw, mtu 1500

br-b512990e0c3d: unmanaged
        "br-b512990e0c3d"
        bridge, 02:42:B5:04:88:3E, sw, mtu 1500

docker0: unmanaged
        "docker0"
        bridge, 02:42:A1:D4:C6:7B, sw, mtu 1500

can0: unmanaged
        "can0"
        can (flexcan), hw, mtu 16

can1: unmanaged
        "can1"
        can (flexcan), hw, mtu 16

veth228adbb: unmanaged
        "veth228adbb"
        ethernet (veth), 4E:E9:AB:52:34:64, sw, mtu 1500

vethf879331: unmanaged
        "vethf879331"
        ethernet (veth), 9E:BE:A8:D7:24:72, sw, mtu 1500

sit0: unmanaged
        "sit0"
        iptunnel (sit), 00:00:00:00, sw, mtu 1480

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

DNS configuration:
        servers: 192.168.1.1
        interface: ethernet0

        servers: 2a02:8429:753e:5a01:6aaa:c4ff:fe08:c75f
        interface: ethernet0

        servers: 192.168.1.1
        interface: mlan0

        servers: 2a02:8429:753e:5a01:6aaa:c4ff:fe08:c75f
        interface: mlan0

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.
torizon@verdin-imx8mp-15230103:~$

When I list the docker images installed on my Torizon OS, I have the following ones:

torizon@verdin-imx8mp-15230103:~$ docker images
REPOSITORY                                        TAG       IMAGE ID       CREATED         SIZE
192.168.1.157:5002/hello-satellite-csharp-debug   arm64     8a7cec5f6ebb   41 hours ago    473MB
torizon/weston-vivante                            3         99a7e4d40553   2 weeks ago     515MB
torizon/weston-vivante                            <none>    b9630cbc2309   3 months ago    515MB
hello-world                                       latest    ee301c921b8a   10 months ago   9.14kB
portainer/portainer-ce                            2.17.1    ada025d39772   12 months ago   267MB
torizon/chromium                                  2         cb7ac4913734   18 months ago   609MB
torizon@verdin-imx8mp-15230103:~$

And when I try to run the image of my Hello-Satellite c# project on my board, I have no output on my LVDS display. I have only output in my VS Code console on my Windows machine.

torizon@verdin-imx8mp-15230103:~$ docker run 8a7cec5f6ebb

Nothing happens on my LVDS touch screen.

I would like to have something like that:

Many thanks.

Regards,
François.

I think you’re misunderstanding what your code is doing here. From what I can see all your code is doing is invoking Console.WriteLine. All this function does is output the given string to the standard output stream: Console.WriteLine Method (System) | Microsoft Learn

Nothing about this is graphical. You’re not invoking any graphical subsystem in your application stack. Writing a string to standard output does not start any graphical stack or open any terminal. Visual Studio Code debug is connected to the standard output of your application which is why you see your messages there.

What you’re doing here is not going to work like you think it does. What is your objective here exactly? Are you just trying to print some text on the screen?

If that is the case maybe consider using one of templates that supports graphical output.

Best Regards,
Jeremias

1 Like

Thank you @jeremias.tx for your kind assistance.

You are right, since I had a meeting yesterday with @rudhi.tx, @collin.tx and @jorge.tx, and they said that I must use another template for getting outputs on my touchscreen.

If I want to develop in C#, I must use Uno or Avalonia, but @jorge.tx advised me to use Qt, since this is a more powerful dev tool even if this is not a free development environment (IDE), bu this is better for graphics and for virtual keyboard to display on the touch screen.

This stays free while you are in dev mode, and once you want to publish your application, you have to pay for a Qt licence.

Many thanks for your help.

Regards,
François.

1 Like

I’m glad to hear you were able to speak with my colleagues and everything got clarified for you.

Best Regards,
Jeremias