Portainer doesn't come up on Apalis iMX8MQ V1.0B

installed TorizonCore 4.00-dev-202007+build.17 using TEZI 2.0b5 on V1.0B board. I can log into Torizon using SSH or via the serial port but nothing comes up on the HDMI output, specifically the Portainer GUI shown in the getting started guides. The boot sequence is shown below. HDMI worked with TEZI so I know it can work with that monitor. Any idea what is going on? Thanks.

*U-Boot 2018.03-4.0.0-devel+git.548a7dcc2424 (Jan 01 1970 - 00:00:00 +0000)
CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 62C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT V1.0B, Serial# 06506323
 BuildInfo:
  - SCFW b929edfe, SECO-FW 27167ff2, IMX-MKIMAGE d7f9440d, ATF bb209a0
  - U-Boot 2018.03-4.0.0-devel+git.548a7dcc2424
switch to partitions #0, OK
mmc0(part 0) is current device
flash target is MMC:0
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
MMC: no card present
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3008 bytes read in 7 ms (418.9 KiB/s)
## Executing script at 86000000
569 bytes read in 43 ms (12.7 KiB/s)
Loading HDMI firmware...
106496 bytes read in 8 ms (12.7 MiB/s)
Loading hdp firmware from 0x0000000080280000 offset 0x0000000000002000
Loading hdp firmware Complete
147249 bytes read in 55 ms (2.6 MiB/s)
14 bytes read in 5 ms (2 KiB/s)
21570048 bytes read in 305 ms (67.4 MiB/s)
9914381 bytes read in 169 ms (55.9 MiB/s)
## Flattened Device Tree blob at 84000000
   Booting using the fdt blob at 0x84000000
   reserving fdt memory region: addr=84000000 size=44000
   Loading Device Tree to 00000000fd62c000, end 00000000fd672fff ... OK
/dma-controller@5a1f0000, 77012
/dma-controller@591F0000, 77968
/dma-controller@591F0000, 77968
/dma-controller@599F0000, 79028
Starting kernel ...
[    0.360328] clk: couldn't set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 0
[    0.486316] dmi: Firmware registration failed.
[    1.011454] imx6q-pcie 5f000000.pcie: pcie_ext clock source missing or invalid
[    1.013784] imx6q-pcie 5f010000.pcie: pcie_ext clock source missing or invalid
[    1.076545] Can't support > 32 bit dma.
[    1.161525] i.mx8-hdp 56268000.hdmi: invalid resource
[    2.952028] Can't support > 32 bit dma.
[    2.993420] Can't support > 32 bit dma.
[    3.124070] ov5640_mipi_v3 5-003c: Read reg error: reg=300a
[    3.871782] imx6q-pcie 5f000000.pcie: phy link never came up
[    3.877533] imx6q-pcie 5f000000.pcie: failed to initialize host
[    3.883516] imx6q-pcie 5f000000.pcie: unable to add pcie port.
Starting version 243.2+
TorizonCore 4.0.0-devel-202007+build.17 apalis-imx8-06506323 ttyLP1
apalis-imx8-06506323 login: U-Boot 2018.03-4.0.0-devel+git.548a7dcc2424 (Jan 01 1970 - 00:00:00 +0000)
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT V1.0B, Serial# 06506323
 BuildInfo:
  - SCFW b929edfe, SECO-FW 27167ff2, IMX-MKIMAGE d7f9440d, ATF bb209a0
  - U-Boot 2018.03-4.0.0-devel+git.548a7dcc2424
switch to partitions #0, OK
mmc0(part 0) is current device
flash target is MMC:0
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
MMC: no card present
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3008 bytes read in 7 ms (418.9 KiB/s)
## Executing script at 86000000
569 bytes read in 43 ms (12.7 KiB/s)
Loading HDMI firmware...
106496 bytes read in 8 ms (12.7 MiB/s)
Loading hdp firmware from 0x0000000080280000 offset 0x0000000000002000
Loading hdp firmware Complete
147249 bytes read in 55 ms (2.6 MiB/s)
14 bytes read in 5 ms (2 KiB/s)
21570048 bytes read in 305 ms (67.4 MiB/s)
9914381 bytes read in 169 ms (55.9 MiB/s)
## Flattened Device Tree blob at 84000000
   Booting using the fdt blob at 0x84000000
   reserving fdt memory region: addr=84000000 size=44000
   Loading Device Tree to 00000000fd62c000, end 00000000fd672fff ... OK
/dma-controller@5a1f0000, 77012
/dma-controller@591F0000, 77968
/dma-controller@591F0000, 77968
/dma-controller@599F0000, 79028
Starting kernel ...
[    0.360328] clk: couldn't set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 0
[    0.486316] dmi: Firmware registration failed.
[    1.011454] imx6q-pcie 5f000000.pcie: pcie_ext clock source missing or invalid
[    1.013784] imx6q-pcie 5f010000.pcie: pcie_ext clock source missing or invalid
[    1.076545] Can't support > 32 bit dma.
[    1.161525] i.mx8-hdp 56268000.hdmi: invalid resource
[    2.952028] Can't support > 32 bit dma.
[    2.993420] Can't support > 32 bit dma.
[    3.124070] ov5640_mipi_v3 5-003c: Read reg error: reg=300a
[    3.871782] imx6q-pcie 5f000000.pcie: phy link never came up
[    3.877533] imx6q-pcie 5f000000.pcie: failed to initialize host
[    3.883516] imx6q-pcie 5f000000.pcie: unable to add pcie port.
Starting version 243.2+
TorizonCore 4.0.0-devel-202007+build.17 apalis-imx8-06506323 ttyLP1
apalis-imx8-06506323 login:*

Greetings @ChipW,

I’m unable to recreate this on my side. It is possible for Tezi to work on the display but not Torizon/BSP. This is because I believe Tezi sets the screen resolution/timing slightly differently than in our Linux offerings.

In any case though let’s see if we can get some more information to debug this. First of all can you make sure the systemd service that starts Portainer is operating correctly? You can check the status with sudo systemctl status docker-compose. Next if the status seems fine can you return the logs of the Weston docker container. To do this first run docker ps -a to list all the running containers locate the Weston container on that list and copy it’s “CONTAINER ID”. Then just run docker logs <CONTAINER ID>, this should hopefully tell us how the system is interpreting your display.

Finally if you’re able, I know you said this display worked with Tezi, but just try some other HDMI displays if you have any. This might be the case of a certain class of displays not playing well with our system and if so we’d like to know.

Best Regards,
Jeremias

Hi Jeremias,
Makes sense on the Tezi. It looks like VGA resolution. I’ve tried 3 different monitors: a Samsung that does 3840x2160p40, an Acer that does 1600x900p60 and a Dell that does 1920x1200p60. dmesg output seems to show all detected and proper resolutions detected
After reboot with samsung montior

apalis-imx8-06506323:~$ dmesg
[   68.411262] [drm] HDMI/DP Cable Plug Out
[   69.595156] [drm] phy_cfg_hdp() num_lanes: 4, mode:3840x2160p60, color depth: 8-bit, encoding: 1
[   69.595359] [drm] Pixel clock frequency (594000 kHz) is supported in this color depth (8-bit). Settings found in row 4
[   69.595364] [drm] Character clock frequency: 594000 kHz.
[   69.595374] [drm] VCO frequency (5940000 kHz) is supported. Settings found in row 36
apalis-imx8-06506323:~$ dmesg
[   68.411262] [drm] HDMI/DP Cable Plug Out
[   69.595156] [drm] phy_cfg_hdp() num_lanes: 4, mode:3840x2160p60, color depth: 8-bit, encoding: 1
[   69.595359] [drm] Pixel clock frequency (594000 kHz) is supported in this color depth (8-bit). Settings found in row 4
[   69.595364] [drm] Character clock frequency: 594000 kHz.
[   69.595374] [drm] VCO frequency (5940000 kHz) is supported. Settings found in row 36
[   69.621091] [drm] CDN_API_General_Write_Register_blocking LANES_CONFIG ret = 0
[   69.623676] [drm] HDMI/DP Cable Plug In
[   69.624659] i.mx8-hdp 56268000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[   69.674537] [drm] phy_cfg_hdp() num_lanes: 4, mode:3840x2160p60, color depth: 8-bit, encoding: 1
[   69.674793] [drm] Pixel clock frequency (594000 kHz) is supported in this color depth (8-bit). Settings found in row 4
[   69.674798] [drm] Character clock frequency: 594000 kHz.
[   69.674810] [drm] VCO frequency (5940000 kHz) is supported. Settings found in row 36
[   69.690116] [drm] CDN_API_General_Write_Register_blocking LANES_CONFIG ret = 0
apalis-imx8-06506323:~$

After reboot with Dell monitor

apalis-imx8-06506323:~$ dmesg
[   91.534882] [drm] HDMI/DP Cable Plug Out
[  100.442442] [drm] HDMI/DP Cable Plug In
[  100.460692] i.mx8-hdp 56268000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[  100.477195] [drm] phy_cfg_hdp() num_lanes: 4, mode:1920x1200p60, color depth: 8-bit, encoding: 1
[  100.477402] [drm] Pixel clock frequency (154000 kHz) is supported in this color depth (8-bit). Settings found in row 2
[  100.477407] [drm] Character clock frequency: 154000 kHz.
[  100.477418] [drm] VCO frequency (3080000 kHz) is supported. Settings found in row 25
[  100.492598] [drm] CDN_API_General_Write_Register_blocking LANES_CONFIG ret = 0
apalis-imx8-06506323:~$

Unplug/plug Acer monitor:
apalis-imx8-06506323:~$ dmesg
[  604.899511] [drm] HDMI/DP Cable Plug Out
[  610.816045] [drm] HDMI/DP Cable Plug In
[  610.836908] i.mx8-hdp 56268000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[  610.855374] [drm] phy_cfg_hdp() num_lanes: 4, mode:1600x900p60, color depth: 8-bit, encoding: 1
[  610.855653] [drm] Pixel clock frequency (108000 kHz) is supported in this color depth (8-bit). Settings found in row 2
[  610.855659] [drm] Character clock frequency: 108000 kHz.
[  610.855669] [drm] VCO frequency (2160000 kHz) is supported. Settings found in row 11
[  610.872627] [drm] CDN_API_General_Write_Register_blocking LANES_CONFIG ret = 0
apalis-imx8-06506323:~$

What is installed is “TorizonCore with evaluation containers” 4.0.0-devel-202007+build.17.container (2020-07-01)
I’m able to log in with both SSH and with serial port

In response to sudo systemctl status docker-compose:

● docker-compose.service - Docker Compose service with docker compose
   Loaded: loaded (/usr/lib/systemd/system/docker-compose.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2020-08-13 17:52:54 UTC; 4min 49s ago
  Process: 4523 ExecStart=/usr/bin/docker-compose -p torizon up -d --remove-orphans (code=exited, st>
 Main PID: 4523 (code=exited, status=0/SUCCESS)

Jan 01 00:00:22 apalis-imx8-06506323 systemd[1]: Starting Docker Compose service with docker compose>
Aug 13 17:52:49 apalis-imx8-06506323 docker-compose[4523]: Creating network "torizon_default" with t>
Aug 13 17:52:49 apalis-imx8-06506323 docker-compose[4523]: Creating volume "torizon_portainer_data" >
Aug 13 17:52:50 apalis-imx8-06506323 docker-compose[4523]: Creating torizon_weston_1 ...
Aug 13 17:52:50 apalis-imx8-06506323 docker-compose[4523]: Creating torizon_portainer_1 ...
Aug 13 17:52:52 apalis-imx8-06506323 docker-compose[4523]: [134B blob data]
Aug 13 17:52:54 apalis-imx8-06506323 docker-compose[4523]: [51B blob data]
Aug 13 17:52:54 apalis-imx8-06506323 systemd[1]: Started Docker Compose service with docker compose.
lines 1-14/14 (END)

Response to docker ps -a:

apalis-imx8-06506323:~$ docker ps -a
CONTAINER ID        IMAGE                                       COMMAND                  CREATED             STATUS              PORTS                    NAMES
e3bdd0410f10        torizon/arm64v8-debian-kiosk-mode-browser   "/usr/bin/start-brow…"   7 minutes ago       Up 7 minutes                                 torizon_kiosk_1
a21eaead8fcb        torizon/arm64v8-debian-weston-vivante       "/usr/bin/entry.sh"      7 minutes ago       Up 7 minutes                                 torizon_weston_1
d144da3acce0        portainer/portainer                         "/portainer --templa…"   7 minutes ago       Up 2 minutes        0.0.0.0:9000->9000/tcp   torizon_portainer_1
apalis-imx8-06506323:~$

The docker logs seem to repeat over and over but here is a unique part:

[18:03:17.555] associating input device event1 with output HDMI-A-1 (none by udev)
[18:03:17.555] associating input device event0 with output HDMI-A-1 (none by udev)
[18:03:17.555] associating input device event2 with output HDMI-A-1 (none by udev)
[18:03:17.556] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[18:03:32.396] DRM: head 'HDMI-A-1' updated, connector 146 is disconnected.
[18:03:32.397] Output 'HDMI-A-1' no heads left, disabling.
[18:03:32.397] Disabling output HDMI-A-1
[18:03:32.482] output for input device event1 removed
[18:03:32.482] output for input device event0 removed
[18:03:32.482] output for input device event2 removed
[18:03:33.600] DRM: head 'HDMI-A-1' updated, connector 146 is connected, EDID make 'SAM', model 'U32J59x', serial 'H4ZM903384'
[18:03:33.674] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 1 - 60
[18:03:33.674] No backlight control for output 'HDMI-A-1'
[18:03:33.674] Output HDMI-A-1 (crtc 36) video modes:
               3840x2160@60.0, preferred, current, 594.0 MHz
               3840x2160@59.9, 593.4 MHz
               3840x2160@50.0, 594.0 MHz
               3840x2160@30.0, 297.0 MHz
               3840x2160@25.0, 297.0 MHz
               3840x2160@24.0, 297.0 MHz
               2560x1440@60.0, 241.5 MHz
               1920x1080@60.0, 148.5 MHz
               1920x1080@59.9, 148.4 MHz
               1920x1080@50.0, 148.5 MHz
               1920x1080@30.0, 74.2 MHz
               1920x1080@24.0, 74.2 MHz
               1680x1050@59.9, 119.0 MHz
               1600x900@60.0, 108.0 MHz
               1280x1024@75.0, 135.0 MHz
               1280x1024@60.0, 108.0 MHz
               1440x900@59.9, 88.8 MHz
               1280x800@59.9, 71.0 MHz
               1152x864@75.0, 108.0 MHz
               1280x720@60.0, 74.2 MHz
               1280x720@59.9, 74.2 MHz
               1280x720@50.0, 74.2 MHz
               1024x768@75.0, 78.8 MHz
               1024x768@70.1, 75.0 MHz
               1024x768@60.0, 65.0 MHz
               832x624@74.6, 57.3 MHz
               800x600@75.0, 49.5 MHz
               800x600@72.2, 50.0 MHz
               800x600@60.3, 40.0 MHz
               800x600@56.2, 36.0 MHz
               720x576@50.0, 27.0 MHz
               720x480@60.0, 27.0 MHz
               720x480@59.9, 27.0 MHz
               640x480@75.0, 31.5 MHz
               640x480@72.8, 31.5 MHz
               640x480@66.7, 30.2 MHz
               640x480@60.0, 25.2 MHz
               640x480@59.9, 25.2 MHz
               720x400@70.1, 28.3 MHz
[18:03:33.675] associating input device event1 with output HDMI-A-1 (none by udev)
[18:03:33.675] associating input device event0 with output HDMI-A-1 (none by udev)
[18:03:33.675] associating input device event2 with output HDMI-A-1 (none by udev)
[18:03:33.677] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
apalis-imx8-06506323:~$

It looks like it’s found the right mode for the Samsung monitor connected and this matches with the dmesg output. I don’t understand the docker log file but it looks like it is connecting then disconnecting. Not sure how to read that.

Regards,
Chip

** The docker log was from torizon_weston_1 CONTAINER ID a21eaead8fcb

Hi Jeremias,

I’m concerned about one of the messages in the startup text just because it says it couldn’t do something with a clock rate with the name hdmi in it:

[    0.360291] clk: couldn't set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 0

Certainly if a clock didn’t get set right one could see the hdmi output not work right…

With the Acer 1600x900p60 monitor:

apalis-imx8-06506323:~$ docker ps -a
CONTAINER ID        IMAGE                                       COMMAND                  CREATED             STATUS              PORTS                    NAMES
e3bdd0410f10        torizon/arm64v8-debian-kiosk-mode-browser   "/usr/bin/start-brow…"   18 minutes ago      Up 3 minutes                                 torizon_kiosk_1
a21eaead8fcb        torizon/arm64v8-debian-weston-vivante       "/usr/bin/entry.sh"      18 minutes ago      Up 3 minutes                                 torizon_weston_1
d144da3acce0        portainer/portainer                         "/portainer --templa…"   18 minutes ago      Up 3 minutes        0.0.0.0:9000->9000/tcp   torizon_portainer_1
apalis-imx8-06506323:~$ docker logs a21eaead8fcb
Switching to VT 7
NXP EULA has already been accepted.
touch: cannot touch '/tmp/nxp-eula-accepted': Permission denied
Date: 2020-08-13 UTC
[18:07:42.668] weston 5.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: unknown (not built from git or tarball)
[18:07:42.668] Command line: /usr/bin/weston --current-mode
[18:07:42.668] OS: Linux, 4.14.170-4.0.0-devel+git.60f8ee9af1da, #1-TorizonCore SMP PREEMPT Wed Jun 24 11:43:05 UTC 2020, aarch64
[18:07:42.669] Using config file '/etc/xdg/weston/weston.ini'
[18:07:42.671] Output repaint window is 16 ms maximum.
[18:07:42.672] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/drm-backend.so'
[18:07:42.675] initializing drm backend
[18:07:42.679] using /dev/dri/card0
[18:07:42.679] DRM: supports universal planes
[18:07:42.679] DRM: supports atomic modesetting
[18:07:42.679] DRM: does not support picture aspect ratio
[18:07:42.680] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/gl-renderer.so'
[18:07:42.710] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland EGL_KHR_platform_gbm
[18:07:42.720] warning: neither EGL_EXT_swap_buffers_with_damage or EGL_KHR_swap_buffers_with_damage is supported. Performance could be affected.
[18:07:42.720] EGL_KHR_surfaceless_context available
[18:07:42.738] EGL version: 1.5
[18:07:42.738] EGL vendor: Vivante Corporation
[18:07:42.738] EGL client APIs: OpenGL_ES
[18:07:42.738] EGL extensions: EGL_KHR_fence_sync EGL_KHR_reusable_sync
               EGL_KHR_wait_sync EGL_KHR_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
               EGL_EXT_image_dma_buf_import
               EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_lock_surface
               EGL_KHR_create_context EGL_KHR_surfaceless_context
               EGL_EXT_buffer_age EGL_ANDROID_native_fence_sync
               EGL_WL_bind_wayland_display
               EGL_WL_create_wayland_buffer_from_image EGL_KHR_partial_update
[18:07:42.739] GL version: OpenGL ES 3.2 V6.2.4.p4.190076
[18:07:42.739] GLSL version: OpenGL ES GLSL ES 3.20
[18:07:42.739] GL vendor: Vivante Corporation
[18:07:42.739] GL renderer: Vivante GC7000XSVX
[18:07:42.739] GL extensions: GL_OES_vertex_type_10_10_10_2
               GL_OES_vertex_half_float GL_OES_element_index_uint
               GL_OES_mapbuffer GL_OES_vertex_array_object
               GL_OES_compressed_ETC1_RGB8_texture
               GL_OES_compressed_paletted_texture GL_OES_texture_npot
               GL_OES_rgb8_rgba8 GL_OES_depth_texture
               GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32
               GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap
               GL_OES_get_program_binary GL_OES_fragment_precision_high
               GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_sync
               GL_OES_texture_stencil8 GL_OES_shader_image_atomic
               GL_OES_sample_variables GL_OES_sample_shading
               GL_OES_texture_storage_multisample_2d_array
               GL_OES_shader_multisample_interpolation
               GL_OES_required_internalformat GL_OES_surfaceless_context
               GL_OES_copy_image GL_OES_draw_buffers_indexed
               GL_OES_geometry_shader GL_OES_geometry_point_size
               GL_OES_gpu_shader5 GL_OES_shader_io_blocks
               GL_OES_texture_border_clamp GL_OES_texture_buffer
               GL_OES_tessellation_shader GL_OES_tessellation_point_size
               GL_OES_texture_cube_map_array GL_OES_draw_elements_base_vertex
               GL_OES_texture_half_float GL_OES_texture_float
               GL_OES_primitive_bounding_box
               GL_KHR_texture_compression_astc_ldr
               GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_robustness
               GL_EXT_texture_type_2_10_10_10_REV
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
               GL_EXT_texture_compression_s3tc GL_EXT_read_format_bgra
               GL_EXT_multi_draw_arrays GL_EXT_frag_depth
               GL_EXT_discard_framebuffer GL_EXT_blend_minmax
               GL_EXT_multisampled_render_to_texture
               GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float
               GL_EXT_robustness GL_EXT_texture_sRGB_decode
               GL_EXT_draw_buffers_indexed GL_EXT_texture_border_clamp
               GL_EXT_texture_buffer GL_EXT_tessellation_shader
               GL_EXT_tessellation_point_size GL_EXT_geometry_shader
               GL_EXT_geometry_point_size GL_EXT_copy_image
               GL_EXT_texture_cube_map_array GL_EXT_gpu_shader5
               GL_EXT_shader_io_blocks GL_EXT_shader_implicit_conversions
               GL_EXT_multi_draw_indirect GL_EXT_draw_elements_base_vertex
               GL_EXT_texture_rg GL_EXT_primitive_bounding_box GL_EXT_sRGB
               GL_ANDROID_extension_pack_es31a GL_VIV_direct_texture
[18:07:42.739] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: yes
[18:07:42.760] event1  - Dell Dell USB Keyboard: is tagged by udev as: Keyboard
[18:07:42.760] event1  - Dell Dell USB Keyboard: device is a keyboard
[18:07:42.763] event0  - sc-powerkey: is tagged by udev as: Keyboard
[18:07:42.763] event0  - sc-powerkey: device is a keyboard
[18:07:42.777] event2  - colibri-vf50-ts: is tagged by udev as: Touchscreen
[18:07:42.777] event2  - colibri-vf50-ts: device is a touch device
[18:07:42.809] Touchscreen - colibri-vf50-ts - /sys/devices/platform/vf50-touchscreen/input/input2/event2
[18:07:42.809] input device event2 has no enabled output associated (none named), skipping calibration for now.
[18:07:42.823] DRM: head 'HDMI-A-1' found, connector 146 is connected, EDID make 'ACR', model 'S200HL', serial 'LUG0R0262400'
[18:07:42.824] Registered plugin API 'weston_drm_output_api_v1' of size 24
[18:07:42.830] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 1 - 60
[18:07:42.830] No backlight control for output 'HDMI-A-1'
[18:07:42.830] Output HDMI-A-1 (crtc 36) video modes:
               1600x900@60.0, preferred, current, 108.0 MHz
               1280x800@59.9, 71.0 MHz
               1152x864@75.0, 108.0 MHz
               1280x720@60.0, 74.2 MHz
               1024x768@75.0, 78.8 MHz
               1024x768@70.1, 75.0 MHz
               1024x768@60.0, 65.0 MHz
               832x624@74.6, 57.3 MHz
               800x600@75.0, 49.5 MHz
               800x600@72.2, 50.0 MHz
               800x600@60.3, 40.0 MHz
               800x600@56.2, 36.0 MHz
               640x480@75.0, 31.5 MHz
               640x480@72.8, 31.5 MHz
               640x480@66.7, 30.2 MHz
               640x480@59.9, 25.2 MHz
               720x400@70.1, 28.3 MHz
[18:07:42.831] associating input device event1 with output HDMI-A-1 (none by udev)
[18:07:42.831] associating input device event0 with output HDMI-A-1 (none by udev)
[18:07:42.831] associating input device event2 with output HDMI-A-1 (none by udev)
[18:07:42.832] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[18:07:42.832] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[18:07:42.833] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so'
[18:07:42.836] launching '/usr/lib/aarch64-linux-gnu/weston-keyboard'
[18:07:42.844] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/xwayland.so'
[18:07:42.877] Registered plugin API 'weston_xwayland_v1' of size 32
[18:07:42.878] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[18:07:42.878] xserver listening on display :0
[18:07:42.878] launching '/usr/lib/aarch64-linux-gnu/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-none'
[18:07:45.284] Spawned Xwayland server, pid 27
glamor: 'wl_drm' not supported
Missing Wayland requirements for glamor GBM backend
Failed to initialize glamor, falling back to sw
[18:07:45.816] xfixes version: 5.0
[18:07:45.877] created wm, root 908
apalis-imx8-06506323:~$

The monitor itself displays a message “Input not Supported”. So I’m thinking some clock necessary to make the hdmi output (maybe a prescaler of some kind?) isn’t getting set right when the kernel boots and so any hdmi output is wrong. The Samsung monitor is breaking connection and reconnecting and the Acer monitor is just display Input not Supported. What do you think?

Regards,
Chip

Tried yet another Dell monitor that is native 1280x1024@60Hz. The docker logs:

apalis-imx8-06506323:~$ docker logs a21eaead8fcb
Switching to VT 7
NXP EULA has already been accepted.
touch: cannot touch '/tmp/nxp-eula-accepted': Permission denied
Date: 2020-08-13 UTC
[18:38:42.942] weston 5.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: unknown (not built from git or tarball)
[18:38:42.943] Command line: /usr/bin/weston --current-mode
[18:38:42.943] OS: Linux, 4.14.170-4.0.0-devel+git.60f8ee9af1da, #1-TorizonCore SMP PREEMPT Wed Jun 24 11:43:05 UTC 2020, aarch64
[18:38:42.944] Using config file '/etc/xdg/weston/weston.ini'
[18:38:42.944] Output repaint window is 16 ms maximum.
[18:38:42.945] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/drm-backend.so'
[18:38:42.947] initializing drm backend
[18:38:42.949] using /dev/dri/card0
[18:38:42.949] DRM: supports universal planes
[18:38:42.949] DRM: supports atomic modesetting
[18:38:42.949] DRM: does not support picture aspect ratio
[18:38:42.949] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/gl-renderer.so'
[18:38:42.969] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland EGL_KHR_platform_gbm
[18:38:42.977] warning: neither EGL_EXT_swap_buffers_with_damage or EGL_KHR_swap_buffers_with_damage is supported. Performance could be affected.
[18:38:42.977] EGL_KHR_surfaceless_context available
[18:38:42.992] EGL version: 1.5
[18:38:42.993] EGL vendor: Vivante Corporation
[18:38:42.993] EGL client APIs: OpenGL_ES
[18:38:42.993] EGL extensions: EGL_KHR_fence_sync EGL_KHR_reusable_sync
               EGL_KHR_wait_sync EGL_KHR_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
               EGL_EXT_image_dma_buf_import
               EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_lock_surface
               EGL_KHR_create_context EGL_KHR_surfaceless_context
               EGL_EXT_buffer_age EGL_ANDROID_native_fence_sync
               EGL_WL_bind_wayland_display
               EGL_WL_create_wayland_buffer_from_image EGL_KHR_partial_update
[18:38:42.993] GL version: OpenGL ES 3.2 V6.2.4.p4.190076
[18:38:42.993] GLSL version: OpenGL ES GLSL ES 3.20
[18:38:42.993] GL vendor: Vivante Corporation
[18:38:42.993] GL renderer: Vivante GC7000XSVX
[18:38:42.993] GL extensions: GL_OES_vertex_type_10_10_10_2
               GL_OES_vertex_half_float GL_OES_element_index_uint
               GL_OES_mapbuffer GL_OES_vertex_array_object
               GL_OES_compressed_ETC1_RGB8_texture
               GL_OES_compressed_paletted_texture GL_OES_texture_npot
               GL_OES_rgb8_rgba8 GL_OES_depth_texture
               GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32
               GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap
               GL_OES_get_program_binary GL_OES_fragment_precision_high
               GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_sync
               GL_OES_texture_stencil8 GL_OES_shader_image_atomic
               GL_OES_sample_variables GL_OES_sample_shading
               GL_OES_texture_storage_multisample_2d_array
               GL_OES_shader_multisample_interpolation
               GL_OES_required_internalformat GL_OES_surfaceless_context
               GL_OES_copy_image GL_OES_draw_buffers_indexed
               GL_OES_geometry_shader GL_OES_geometry_point_size
               GL_OES_gpu_shader5 GL_OES_shader_io_blocks
               GL_OES_texture_border_clamp GL_OES_texture_buffer
               GL_OES_tessellation_shader GL_OES_tessellation_point_size
               GL_OES_texture_cube_map_array GL_OES_draw_elements_base_vertex
               GL_OES_texture_half_float GL_OES_texture_float
               GL_OES_primitive_bounding_box
               GL_KHR_texture_compression_astc_ldr
               GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_robustness
               GL_EXT_texture_type_2_10_10_10_REV
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
               GL_EXT_texture_compression_s3tc GL_EXT_read_format_bgra
               GL_EXT_multi_draw_arrays GL_EXT_frag_depth
               GL_EXT_discard_framebuffer GL_EXT_blend_minmax
               GL_EXT_multisampled_render_to_texture
               GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float
               GL_EXT_robustness GL_EXT_texture_sRGB_decode
               GL_EXT_draw_buffers_indexed GL_EXT_texture_border_clamp
               GL_EXT_texture_buffer GL_EXT_tessellation_shader
               GL_EXT_tessellation_point_size GL_EXT_geometry_shader
               GL_EXT_geometry_point_size GL_EXT_copy_image
               GL_EXT_texture_cube_map_array GL_EXT_gpu_shader5
               GL_EXT_shader_io_blocks GL_EXT_shader_implicit_conversions
               GL_EXT_multi_draw_indirect GL_EXT_draw_elements_base_vertex
               GL_EXT_texture_rg GL_EXT_primitive_bounding_box GL_EXT_sRGB
               GL_ANDROID_extension_pack_es31a GL_VIV_direct_texture
[18:38:42.993] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: yes
[18:38:43.007] event1  - Dell Dell USB Keyboard: is tagged by udev as: Keyboard
[18:38:43.007] event1  - Dell Dell USB Keyboard: device is a keyboard
[18:38:43.008] event0  - sc-powerkey: is tagged by udev as: Keyboard
[18:38:43.008] event0  - sc-powerkey: device is a keyboard
[18:38:43.021] event2  - colibri-vf50-ts: is tagged by udev as: Touchscreen
[18:38:43.021] event2  - colibri-vf50-ts: device is a touch device
[18:38:43.044] Touchscreen - colibri-vf50-ts - /sys/devices/platform/vf50-touchscreen/input/input2/event2
[18:38:43.044] input device event2 has no enabled output associated (none named), skipping calibration for now.
[18:38:43.058] DRM: head 'HDMI-A-1' found, connector 146 is connected, EDID make 'DEL', model 'DELL 1907FP', serial '6418063T2QEL'
[18:38:43.059] Registered plugin API 'weston_drm_output_api_v1' of size 24
[18:38:43.065] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 1 - 60
[18:38:43.065] No backlight control for output 'HDMI-A-1'
[18:38:43.065] Output HDMI-A-1 (crtc 36) video modes:
               1280x1024@60.0, preferred, current, 108.0 MHz
               1280x1024@75.0, 135.0 MHz
               1152x864@75.0, 108.0 MHz
               1024x768@75.0, 78.8 MHz
               1024x768@60.0, 65.0 MHz
               800x600@75.0, 49.5 MHz
               800x600@60.3, 40.0 MHz
               640x480@75.0, 31.5 MHz
               640x480@59.9, 25.2 MHz
               720x400@70.1, 28.3 MHz
[18:38:43.065] associating input device event1 with output HDMI-A-1 (none by udev)
[18:38:43.065] associating input device event0 with output HDMI-A-1 (none by udev)
[18:38:43.065] associating input device event2 with output HDMI-A-1 (none by udev)
[18:38:43.066] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[18:38:43.066] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[18:38:43.067] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so'
[18:38:43.071] launching '/usr/lib/aarch64-linux-gnu/weston-keyboard'
[18:38:43.079] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/xwayland.so'
[18:38:43.117] Registered plugin API 'weston_xwayland_v1' of size 32
[18:38:43.118] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[18:38:43.118] xserver listening on display :0
[18:38:43.118] launching '/usr/lib/aarch64-linux-gnu/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-none'
[18:38:45.936] Spawned Xwayland server, pid 27
glamor: 'wl_drm' not supported
Missing Wayland requirements for glamor GBM backend
Failed to initialize glamor, falling back to sw
[18:38:46.463] xfixes version: 5.0
[18:38:46.516] created wm, root 908
apalis-imx8-06506323:~$

Still had the message at boot:

[    0.359768] clk: couldn't set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 0

The monitor has a message “Cannot Display this Video Mode” “Optimum resolution 1280x1024 60Hz”

Regards,
Chip

Hi Jeremias,

You say it is working on your systems. What kind of monitor at what resolution are you running?

Also, do you get the same messages at boot:

[    0.359768] clk: couldn't set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 0

[    1.162954] i.mx8-hdp 56268000.hdmi: invalid resource
[    1.168041] i.mx8-hdp 56268000.hdmi: Failed to get HDP RESET base register
[    1.168070] i.mx8-hdp 56268000.hdmi: Connector's ddc i2c bus found

Regards,
Chip

Of interest, when I boot up Tezi 2.0b4 in RAM I get the boot messages:

[ 0.305827] clk: couldn’t set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 84857142

That’s different than the message for TorizonCore where the current rate was 0

Boot log for Torizon Core. HDMI works as expected. Resolution 1920x1080 (maximum supported by my Dell monitor). Which monitor brand did you try?
Please see full boot log

U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g9393e0c9bd (May 19 2020 - 21:31:12 +0000)

CPU:   Freescale i.MX8QM revB A53 at 1200 MHz at 42C
DRAM:  4 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT V1.0B, Serial# 06548597

 BuildInfo:
  - SCFW b929edfe, SECO-FW 27167ff2, IMX-MKIMAGE d7f9440d, ATF bb209a0
  - U-Boot 2018.03-toradex_imx_v2018.03_4.14.98_2.3.0_bringup+g9393e0c9bd

switch to partitions #0, OK
mmc0(part 0) is current device
Detected a V1.0 module, setting correct devicetree
Saving Environment to MMC... Writing to MMC(0)... OK
flash target is MMC:0
Net:   eth0: ethernet@5b040000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
MMC: no card present
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
3008 bytes read in 8 ms (367.2 KiB/s)
## Executing script at 86000000
Saving Environment to MMC... Writing to MMC(0)... OK
569 bytes read in 43 ms (12.7 KiB/s)
Loading HDMI firmware...
106496 bytes read in 8 ms (12.7 MiB/s)
Loading hdp firmware from 0x0000000080280000 offset 0x0000000000002000
Loading hdp firmware Complete
147249 bytes read in 55 ms (2.6 MiB/s)
14 bytes read in 5 ms (2 KiB/s)
21570048 bytes read in 306 ms (67.2 MiB/s)
9914381 bytes read in 169 ms (55.9 MiB/s)
## Flattened Device Tree blob at 84000000
   Booting using the fdt blob at 0x84000000
   reserving fdt memory region: addr=84000000 size=44000
   Loading Device Tree to 00000000fd630000, end 00000000fd676fff ... OK
/dma-controller@5a1f0000, 77012
/dma-controller@591F0000, 77968
/dma-controller@591F0000, 77968
/dma-controller@599F0000, 79028

Starting kernel ...

[    0.355718] clk: couldn't set hdmi_lis_ipg_clk clk rate to 100000000 (-22), current rate: 0
[    0.483077] dmi: Firmware registration failed.
[    1.006921] imx6q-pcie 5f000000.pcie: pcie_ext clock source missing or invalid
[    1.009406] imx6q-pcie 5f010000.pcie: pcie_ext clock source missing or invalid
[    1.072516] Can't support > 32 bit dma.
[    1.155254] i.mx8-hdp 56268000.hdmi: invalid resource
[    2.855834] Can't support > 32 bit dma.
[    2.897922] Can't support > 32 bit dma.
[    2.950280] usb3503 3-0008: SP_ILOCK failed (-5)
[    3.024623] ov5640_mipi_v3 5-003c: Read reg error: reg=300a
[    3.461067] usb 3-1: device no response, device descriptor read/64, error -71
[    3.713063] usb 3-1: device no response, device descriptor read/64, error -71
[    3.779360] imx6q-pcie 5f000000.pcie: phy link never came up
[    3.785159] imx6q-pcie 5f000000.pcie: failed to initialize host
[    3.791198] imx6q-pcie 5f000000.pcie: unable to add pcie port.
[    4.093081] usb 3-1: device no response, device descriptor read/64, error -71
Starting version 243.2+
[    4.345063] usb 3-1: device no response, device descriptor read/64, error -71
[    5.537063] usb 3-1: device not accepting address 4, error -71
[    6.097085] usb 3-1: device not accepting address 5, error -71
[    6.103105] usb usb3-port1: unable to enumerate USB device

TorizonCore 4.0.0-devel-202007+build.17 apalis-imx8-06548597 ttyLP1

apalis-imx8-06548597 login:

Could you share output of “sudo fbset”?

Hi Jeremias,

With the Samsung monitor

apalis-imx8-06506323:~$ sudo fbset

mode "3840x2160-0"
        # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
        geometry 3840 2160 3840 2160 16
        timings 0 0 0 0 0 0 0
        accel true
        rgba 5/11,6/5,5/0,0/0
endmode

With the Acer 1600x900@60 monitor

mode "1600x900-0"
        # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
        geometry 1600 900 1600 900 16
        timings 0 0 0 0 0 0 0
        accel true
        rgba 5/11,6/5,5/0,0/0
endmode

This is the fbset of TEZI 2.0b4 running in RAM

/ # fbset

mode "640x480-0"
        # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
        geometry 640 480 640 480 16
        timings 0 0 0 0 0 0 0
        accel true
        rgba 5/11,6/5,5/0,0/0
endmode

Regards,
Chip

Well this is certainly odd, from the logs you’ve provided I don’t see anything drastically different from what I see on my setup. For my monitor I’m using a fairly normal 2560x1440 Dell monitor. I’ve also seen from your other question thread you have open that you’re experiencing this issue across all of our other various image. I saw you tried Qt and Android to no success as well, what other images have you tried so far? Either way this issue doesn’t seem to be limited to just Torizon but to all of our Unix based offerings, which do share a common base so this makes sense.

Just checking the only time you’ve seen HDMI output is with our Easy Installer tool correct? Did any of the other software images show any different behavior at all even if HDMI still didn’t work? I’m hesitant to say it’s the displays since you’ve tried 3 of them as well, have you tried other HDMI cables possibly?

In the meantime let me consult some of our guys internally and see if they have any other ideas here.

Best Regards,
Jeremias

Hi Jeremias,

Actually at this point I’ve tried 4 different monitors. I added another Dell 1280x1024@60. Two different cables and both straight HDMI and using an adapter into DVI-D. Don’t have the complete names but have tried the TorizonCore with evaluation containers from 7/1/2020, 8/11/2020 and 4/21/2020. Plus as you’ve seen the Qt and Android images. I’ve also tried a couple of the Torizon with Graphics UI. I’ve about lost track.

One thing I have noticed is that the HDMI is not plug-n-play. It will boot up and figure out the EDID once but then that is what you have. If you change monitors the fbset will not change if you unplug and plug in a different monitor. So when I change monitors I always power cycle. That may be a longer term issue for somebody but for our final product we’ll be in a fixed display situation over LVDS so that is a non issue.

Are there ANY jumpers, optional DNI components, etc that could impact HDMI?

Regards,
Chip

Hi Jeremias,

OK. 10th time is the charm. I dug out an old Samsung 720p class HD-TV and the HDMI came up! Using one of the same cables I’ve been using, no DVI-D adapter. It picked a 1366x768 format with 85.5MHz pixel clock. We will eventually want to know why all the other monitors universally didn’t work. I’m hoping there’s no instability issue with the HDMI like there is with the LVDS. For now I have the Portainer screen is up on the monitor and I can move forward with my “getting started” and working with Docker containers.

Not quite sure what the final answer is here. One old TV works, 4 monitors don’t. I don’t know if it’s the particular resolution, clock rate or ? I guess advise folks to keep pulling out their old HDMI stuff…

Thanks very much for your assistance and persistence.

Regards,
Chip

Short story, fbset:

mode "1366x768-0"
        # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
        geometry 1366 768 1366 768 16
        timings 0 0 0 0 0 0 0
        accel true
        rgba 5/11,6/5,5/0,0/0
endmode

Long story, docker logs:

apalis-imx8-06506323:~$ docker logs 077a0c1136e6
Switching to VT 7
NXP EULA has already been accepted.
touch: cannot touch '/tmp/nxp-eula-accepted': Permission denied
Date: 2020-08-13 UTC
[23:53:29.057] weston 5.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: unknown (not built from git or tarball)
[23:53:29.057] Command line: /usr/bin/weston --current-mode
[23:53:29.057] OS: Linux, 4.14.170-4.0.0-devel+git.60f8ee9af1da, #1-TorizonCore SMP PREEMPT Wed Jun 24 11:43:05 UTC 2020, aarch64
[23:53:29.058] Using config file '/etc/xdg/weston/weston.ini'
[23:53:29.060] Output repaint window is 16 ms maximum.
[23:53:29.060] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/drm-backend.so'
[23:53:29.062] initializing drm backend
[23:53:29.064] using /dev/dri/card0
[23:53:29.064] DRM: supports universal planes
[23:53:29.064] DRM: supports atomic modesetting
[23:53:29.064] DRM: does not support picture aspect ratio
[23:53:29.065] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/gl-renderer.so'
[23:53:29.083] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland EGL_KHR_platform_gbm
[23:53:29.090] warning: neither EGL_EXT_swap_buffers_with_damage or EGL_KHR_swap_buffers_with_damage is supported. Performance could be affected.
[23:53:29.090] EGL_KHR_surfaceless_context available
[23:53:29.104] EGL version: 1.5
[23:53:29.104] EGL vendor: Vivante Corporation
[23:53:29.104] EGL client APIs: OpenGL_ES
[23:53:29.104] EGL extensions: EGL_KHR_fence_sync EGL_KHR_reusable_sync
               EGL_KHR_wait_sync EGL_KHR_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
               EGL_EXT_image_dma_buf_import
               EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_lock_surface
               EGL_KHR_create_context EGL_KHR_surfaceless_context
               EGL_EXT_buffer_age EGL_ANDROID_native_fence_sync
               EGL_WL_bind_wayland_display
               EGL_WL_create_wayland_buffer_from_image EGL_KHR_partial_update
[23:53:29.105] GL version: OpenGL ES 3.2 V6.2.4.p4.190076
[23:53:29.105] GLSL version: OpenGL ES GLSL ES 3.20
[23:53:29.105] GL vendor: Vivante Corporation
[23:53:29.105] GL renderer: Vivante GC7000XSVX
[23:53:29.105] GL extensions: GL_OES_vertex_type_10_10_10_2
               GL_OES_vertex_half_float GL_OES_element_index_uint
               GL_OES_mapbuffer GL_OES_vertex_array_object
               GL_OES_compressed_ETC1_RGB8_texture
               GL_OES_compressed_paletted_texture GL_OES_texture_npot
               GL_OES_rgb8_rgba8 GL_OES_depth_texture
               GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32
               GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap
               GL_OES_get_program_binary GL_OES_fragment_precision_high
               GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_sync
               GL_OES_texture_stencil8 GL_OES_shader_image_atomic
               GL_OES_sample_variables GL_OES_sample_shading
               GL_OES_texture_storage_multisample_2d_array
               GL_OES_shader_multisample_interpolation
               GL_OES_required_internalformat GL_OES_surfaceless_context
               GL_OES_copy_image GL_OES_draw_buffers_indexed
               GL_OES_geometry_shader GL_OES_geometry_point_size
               GL_OES_gpu_shader5 GL_OES_shader_io_blocks
               GL_OES_texture_border_clamp GL_OES_texture_buffer
               GL_OES_tessellation_shader GL_OES_tessellation_point_size
               GL_OES_texture_cube_map_array GL_OES_draw_elements_base_vertex
               GL_OES_texture_half_float GL_OES_texture_float
               GL_OES_primitive_bounding_box
               GL_KHR_texture_compression_astc_ldr
               GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_robustness
               GL_EXT_texture_type_2_10_10_10_REV
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
               GL_EXT_texture_compression_s3tc GL_EXT_read_format_bgra
               GL_EXT_multi_draw_arrays GL_EXT_frag_depth
               GL_EXT_discard_framebuffer GL_EXT_blend_minmax
               GL_EXT_multisampled_render_to_texture
               GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float
               GL_EXT_robustness GL_EXT_texture_sRGB_decode
               GL_EXT_draw_buffers_indexed GL_EXT_texture_border_clamp
               GL_EXT_texture_buffer GL_EXT_tessellation_shader
               GL_EXT_tessellation_point_size GL_EXT_geometry_shader
               GL_EXT_geometry_point_size GL_EXT_copy_image
               GL_EXT_texture_cube_map_array GL_EXT_gpu_shader5
               GL_EXT_shader_io_blocks GL_EXT_shader_implicit_conversions
               GL_EXT_multi_draw_indirect GL_EXT_draw_elements_base_vertex
               GL_EXT_texture_rg GL_EXT_primitive_bounding_box GL_EXT_sRGB
               GL_ANDROID_extension_pack_es31a GL_VIV_direct_texture
[23:53:29.105] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: yes
[23:53:29.119] event1  - Dell Dell USB Keyboard: is tagged by udev as: Keyboard
[23:53:29.119] event1  - Dell Dell USB Keyboard: device is a keyboard
[23:53:29.120] event0  - sc-powerkey: is tagged by udev as: Keyboard
[23:53:29.120] event0  - sc-powerkey: device is a keyboard
[23:53:29.133] event2  - colibri-vf50-ts: is tagged by udev as: Touchscreen
[23:53:29.133] event2  - colibri-vf50-ts: device is a touch device
[23:53:29.155] Touchscreen - colibri-vf50-ts - /sys/devices/platform/vf50-touchscreen/input/input2/event2
[23:53:29.155] input device event2 has no enabled output associated (none named), skipping calibration for now.
[23:53:29.181] DRM: head 'HDMI-A-1' found, connector 146 is connected, EDID make 'SAM', model 'SAMSUNG', serial 'unknown'
[23:53:29.181] Registered plugin API 'weston_drm_output_api_v1' of size 24
[23:53:29.186] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 1 - 60
[23:53:29.187] No backlight control for output 'HDMI-A-1'
[23:53:29.187] Output HDMI-A-1 (crtc 36) video modes:
               1366x768@59.8, preferred, current, 85.5 MHz
               1920x1080@60.0, 148.5 MHz
               1920x1080@59.9, 148.4 MHz
               1920x1080@50.0, 148.5 MHz
               1920x1080@30.0, 74.2 MHz
               1920x1080@25.0, 74.2 MHz
               1920x1080@24.0, 74.2 MHz
               1280x720@60.0, 74.2 MHz
               1280x720@59.9, 74.2 MHz
               1280x720@50.0, 74.2 MHz
               1024x768@75.0, 78.8 MHz
               1024x768@70.1, 75.0 MHz
               1024x768@60.0, 65.0 MHz
               832x624@74.6, 57.3 MHz
               800x600@75.0, 49.5 MHz
               800x600@72.2, 50.0 MHz
               800x600@60.3, 40.0 MHz
               720x576@50.0, 27.0 MHz
               720x480@60.0, 27.0 MHz
               720x480@59.9, 27.0 MHz
               640x480@75.0, 31.5 MHz
               640x480@72.8, 31.5 MHz
               640x480@66.7, 30.2 MHz
               640x480@60.0, 25.2 MHz
               640x480@59.9, 25.2 MHz
               720x400@70.1, 28.3 MHz
[23:53:29.187] associating input device event1 with output HDMI-A-1 (none by udev)
[23:53:29.187] associating input device event0 with output HDMI-A-1 (none by udev)
[23:53:29.187] associating input device event2 with output HDMI-A-1 (none by udev)
[23:53:29.188] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[23:53:29.188] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[23:53:29.189] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so'
[23:53:29.193] launching '/usr/lib/aarch64-linux-gnu/weston-keyboard'
[23:53:29.201] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/xwayland.so'
[23:53:29.230] Registered plugin API 'weston_xwayland_v1' of size 32
[23:53:29.230] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[23:53:29.230] xserver listening on display :0
[23:53:29.230] launching '/usr/lib/aarch64-linux-gnu/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-none'
[23:53:31.992] Spawned Xwayland server, pid 27
glamor: 'wl_drm' not supported
Missing Wayland requirements for glamor GBM backend
Failed to initialize glamor, falling back to sw
[23:53:32.525] xfixes version: 5.0
[23:53:32.585] created wm, root 908
apalis-imx8-06506323:~$

Portainer was actually working on the board. It was the HDMI output that was not behaving properly.
Find an old 720P class HD TV. These seem to work. Two old TVs worked with video formats: 1366x768p60 1280x720p60 Computer monitors don’t seem to work. Specific modes that did not work although identified properly and theoretically OK include: 3840x2160p60 1920x1200p60 1280x1024p60 1600x900p60

Hi Jeremias,

I’ll try that. One of the things I discovered is that Torizon doesn’t reset the video if you do an unplug and plug event. It just keeps on putting out what it found at boot up. Long term that should probably be fixed but it was useful in the short term. After I booted up on the 720P class TV I unplugged the TV and plugged in my Samsung monitor that hadn’t been working and it came up fine at the 1366x768p60 85.5MHz format. It kind of tells me it is related to the video format and frequency, not the monitor or cable. Let me try a few of your suggestions and I’ll report back.

Regards,
Chip

Hi Jeremias,

I also found that a monitor that was 1080p60 (148.5MHz) would come up. I had both a BenQ and Acer monitor that did OK. I followed that up with the same test to boot the Apalix module with the Acer 1080p60 monitor then unplug it and plug in my (non-working) Samsung monitor. Video came up fine on the Samsung monitor.

Regards,
Chip

Hi Jeremias,

So your suggestion seemed to work fine with my Samsung monitor I was able to get it to boot successfully with 1280x720 (72.2MHz), 1920x1080 (148.5MHz), 1024x768p75 (78.8MHz), 640x480p75 (31.5MHz), 2560x1440p60 (241.5MHz), 1600x900 (108.0MHz). I was even able to start 3840x2160p30 (297.0MHz).

I also manually tried the default max 3840x2160p60 (594.0MHz) but that still doesn’t work. Not sure what the max clock the iMX8QM will support. Have we exceeded that? Thanks.

Regards,
Chip

Hi Jeremias,

So after I did:

setenv tdxargs video=HDMI-A-1:3840x2160@30

I did:

saveenv

Now it boots up from power on in 3840x2160@30 consistently. That works! Thanks.

Regards,
Chip

Hi @ChipW,

I’m glad you found a display that worked but this still doesn’t sit right with me that your computer monitors didn’t work. As a final test can you try using one of your computer monitors but this time let’s try and force a non-default resolution.

In the U-boot console (interrupt the boot sequence early on with a key press), set the following variable: setenv tdxargs video=HDMI-A-1:1280x720. Except make sure to replace the resolution numbers here with a resolution that’s not the default resolution but still supported by the monitor you’re using.

Once set type boot into the U-boot console to proceed with the boot sequence. Now check if that works. As a note the resolution setting only persists for the boot that you set it, if you want it to persist further than also run saveenv after you set the resolution in U-Boot.

Best Regards,
Jeremias