Make Dahlia onboard HDMI primary output

I want to use the Dahlia board without the adapter, and use the on-board HDMI instead (we will have our own carrier board with just onboard HDMI later).
When I use Avalonia, it works fine with the HDMI output on the adapter as the primary display, but if I run the board with just a monitor in the onboard HDMI (nothing in the adapter board), it gives no display from Avalonia, and crashes after a few seconds.
How can I make the on-board HDMI the primary display to avoid my problems?

Hi @kballard9,

Welcome to the Toradex-Community! :tada:

Feel free to browse around :slight_smile:

Thanks a lot for your question.

When you say it crashes, do you have any log from that crash?

For the record can you please state the version of the SoM you’re using? As well as the version of the Dahlia board?

Best Regards

Hi @kevin.tx ,
Not sure about the SoM version, but Dahlia is V1.1C, they were bought at the same time.
(SoM serial number is 07174384)
I am basing my software on the
Avalonia demo template, and running under debug from VS code.
When it crashes, there is no indication at all on VS Code (it seems to think it is still running?), but the board just reboots.
So there are no logs from VS Code (as it didn’t see the crash), and /var/log/ seems to contain no useful logs either (after the reboot).

I have found that if I boot with the monitor in the adapter board, then once all up, I move the monitor to the on-board HDMI, I can run my program without crashing.
It only has the problem if I boot the board with the monitor in the on-board HDMI (nothing in the other)

Hopefully this explains my problem a bit better :slight_smile:

Hi @kballard9 !

I just tested Avalonia on Verdin iMX8MP on Verdin Development Board using the non-standard Verdin HDMI (X37 - the non-DSi-HDMI one) and it worked without problems.

Here are the details of my setup:

  • Verdin iMX8MP Q 4GB IT WB V1.0B (I should be using V1.1+, but AFAIK it shouldn’t affect the display)
  • Verdin Development Board V1.1A
  • TorizonCore 6.3.0-build.4
  • Torizon IDE 2 Extension, version v2.1.2 (release version)
  • Tested with Avalonia + GTK template
  • HDMI cable connected to X37 of the Verdin Development Board (the non-DSI-HDMI one)
  • I tested with and without the DSI-HDMI adapter connected to the carrier board (just to be really clear: the HDMI cable was not connected to the adapter during any of the tests)

Can you please share more details of your setup?

  1. Please share the output of tdx-info (reference: Getting Device Information with Tdx-Info | Toradex Developer Center)
  2. Which Torizon IDE 2 version are you using?
  3. Which Avalonia template did you use?
  4. Have you tried to simply run the template as is? (I mean: after creating the project from the template, start the debug session before performing any changes to the project)

Best regards,

Hi @henrique.tx,
Here is the tdx -info output:-

Software summary
Bootloader:               U-Boot
Kernel version:           5.15.77-6.4.0-devel+git.ddc6ca4d76ea #1-TorizonCore SMP PREEMPT Thu Jun 29 10:14:22 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/c05203133fbbc3f7524fc83a3012e8c12e474670505ef9683a448213fdefd468/0
Distro name:              NAME="TorizonCore"
Distro version:           VERSION_ID=6.4.0-devel-20230822-build.360
Hostname:                 verdin-imx8mp-07174384

Hardware info
HW model:                 Toradex Verdin iMX8M Plus WB on Verdin Development Board
Toradex version:          0058 V1.0D
Serial number:            07174384
Processor arch:           aarch64

I am using the Avalonia FB template (not the GTK+ one). I tried with the unmodified template, and stil has a reboot when in the non-DSI HDMI port.
There is no output on the debug port, other than U-boot just rebooting, and VS/ApolloX seems to think it is still running, even after reboot.

It still works fine if I use the DSI-HDMI port.

ApolloX is V2.1.2, VS Code is V1.81.1


Hi @kballard9 !

Thank you for the information.

I managed to reproduce the same issue you described, which is quite intriguing.

I informed the Toradex R&D team about that already.

I would like to clarify that the Avalonia templates, as you can see from the user interface on VS Code, are community-maintained.

Related documentation: IDE Extension | Toradex Developer Center

Github repository: GitHub - toradex/vscode-torizon-templates: VS Code Torizon Integrated Development Environment Templates

So, if you manage to find the issue, please feel free to contribute :slight_smile:

Best regards,

Hi @kballard9 !

After talking to Toradex R&D team I got the following advice: use DRM instead of FB.

In the Avalonia Frame Buffer DRM template, there is the Program.cs that reads from the environment variables AVALONIA_DRMand AVALONIA_FB:

You can customize the environment variables for your project in the launch.json:

There is an env section for each of the different launch configurations in this template. As you are using Verdin iMX8MP, which has an ARMv8, you can edit the env section from the Torizon ARMv8: comment out the AVALONIA_FB: true and uncomment AVALONIA_DRM: true.

I tested it and it worked for me.

Please let us know if it works for you. :slight_smile:

Best regards,

Hi Henrique,
That has fixed it, thanks for your help.

I had to change Program.cs to use card0, as it caused an exception at line 27 when trying to use card1.


SUPPLYPOINT CONFIDENTIALITY NOTICE: The information contained in this electronic mail and its attachments is privileged and confidential information and is intended for the use of the individual or entity named above and others who have been specifically permitted to receive it. If you are not the intended recipient, you are hereby notified that any use by you or any dissemination, distribution or copying of this communication by you is strictly prohibited. If you have received this in error, please delete it and notify us immediately. Thank You.

Hi @kballard9 !

Thanks for the feedback!

Have a nice day! :smiley: