No HDMI output on reform

I’m having some problems getting HDMI output to work on my imx8mq reform. I ran reform-display-config dual as root and rebooted, but I don’t see any output on the HDMI, and wlr-randr and swaymsg -t get_outputs only show the eDP-1 display.

$ cat /etc/flash-kernel/machine 
MNT Reform 2 HDMI

I checked the dtbs, and they look OK:

$ ls /boot/dtbs                                                                                                                                                                            6.5.0-2-reform2-arm64  6.5.0-3-reform2-arm64  6.5.0-4-reform2-arm64  6.5.0-5-reform2-arm64                                                                                                                         
$ ls /boot/dtbs/6.5.0-5-reform2-arm64/                                                                                                                                                            
freescale  imx8mq-mnt-reform2.dtb  imx8mq-mnt-reform2-hdmi.dtb                                                                                                                                                     
$ ls -l /boot/dtbs/6.5.0-5-reform2-arm64/                                                                                                                                                         
total 1                                                                                                                                                                                                            
drwxr-xr-x 2 root root 1024 Dec 29 12:10 freescale
lrwxrwxrwx 1 root root   32 Dec 19 18:15 imx8mq-mnt-reform2.dtb -> freescale/imx8mq-mnt-reform2.dtb
lrwxrwxrwx 1 root root   37 Dec 29 12:10 imx8mq-mnt-reform2-hdmi.dtb -> freescale/imx8mq-mnt-reform2-hdmi.dtb
humberto@reform:~$ ls -l /boot/dtbs/6.5.0-5-reform2-arm64/freescale/
total 160
-rw-r--r-- 1 root root 39094 Dec 19 18:15 imx8mq-mnt-reform2.dtb
-rw-r--r-- 1 root root 39094 Dec 19 18:15 imx8mq-mnt-reform2.dtb.bak
-rw-r--r-- 1 root root 39491 Dec 29 12:10 imx8mq-mnt-reform2-hdmi.dtb
-rw-r--r-- 1 root root 39491 Dec 29 12:10 imx8mq-mnt-reform2-hdmi.dtb.bak
$ ls -l /boot/dtb
lrwxrwxrwx 1 root root 64 Dec 29 12:10 /boot/dtb -> dtbs/6.5.0-5-reform2-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb

Any suggestions on what to try next?

Hrm… this all looks okay. What is your output of running cat /proc/device-tree/model? Does running sudo reform-check show anything interesting?

Something’s borked:

$ cat /proc/device-tree/model 
MNT Reform 2

Aha, but that’s great news because now we have an indicator of the problem! :smiley: How do you boot your Reform? Do you use boot.scr (the default) or did you set up u-boot-menu which creates /boot/extlinux/extlinux.conf?

Could you share your relevant boot.scr or extlinux.conf? And what is your u-boot version? It shows at the top of the screen at the very start of the boot process.

Did running sudo reform-check produce anything funny related to flash-kernel, u-boot or dtbs?

1 Like

Yea, I have several issues reported by reform-check:

$ sudo reform-check                                                                                                                                                                               
[sudo] password for humberto:                                                                            
E: your currently loaded dtb is not the one referenced by flash-kernel                                   
I: not installed:  blueman busybox dunst firefox firmware-realtek gpiod inetutils-ping kde-style-breeze network-manager-gnome papirus-icon-theme pasystray qt5ct 
W: /boot/flash.bin is not the latest uboot                                                               
W: You can update it to the latest version by running as root:                                           
reform-flash-uboot                                                                                       
W: eMMC does not contain latest uboot                                                                                                                                                                              
W: You can update it to the latest version by running as root:                                                                                                                                                     
reform-flash-uboot emmc                                                                                                                                                                                            
W: SD-Card does not contain latest uboot                                                                                                                                                                           
W: You can update it to the latest version by running as root:                                           
reform-flash-uboot sd                                                                                                                                                                                              
W: /dev/mmcblk0p2 doesn't exist.                                                                                                                                                                                   
W: To update your eMMC to sysimage-v4 you can run reform-flash-rescue                                    
W: Only run reform-flash-rescue if you intend a factory-reset of your eMMC
W: Do not use reform-flash-rescue if you boot from eMMC because this will overwrite your /boot partition 
...

I’m updating u-boot, and will check again after rebooting.

Thanks @josch, after a clean reform-check, I now have working HDMI.

1 Like

Hi,
I would like to re-open this issue. I also don’t have HDMI output, but don’t know how to make reform-check clean. The things mentioned there don’t mean anything to me:

I: Your platform name is: MNT Reform 2
I: You are running kernel version: 6.12.13-mnt-reform-arm64
I: Your installed kernel version: 6.12.13-1+reform20250212T045044Z
I: Your installed reform-tools version: 1.66-1+reform1
E: your currently loaded dtb is not the one referenced by flash-kernel
I: not installed:  blueman firefox firmware-atheros firmware-mediatek firmware-misc-nonfree firmware-realtek foot hdparm inetutils-ping iw kde-style-breeze lshw network-manager-gnome nvme-cli papirus-icon-theme pasystray picotool pocket-reform-handbook qt5ct reform-firedecor reform-qcacld2 wavemon wayfire wireless-regdb zstd 
W: /dev/mmcblk0p2 doesn't exist.
W: To update your eMMC to sysimage-v4 you can run reform-flash-rescue
W: Only run reform-flash-rescue if you intend a factory-reset of your eMMC
W: Do not use reform-flash-rescue if you boot from eMMC because this will overwrite your /boot partition
I: the following files differ from how they are shipped by reform-tools:
??5??????   /var/lib/alsa/asound.state
E: /boot/dtb-* symlink does not reference freescale/imx8mq-mnt-reform2.dtb
I: kernel boot parameters your system does use but which are not the default:
 + cryptomgr.notests
 + loglevel=3

I had HDMI in the past and didn’t change any of the things written in reform-check.

  1. E: your currently loaded dtb is not the one referenced by flash-kernel
    • this communicates nothing to me
    • the symlink in /boot goes to imx8mq-mnt-reform2-hdmi.dtb
  2. /dev/mmcblk0p2 doesn’t exist.
    • should it? Why?
  3. /var/lib/alsa/asound.state
    • I have definitely not changed that file
  4. E: /boot/dtb-* symlink does not reference freescale/imx8mq-mnt-reform2.dtb
    • because it links to the imx8mq-mnt-reform2-hdmi.dtb, with hdmi.
  5. I: kernel boot parameters your system does use but which are not the default:
    • cryptomgr.notests
    • loglevel=3
    • I don’t know what to do about this, I have not set these.

I did run both reform-flash-uboot sd and reform-display-config dual, didn’t help.

I currently have an HDMI cable and monitor plugged it (one that used to work), with:

swaymsg -t get_outputs 
Output eDP-1 'Unknown Unknown Unknown' (focused)
  Current mode: 1920x1080 @ 70.040 Hz
  Power: on
  Position: 0,0
  Scale factor: 1.000000
  Scale filter: nearest
  Subpixel hinting: unknown
  Transform: normal
  Workspace: 1
  Max render time: off
  Adaptive sync: disabled
  Allow tearing: no
  Available modes:
    1920x1080 @ 70.040 Hz

and nothing else.

You could’ve also started a new thread with your issue. In any case, thanks a lot for reaching out with your troubles. This also helps me in making the output of the reform-check tool better.

Please upgrade to reform-tools 1.67. I improved this check in that version and it should tell you more.

Lets try to improve this message. What is your current setup? Where is your system located? Where is your /boot? It would help to see the output of findmnt.

Usually, your eMMC should have two partitions on it. The first one for /boot the second for /. This should either be the rescue system or the system you currently are running. If you intentionally partitioned your eMMC differently, then you can of course ignore this message but then you are on your own in some situations which assume the sysimage-v3 layout.

Yes, this is known. Unfortunately I do not know how to let reform-tools ship this file or another file with identical effect without alsa changing it immediately…

The recent reform-tools release also should have improved error output for this message.

How are you booting your system? Did you install u-boot-menu to allow booting a kernel of your choice via u-boot?

This makes me assume that your whole system is on SD-card?

Lets have another look at the reform-check output you posted.

There are two device trees for the imx8mq. One with and one without HDMI support. This message tells you, that you have the dtb without HDMI support booted.

There is a problem with recent kernel versions on imx8mq regarding HDMI support. We noticed that if you choose the HDMI dtb, then you would not even get output on the internal display. Since back then we didn’t have time to fix this problem, we made the HDMI dtb identical to the non-HDMI dtb here: disable imx8mq hdmi for safety until solution is found (5c2c4753) · Commits · Reform / reform-debian-packages · GitLab

In the meantime I’ve fixed the issue of HDMI on imx8mq. If you like you can try out the kernel package built by gitlab CI from this merge request: rebase original cadence patch onto 6.12 (!80) · Merge requests · Reform / reform-debian-packages · GitLab

Please upgrade to the latest version of reform-tools for a bit more improved output.

This is the actual problem that we need to get to the bottom of.

Thanks!

Thanks for the fast response!

I don’t have that in the repositories. Do you mean that I should clone the gitlab repository for it and install from there?

$ sudo apt upgrade reform-tools
reform-tools is already the newest version (1.66-1+reform1).

No, I did not. I am a bit scared of making changes that could result in an unbootable system. I was more experimental in the past, but now any lost time seems scary. I have my boot partition on the SD card, but the rest of the system on the SSD (via reform-migrate):

$ cat /etc/fstab
/dev/nvme0n1p1 / auto errors=remount-ro 0 1
/dev/mmcblk1p1 /boot auto errors=remount-ro 0 1

This resulted in these partitions:

$ ls /dev/mmc*
/dev/mmcblk0  /dev/mmcblk0boot0  /dev/mmcblk0boot1  /dev/mmcblk0p1  /dev/mmcblk0rpmb  /dev/mmcblk1  /dev/mmcblk1p1  /dev/mmcblk1p2

$ ls /dev/nvm*
/dev/nvme0  /dev/nvme0n1  /dev/nvme0n1p1

I don’t know how I can make a choice in that regard. I have never manually symlinked a dtb to mess things up (I don’t even know what a dtb is).

$ ls -ld /boot/dtb*
lrwxrwxrwx  1 root root   67 Feb 13 12:23 /boot/dtb -> dtbs/6.12.13-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
lrwxrwxrwx  1 root root   67 Oct  2 10:31 /boot/dtb-6.10.11-mnt-reform-arm64 -> dtbs/6.10.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
lrwxrwxrwx  1 root root   67 Jan 24 01:29 /boot/dtb-6.12.10-mnt-reform-arm64 -> dtbs/6.12.10-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
lrwxrwxrwx  1 root root   67 Feb 13 12:23 /boot/dtb-6.12.13-mnt-reform-arm64 -> dtbs/6.12.13-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
drwxr-xr-x 20 root root 1024 Feb 13 12:04 /boot/dtbs

Other than these symlinks I wouldn’t know how to select a device tree and I don’t know how the one currently loaded was loaded.

That is a bummer. I have struggled really hard with debian SID. It’s really very unstable. For a while emacs didn’t work and crashed often. So, I tried to make upgrades as soon as possible to get through the emacs problems. Maybe the older kernels would have been fine.

I think that perhaps I should try to install a different distribution. But, I cannot imagine that I could ever scratch together enough time to understand how to install Alpine or something similar on this device (with somewhat complicated boot procedures).

Too scary. I used to run gentoo in the past and would like to not install custom kernels if it can be avoided.

TARGET                               SOURCE                     FSTYPE      OPTIONS
/                                    /dev/nvme0n1p1             ext4        rw,relatime,errors=remount-ro
├─/sys                               sysfs                      sysfs       rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security             securityfs                 securityfs  rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup                   cgroup2                    cgroup2     rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot
│ ├─/sys/fs/pstore                   pstore                     pstore      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/bpf                      bpf                        bpf         rw,nosuid,nodev,noexec,relatime,mode=700
│ ├─/sys/kernel/debug                debugfs                    debugfs     rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/tracing              tracefs                    tracefs     rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/fuse/connections         fusectl                    fusectl     rw,nosuid,nodev,noexec,relatime
│ └─/sys/kernel/config               configfs                   configfs    rw,nosuid,nodev,noexec,relatime
├─/proc                              proc                       proc        rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc         systemd-1                  autofs      rw,relatime,fd=37,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_i
│   └─/proc/sys/fs/binfmt_misc       binfmt_misc                binfmt_misc rw,nosuid,nodev,noexec,relatime
├─/dev                               udev                       devtmpfs    rw,nosuid,relatime,size=1725100k,nr_inodes=431275,mode=755,inode64
│ ├─/dev/pts                         devpts                     devpts      rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/shm                         tmpfs                      tmpfs       rw,nosuid,nodev,inode64
│ ├─/dev/hugepages                   hugetlbfs                  hugetlbfs   rw,nosuid,nodev,relatime,pagesize=2M
│ └─/dev/mqueue                      mqueue                     mqueue      rw,nosuid,nodev,noexec,relatime
├─/run                               tmpfs                      tmpfs       rw,nosuid,nodev,noexec,relatime,size=401736k,mode=755,inode64
│ ├─/run/lock                        tmpfs                      tmpfs       rw,nosuid,nodev,noexec,relatime,size=5120k,inode64
│ ├─/run/credentials/systemd-journald.service
│ │                                  tmpfs                      tmpfs       ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,
│ ├─/run/user/1000                   tmpfs                      tmpfs       rw,nosuid,nodev,relatime,size=401732k,nr_inodes=100433,mode=700,uid=10
│ │ └─/run/user/1000/doc             portal                     fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
│ ├─/run/credentials/getty@tty1.service
│ │                                  tmpfs                      tmpfs       ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,
│ └─/run/credentials/serial-getty@ttymxc0.service
│                                    tmpfs                      tmpfs       ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,
├─/gnu/store                         /dev/nvme0n1p1[/gnu/store] ext4        ro,relatime,errors=remount-ro
├─/tmp                               tmpfs                      tmpfs       rw,nosuid,nodev,size=2008668k,nr_inodes=1048576,inode64
└─/boot                              /dev/mmcblk1p1             ext2        rw,relatime,errors=remount-ro

I have so far not made any partitions myself (or cannot remember doing so). All were created automatically, if memory serves (which it often doesn’t - I’m very tired - recently had kids).

I’m really sorry for my lack of skill/knowledge.

It’s OK for me to wait a bit until fixes arrive in the repositories, if that is planned. I’m guessing that the fixed kernel will at some point end up in the reform repo, right?

The HDMI did not work for many months now. I can keep working around that issue for a while longer.

1 Like

Sorry, that was my mistake. I released a new reform-tools version but I forgot to re-run the gitlab pipeline that compiles it and puts it into the repository. It should be there in around 1 hour.

Since you are using the classic Reform with imx8mq, Debian stable (Bookworm) will work perfectly with it: https://reform.debian.net But since you cannot downgrade your system, this might not be of much help right now. On the other hand, the next Debian stable release will happen in a few months, so maybe once that happens you want to switch your system to stable? Yes, the experience with Debian unstable can be very frustrating and can eat a lot of time… :frowning:

I understand. Same here. I think in your situation, maybe just wait a bit longer until the solution to the HDMI problem made it into the MNT repositories. Then you should be able to fix your issue via a normal “apt full-upgrade”. If the issue persists, please do not hesitate to ask for help again!

Sit me in front of a box running 9front, NetBSD or SculptOS and I will be absolutely helpless. :smiley: It is totally fine to not know something and ask others for help: xkcd: Ten Thousand

Yes, then lets go that route. You can keep an eye on that merge request I linked above. Once it got merged, it’s time for you to upgrade and if HDMI still does not work, please do not hesitate to shout!

1 Like