Ptyxis high CPU utilization

This is a bit of deja vu as we say.

The NVMe SSD failed in my MNT Reform 2 (i.MX8MQ) about 2 months back.
After replacing the NVMe SSD I reinstalled my Reform with
the latest system image: System Image v5: 2026-01-27. At the
same time I finally moved from using an SDCard to the EMMC for the
bootup of the system.

The system is up to date:

uname -a

Linux reform 6.19.11-mnt-reform-arm64 #1 SMP PREEMPT Debian 6.19.11-1+reform20260409T045900Z (2026-04- aarch64 GNU/Linux

I wished to use the external HDMI port and ran:

reform-display-config --emmc dual

Using DTB: freescale/imx8mq-mnt-reform2-hdmi.dtb
Installing /usr/lib/linux-image-6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb into /boot/dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
Taking backup of imx8mq-mnt-reform2-hdmi.dtb.
Installing new imx8mq-mnt-reform2-hdmi.dtb.
flash-kernel: installing version 6.19.11-mnt-reform-arm64
Generating boot script u-boot image… done.
Taking backup of boot.scr.
Installing new boot.scr.
P: Checking for EXTLINUX directory… found.
P: Writing config for vmlinuz-6.19.11-mnt-reform-arm64…
P: Writing config for vmlinuz-6.19.10-mnt-reform-arm64…
Your /boot partition is on emmc (/dev/mmcblk0p1).
Restart MNT Reform (type: reboot) after saving your work to activate the changes.


After doing so, I wasn’t successful in getting any output on the HDMI port so
I reverted back to single.

The process wasn’t very smooth and it required running the reform-display-config command multiple times IIRC.

This is when I started to notice that the terminal application ptyxis seems to
consume very high amounts of CPU. The top command shows it using up to 100% if I perform a directory listing on a directory with many files. I’ve also noticed
that Chromium is also sluggish.

This is not dissimilar to something I reported some time ago:

My hunch is that both ptyxis and Chromium rely on accelerated graphics, which may not be working correctly.

To try to remedy this, I again tried to enable and disable the HDMI port using reform-display-config and this has resulted in a system which during bootup shows errors running reform-hw-setup (failure). I need to press Control-D for the system to bootup (as it tries to get me to login to maintenance mode).

Some additional details:



root@reform:/home/gsamu# lsmod |grep etnaviv
etnaviv               122880  0
gpu_sched              57344  2 etnaviv,panfrost
root@reform:/home/gsamu# dmesg |grep imx
[    0.102480] imx8mq-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver
[    0.448896] imx-bus-devfreq 32700000.interconnect: Missing property fsl,ddrc, skip scaling DRAM
[    5.425449] imx-sdma 302c0000.dma-controller: loaded firmware 4.6
[    5.489884] nvmem imx-ocotp0: cell mac-address raw len 6 unaligned to nvmem word size 4
[    5.509243] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 3 mkt segment 0 supported-hw 0x8 0x1
[    5.520276] imx-sdma 30bd0000.dma-controller: loaded firmware 4.6
[    5.534348] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[    5.534348] imx6q-pcie 33c00000.pcie: host bridge /soc@0/pcie@33c00000 ranges:
[    5.534431] imx6q-pcie 33800000.pcie:       IO 0x001ff80000..0x001ff8ffff → 0x0000000000
[    5.534442] imx6q-pcie 33c00000.pcie:       IO 0x0027f80000..0x0027f8ffff → 0x0000000000
[    5.534476] imx6q-pcie 33800000.pcie:      MEM 0x0018000000..0x001fefffff → 0x0018000000
[    5.534523] imx6q-pcie 33c00000.pcie:      MEM 0x0020000000..0x0027efffff → 0x0020000000
[    5.534613] imx6q-pcie 33c00000.pcie: config reg[1] 0x27f00000 == cpu 0x27f00000
[    5.534614] imx6q-pcie 33800000.pcie: config reg[1] 0x1ff00000 == cpu 0x1ff00000
[    5.741212] imx6q-pcie 33c00000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 4G
[    5.757192] imx6q-pcie 33800000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 4G
[    5.841295] imx6q-pcie 33c00000.pcie: PCIe Gen.2 x1 link up
[    5.849259] imx6q-pcie 33c00000.pcie: PCI host bridge to bus 0001:00
[    5.855727] imx6q-pcie 33800000.pcie: PCIe Gen.1 x1 link up
[    5.870752] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[    6.625423] [drm] Initialized imx-dcss 1.0.0 for 32e00000.display-controller on minor 0
[    6.631543] imx-dcss 32e00000.display-controller: Pixel clock set to 118800 kHz instead of 162000 kHz.
[    6.755518] imx-dcss 32e00000.display-controller: [drm] fb0: imx-dcssdrmfb frame buffer device
[   19.943795] platform imx-pgc-domain.6: deferred probe pending: platform: wait for supplier /soc@0/bus@30800000/i2c@30a20000/i2c-mux@70/i2c@2/regulator@60
[   19.943829] platform 38320000.blk-ctrl: deferred probe pending: platform: supplier imx-pgc-domain.6 not ready
[   19.943844] platform imx-pgc-domain.5: deferred probe pending: platform: wait for supplier /soc@0/bus@30800000/i2c@30a20000/i2c-mux@70/i2c@2/regulator@60

Furthermore I also see the following errors during startup:

U-Boot menu

1: Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64

2: Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64 (res

3: Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64

4: Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64 (res Debian GNU/Linux forky/sid 6.19.11-mnt-r

Enter choice: 1:

Retrieving file: /initrd.ing-6.19.11-mnt-reform-arm64 38892310 bytes read in 896 ms (41.4 MiB/s)

Retrieving file: /umlinuz-6.19.11-mnt-reform-arm64 38885888 bytes read in 894 ms (41.5 MiB/s)

append: ro no_console_suspend cryptongr.notests plymouth.ignore-

ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree

2: Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64 (res Retrieving file: /initrd.ing-6.19.11-mnt-reform-arm64 38892310 bytes read in 892 ms (41.6 MiB/s)

Retrieving file: /umlinuz-6.19.11-mnt-reform-arm64 38885888 bytes read in 892 ms (41.6 MiB/s)

append: ro no_console_suspend cryptongr.notests plymouth.ignore-200 console-tty1 console=tty1 console-tty1 single

ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree


The output of reform-check follows:

root@reform:/home/gsamu# reform-check
I: Contents of /proc/device-tree/model: MNT Reform 2
I: uname -a output: Linux reform 6.19.11-mnt-reform-arm64 #1 SMP PREEMPT Debian 6.19.11-1+reform20260409T045900Z (2026-04- aarch64 GNU/Linux
I: Version of linux-image-mnt-reform-arm64: 6.19.11-1+reform20260409T045900Z
I: Version of reform-tools: 1.86-1+reform20260327T215213Z+1
I: Version of system image: System Image v5: 2026-01-27
I: Version of LPC firmware: MREF2LPC R3 3cc6fbb
I: Version of upstream U-Boot: 2018.07
I: Version of MNT U-Boot: 2026-01-11
I: probably booting via /boot/extlinux/extlinux.conf (/boot/boot.scr also exists)
I: Mount source of /: /dev/reformvg/root (LVM vg ‘reformvg’ on LUKS device ‘reform_crypt’ on SSD)
I: Mount source of /boot: /dev/mmcblk0p1 (eMMC)
E: your currently loaded dtb is not the one referenced by flash-kernel
E: contents of /proc/device-tree/model: MNT Reform 2
E: contents of /etc/flash-kernel/machine: MNT Reform 2 HDMI
I: the following files differ from how they are shipped by reform-tools (ignore /var/lib/alsa/asound.state):
??5???   /var/lib/alsa/asound.state
I: the reform-qcacld2 package is only required for wifi on the Pocket Reform with i.MX8MP, you can safely remove it unless you plan to go back to the imx8m+
I: Install the package shellcheck for checking /boot/boot.scr for problems
E: /boot/dtb-6.19.11-mnt-reform-arm64 symlink does not reference dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb but: dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
I: kernel boot parameters your system does use but which are not the default:

single

single
W: Your kernel cmdline has ‘single’ in it and will boot into rescue mode on each boot. Maybe booting via extlinux.conf failed?
W: reform-setup-wizard failed to clean up /etc/profile.d/reform-setup.sh. It can be safely removed.
W: unexpected content in /etc/u-boot-menu/conf.d/reform.conf:
— -	2026-04-09 19:24:38.133737144 -0400
+++ /etc/u-boot-menu/conf.d/reform.conf	2026-04-09 19:10:15.649882425 -0400
@@ -1,2 +1,2 @@

the content of this file is auto-generated by reform-display-config

-U_BOOT_FDT=/freescale/imx8mq-mnt-reform2.dtb
+U_BOOT_FDT=/freescale/imx8mq-mnt-reform2-hdmi.dtb
W: re-run reform-display-config for the corrent content
I: eMMC contains the latest bootloader version 2026-01-11

So I’m looking for pointers on how to clear up the issue.

Hi,

thank you for your very detailed post. This helps a lot. I assume you are still on sway? I fear that neither sway nor the imx8mq are receiving much love anymore but like with everything FOSS the things get fixed where there are people to spend time on them. So lets see what we can repair today. :slight_smile:

Firstly, the fact that you need to press Control+D is connected to the fact that some of the entries in your extlinx.conf are not bootable because they are missing a dtb for some reason:

When u-boot encounters an entry in extlinux.conf that it cannot boot, it will just fall back to trying the next entry which is a fine behaviour. What is surprising though is that u-boot will keep old kernel cmdline arguments.

This means that after u-boot fails to find the dtb it falls back to the rescue target which adds the “single” parameter, fails to find the device tree again and then boots the next entry which seems to succeed but now has the “single” parameter added to the kernel invocation and will thus boot in single-user mode. After we have figured out this counter-intuitive behaviour of u-boot I added a warning about this into reform-check which you see here:

To fix this we need to figure out what is wrong with your device trees. Could you give us the contents of your /boot/extlinux/extlinux.conf and then maybe also the output of running find /boot | sort? Thank you!

That you are booting the wrong (not the first) entry in your extlinux.conf is also connected to errors like:

You configured “dual” with reform-display-config but you boot an older entry from an extlinux.conf which is still configured as “single” (and thus the contents of /proc/device-tree/model). So the first goal is to figure out what happened to your dtb and what went wrong when you used reform-display-config.

The second issue is slow ptyxis and chromium. Indeed I’m getting a deja-vu as well but I have a different hunch than what we talked about in the other thread. Can you show me the output of these commands:

$ ls -lha /dev/dri
$ getfacl /dev/dri/renderD128
$ groups

Thank you!

@josch Thank you for the follow-up. Yeah I realize that I’m a bit “behind the times” hardware wise with the original processor board. I’m looking at an upgrade this summer.

That being said, here is the information requested:

  1. extlinux contents
# cat /boot/extlinux/extlinux.conf

/boot/extlinux/extlinux.conf



IMPORTANT WARNING



The configuration of this file is generated automatically.

Do not edit this file manually, use: u-boot-update

default l0
menu title U-Boot menu
prompt 1
timeout 1

label l0
menu label Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64
linux /vmlinuz-6.19.11-mnt-reform-arm64
initrd /initrd.img-6.19.11-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1

label l0r
menu label Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64 (rescue target)
linux /vmlinuz-6.19.11-mnt-reform-arm64
initrd /initrd.img-6.19.11-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1 single

label l1
menu label Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64
linux /vmlinuz-6.19.10-mnt-reform-arm64
initrd /initrd.img-6.19.10-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1

label l1r
menu label Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64 (rescue target)
linux /vmlinuz-6.19.10-mnt-reform-arm64
initrd /initrd.img-6.19.10-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1 single


  1. /boot
# find /boot |sort

/boot
/boot/boot.scr
/boot/boot.scr.bak
/boot/config-6.19.10-mnt-reform-arm64
/boot/config-6.19.11-mnt-reform-arm64
/boot/dtb
/boot/dtb-6.19.10-mnt-reform-arm64
/boot/dtb-6.19.11-mnt-reform-arm64
/boot/dtbs
/boot/dtbs/6.18.12-mnt-reform-arm64
/boot/dtbs/6.18.12-mnt-reform-arm64/amlogic
/boot/dtbs/6.18.12-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/freescale
/boot/dtbs/6.18.12-mnt-reform-arm64/freescale/fsl-ls1028a-mnt-reform2.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/freescale/imx8mp-mnt-reform2.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb.bak
/boot/dtbs/6.18.12-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/imx8mq-mnt-reform2.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/rockchip
/boot/dtbs/6.18.12-mnt-reform-arm64/rockchip/rk3588-mnt-desktop-reform.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/rockchip/rk3588-mnt-pocket-reform.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/rockchip/rk3588-mnt-reform2-dsi.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/rockchip/rk3588-mnt-reform2.dtb
/boot/dtbs/6.18.12-mnt-reform-arm64/rockchip/rk3588-mnt-reform-next.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64
/boot/dtbs/6.19.10-mnt-reform-arm64/amlogic
/boot/dtbs/6.19.10-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/freescale
/boot/dtbs/6.19.10-mnt-reform-arm64/freescale/fsl-ls1028a-mnt-reform2.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/freescale/imx8mp-mnt-reform2.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb.bak
/boot/dtbs/6.19.10-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/imx8mq-mnt-reform2.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/rockchip
/boot/dtbs/6.19.10-mnt-reform-arm64/rockchip/rk3588-mnt-desktop-reform.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/rockchip/rk3588-mnt-pocket-reform.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/rockchip/rk3588-mnt-reform2-dsi.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/rockchip/rk3588-mnt-reform2.dtb
/boot/dtbs/6.19.10-mnt-reform-arm64/rockchip/rk3588-mnt-reform-next.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64
/boot/dtbs/6.19.11-mnt-reform-arm64/amlogic
/boot/dtbs/6.19.11-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale/fsl-ls1028a-mnt-reform2.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mp-mnt-reform2.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb.bak
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb.bak
/boot/dtbs/6.19.11-mnt-reform-arm64/imx8mq-mnt-reform2.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/imx8mq-mnt-reform2-hdmi.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/rockchip
/boot/dtbs/6.19.11-mnt-reform-arm64/rockchip/rk3588-mnt-desktop-reform.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/rockchip/rk3588-mnt-pocket-reform.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/rockchip/rk3588-mnt-reform2-dsi.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/rockchip/rk3588-mnt-reform2.dtb
/boot/dtbs/6.19.11-mnt-reform-arm64/rockchip/rk3588-mnt-reform-next.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64
/boot/dtbs/6.19.8-mnt-reform-arm64/amlogic
/boot/dtbs/6.19.8-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/freescale
/boot/dtbs/6.19.8-mnt-reform-arm64/freescale/fsl-ls1028a-mnt-reform2.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/freescale/imx8mp-mnt-reform2.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb.bak
/boot/dtbs/6.19.8-mnt-reform-arm64/freescale/imx8mq-mnt-reform2-hdmi.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/imx8mq-mnt-reform2.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/rockchip
/boot/dtbs/6.19.8-mnt-reform-arm64/rockchip/rk3588-mnt-desktop-reform.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/rockchip/rk3588-mnt-pocket-reform.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/rockchip/rk3588-mnt-reform2-dsi.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/rockchip/rk3588-mnt-reform2.dtb
/boot/dtbs/6.19.8-mnt-reform-arm64/rockchip/rk3588-mnt-reform-next.dtb
/boot/extlinux
/boot/extlinux/extlinux.conf
/boot/flash.bin
/boot/initrd.img-6.19.10-mnt-reform-arm64
/boot/initrd.img-6.19.11-mnt-reform-arm64
/boot/loader
/boot/loader/entries
/boot/loader/entries/fsl-ls1028a-mnt-reform2-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/fsl-ls1028a-mnt-reform2-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/fsl-ls1028a-mnt-reform2-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/fsl-ls1028a-mnt-reform2-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-pocket-reform-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-pocket-reform-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-pocket-reform-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-pocket-reform-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-reform2-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-reform2-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-reform2-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/imx8mp-mnt-reform2-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-hdmi-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-hdmi-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-hdmi-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/imx8mq-mnt-reform2-hdmi-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-pocket-reform-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-pocket-reform-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-pocket-reform-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-pocket-reform-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-reform2-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-reform2-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-reform2-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/meson-g12b-bananapi-cm4-mnt-reform2-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/qcs6490-mnt-reform2-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/qcs6490-mnt-reform2-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/qcs6490-mnt-reform2-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/qcs6490-mnt-reform2-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/qcs8550-mnt-reform2-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/qcs8550-mnt-reform2-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/qcs8550-mnt-reform2-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/qcs8550-mnt-reform2-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-desktop-reform-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-desktop-reform-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-desktop-reform-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-desktop-reform-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-pocket-reform-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-pocket-reform-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-pocket-reform-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-pocket-reform-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-dsi-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-dsi-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-dsi-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform2-dsi-6.19.8-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform-next-6.18.12-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform-next-6.19.10-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform-next-6.19.11-mnt-reform-arm64.conf
/boot/loader/entries/rk3588-mnt-reform-next-6.19.8-mnt-reform-arm64.conf
/boot/lost+found
/boot/System.map-6.19.10-mnt-reform-arm64
/boot/System.map-6.19.11-mnt-reform-arm64
/boot/vmlinuz-6.19.10-mnt-reform-arm64
/boot/vmlinuz-6.19.11-mnt-reform-arm64


  1. DRI related
root@reform:~# ls -lha /dev/dri
total 0
drwxr-xr-x   3 root root      80 Apr 10 07:37 .
drwxr-xr-x  17 root root    3.6K Apr 10 07:38 ..
drwxr-xr-x   2 root root      60 Apr 10 07:37 by-path
crw-rw----+  1 root video 226, 0 Apr 10 07:40 card0
root@reform:~# getfacl /dev/dri/renderD128
getfacl: /dev/dri/renderD128: No such file or directory
root@reform:~# groups
root
root@reform:~# exit
exit
gsamu@reform:~$ groups
gsamu cdrom floppy sudo audio dip video plugdev users netdev
gsamu@reform:~$

If it helps, I can also provide the journalctl output. That contrains numerous errors.

I wouldn’t characterize it like that. I think imx8mq is a fine platform. It was my main compter for 2 years before I switched to A311D which is what I’m typing this on right now.

That is missing fdt or fdtdir and that’s why it cannot boot using extlinux.conf. Since you ran reform-display-config do you have a /etc/u-boot-menu/conf.d/reform.conf and if yes, what does it contain?

Whoops. Is this the same error you got in Sway high CPU utilization and screen corruption and can you confirm that you have this in your dmesg output:

modprobe@drm.service - Load Kernel Module drm was skipped because of an unmet condition check (ConditionKernelModuleLoaded=!drm).

Lets have a look. :slight_smile:

EDIT: From the other thread

Maybe lets fix your extlinux.conf first. Maybe this fixes the other problem.

Hello!

Here is the requested information …

gsamu@reform:~$ cd /etc/u-boot-menu/
gsamu@reform:/etc/u-boot-menu$ cd conf.d
gsamu@reform:/etc/u-boot-menu/conf.d$ ls
reform.conf
gsamu@reform:/etc/u-boot-menu/conf.d$ pwd
/etc/u-boot-menu/conf.d
gsamu@reform:/etc/u-boot-menu/conf.d$ more reform.conf

the content of this file is auto-generated by reform-display-config

U_BOOT_FDT=/freescale/imx8mq-mnt-reform2.dtb

You can find the full journalctl output here: Reform journalctl - Pastebin.com

For some reason this line is missing a hash at the start but maybe the forum software ate that?

You found a bug in reform-display-config :tada:

Try replacing that line with this one (double quotes added)

U_BOOT_FDT="/freescale/imx8mq-mnt-reform2.dtb"

And then run this:

sudo u-boot-update

After doing that, your /boot/extlinux/extlinux.conf should have dtb entries. If yes, reboot and it should already improve things. :slight_smile:

Hello,

Yes the missing “#” is from the forum software eating it. The same happened below.

I’ve done the updates, but I didn’t note any difference in the /boot/extlinux/extlinux.conf file. See below.

I rebooted afterwards, and I see the same issue.

root@reform:~# cd /etc/u-boot-menu/conf.d/
root@reform:/etc/u-boot-menu/conf.d# more reform.conf

the content of this file is auto-generated by reform-display-config

U_BOOT_FDT=“/freescale/imx8mq-mnt-reform2.dtb”
root@reform:/etc/u-boot-menu/conf.d# u-boot-update
P: Checking for EXTLINUX directory… found.
P: Writing config for vmlinuz-6.19.11-mnt-reform-arm64…
P: Writing config for vmlinuz-6.19.10-mnt-reform-arm64…
root@reform:/etc/u-boot-menu/conf.d# cat /boot/extlinux/extlinux.conf

/boot/extlinux/extlinux.conf



IMPORTANT WARNING



The configuration of this file is generated automatically.

Do not edit this file manually, use: u-boot-update

default l0
menu title U-Boot menu
prompt 1
timeout 1

label l0
menu label Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64
linux /vmlinuz-6.19.11-mnt-reform-arm64
initrd /initrd.img-6.19.11-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1

label l0r
menu label Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64 (rescue target)
linux /vmlinuz-6.19.11-mnt-reform-arm64
initrd /initrd.img-6.19.11-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1 single

label l1
menu label Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64
linux /vmlinuz-6.19.10-mnt-reform-arm64
initrd /initrd.img-6.19.10-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1

label l1r
menu label Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64 (rescue target)
linux /vmlinuz-6.19.10-mnt-reform-arm64
initrd /initrd.img-6.19.10-mnt-reform-arm64

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1 single


Indeed, that wasn’t it. But the problem remains that your extlinux.conf does not reference the device tree and we have to figure out why that is. We could run u-boot-update with maximum debugging like so:

sudo sh -x /usr/sbin/u-boot-update > log.txt 2>&1

And then you can share log.txt either via the forum or a pastebin service so that I can have a look.

Also, if you want to have quick results, you could try booting without extlinux.conf. Just remove the /boot/extlinux directory. As long as you still have /boot/boot.scr your system will boot. You can regenerate /boot/extlinux by running u-boot-update. If your system runs better without /boot/extlinux and if you are fed up with debugging this you could also decide to just remove /boot/extlinux and the u-boot-menu package from your system and call it a day.

Hello @josch

Thanks for all of your help so far. The pastebin of the u-boot-update command run with debug set is here: + set -e+ _U_BOOT_DIRECTORY=/boot/extlinux+ id -u+ [ 0 -ne 0 ]+ exec+ - Pastebin.com

I will test removing /boot/extlinux this AM just as a workaround. I’ll let you know how that goes.

I’m fine to help debug and provide any output you need. I’m thinking there may potentially be value to others if we find the root cause.

UPDATE - I removed /boot/extlinux and rebooted the system. It no longer booted to single user mode. I still saw during the bootup that the reform-hw-setup service failed:


$ sudo systemctl status reform-hw-setup
× reform-hw-setup.service - MNT Reform Hardware Defaults Setup
Loaded: loaded (/usr/lib/systemd/system/reform-hw-setup.service; enabled; preset: enable>
Active: failed (Result: exit-code) since Sat 2026-04-11 07:42:31 EDT; 5min ago
Invocation: bbaf7cbe2f93480cb559e729072ff0d7
Docs: man:reform-hw-setup(1)
Process: 777 ExecStart=/usr/bin/reform-hw-setup (code=exited, status=1/FAILURE)
Main PID: 777 (code=exited, status=1/FAILURE)
Mem peak: 2M
CPU: 65ms

Apr 11 07:42:30 reform systemd[1]: Starting reform-hw-setup.service - MNT Reform Hardware Def>
Apr 11 07:42:31 reform reform-hw-setup[786]: Invalid card number ‘0’.
Apr 11 07:42:31 reform systemd[1]: reform-hw-setup.service: Main process exited, code=exited,>
Apr 11 07:42:31 reform systemd[1]: reform-hw-setup.service: Failed with result ‘exit-code’.
Apr 11 07:42:31 reform systemd[1]: Failed to start reform-hw-setup.service - MNT Reform Hardw>

Thank you. I’m able to reproduce the issue. Could you try the following: edit your /etc/u-boot-menu/conf.d/reform.conf so that it contains:

U_BOOT_FDT_DIR="/dtbs/"
U_BOOT_FDT="/freescale/imx8mq-mnt-reform2.dtb"

And then run sudo u-boot-update. After that, your /boot/extlinux/extlinux.conf should contain entries that look like this:

fdt /dtbs/6.19.11-mnt-reform-arm64/freescale/imx8mq-mnt-reform2.dtb

Can you confirm?

I also noticed in an earlier log that it says:

Why does it say umlinuz and not vmlinuz?

Good. It is indeed the faulty extlinux.conf (missing fdt entry) which makes it fail.

This sounds like you have no audio. What is the output of this command:

aplay -l

Hello @josch

Thanks for your efforts on this. Definitely making progress!!!

gsamu@reform:~$ cd /etc/u-boot-menu/conf.d/
gsamu@reform:/etc/u-boot-menu/conf.d$ cat reform.conf

the content of this file is auto-generated by reform-display-config

U_BOOT_FDT_DIR=“/dtbs/”
U_BOOT_FDT=“/freescale/imx8mq-mnt-reform2.dtb”
gsamu@reform:/etc/u-boot-menu/conf.d$ sudo u-boot-update
P: Checking for EXTLINUX directory… found.
P: Writing config for vmlinuz-6.19.11-mnt-reform-arm64…
P: Writing config for vmlinuz-6.19.10-mnt-reform-arm64…
gsamu@reform:/etc/u-boot-menu/conf.d$ cat /boot/extlinux/extlinux.conf

/boot/extlinux/extlinux.conf



IMPORTANT WARNING



The configuration of this file is generated automatically.

Do not edit this file manually, use: u-boot-update

default l0
menu title U-Boot menu
prompt 1
timeout 1

label l0
menu label Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64
linux /vmlinuz-6.19.11-mnt-reform-arm64
initrd /initrd.img-6.19.11-mnt-reform-arm64
fdt /dtbs/6.19.11-mnt-reform-arm64//freescale/imx8mq-mnt-reform2.dtb

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1

label l0r
menu label Debian GNU/Linux forky/sid 6.19.11-mnt-reform-arm64 (rescue target)
linux /vmlinuz-6.19.11-mnt-reform-arm64
initrd /initrd.img-6.19.11-mnt-reform-arm64
fdt /dtbs/6.19.11-mnt-reform-arm64//freescale/imx8mq-mnt-reform2.dtb
append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1 single

label l1
menu label Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64
linux /vmlinuz-6.19.10-mnt-reform-arm64
initrd /initrd.img-6.19.10-mnt-reform-arm64
fdt /dtbs/6.19.10-mnt-reform-arm64//freescale/imx8mq-mnt-reform2.dtb

append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1

label l1r
menu label Debian GNU/Linux forky/sid 6.19.10-mnt-reform-arm64 (rescue target)
linux /vmlinuz-6.19.10-mnt-reform-arm64
initrd /initrd.img-6.19.10-mnt-reform-arm64
fdt /dtbs/6.19.10-mnt-reform-arm64//freescale/imx8mq-mnt-reform2.dtb
append   ro no_console_suspend cryptomgr.notests plymouth.ignore-serial-consoles pcie_aspm=off ${bootargs} console=tty1 single

The system now boots up without trying to force single user mode. But I still note that the reform-hw-setup service fails.

gsamu@reform:/etc/u-boot-menu/conf.d$ cd ~/
gsamu@reform:~$ sudo systemctl status reform-hw-setup
× reform-hw-setup.service - MNT Reform Hardware Defaults Setup
Loaded: loaded (/usr/lib/systemd/system/reform-hw-setup.service; enabled; preset: enable>
Active: failed (Result: exit-code) since Sun 2026-04-12 08:52:30 EDT; 8min ago
Invocation: 16c0dee2f3c944cb83bbe49755c95879
Docs: man:reform-hw-setup(1)
Process: 761 ExecStart=/usr/bin/reform-hw-setup (code=exited, status=1/FAILURE)
Main PID: 761 (code=exited, status=1/FAILURE)
Mem peak: 2.2M
CPU: 62ms

Apr 12 08:52:30 reform systemd[1]: Starting reform-hw-setup.service - MNT Reform Hardware Def>
Apr 12 08:52:30 reform reform-hw-setup[774]: Invalid card number ‘0’.
Apr 12 08:52:30 reform systemd[1]: reform-hw-setup.service: Main process exited, code=exited,>
Apr 12 08:52:30 reform systemd[1]: reform-hw-setup.service: Failed with result ‘exit-code’.
Apr 12 08:52:30 reform systemd[1]: Failed to start reform-hw-setup.service - MNT Reform Hardw>
gsamu@reform:~$. 

And as far as I can tell, accelerated graphics aren’t working …

gsamu@reform:~$ sudo dmesg |grep drm
[    6.014318] nwl-dsi 30a00000.dsi: [drm:nwl_dsi_probe [nwl_dsi]] Using DCSS as input source
[    6.522420] nwl-dsi 30a00000.dsi: [drm:nwl_dsi_host_attach [nwl_dsi]] lanes=4, format=0x0 flags=0x1
[    6.552926] [drm] Initialized imx-dcss 1.0.0 for 32e00000.display-controller on minor 0
[    6.690528] imx-dcss 32e00000.display-controller: [drm] fb0: imx-dcssdrmfb frame buffer device
[   22.594033] systemd[1]: modprobe@drm.service - Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm
gsamu@reform:~$ lsmod |grep etnaviv
etnaviv               122880  0
gpu_sched              57344  2 etnaviv,panfrost
gsamu@reform:~$ ls -laR /dev/dri
/dev/dri:
total 0
drwxr-xr-x   3 root root      80 Apr 12 08:52 .
drwxr-xr-x  17 root root    3620 Apr 12 08:52 ..
drwxr-xr-x   2 root root      60 Apr 12 08:52 by-path
crw-rw----+  1 root video 226, 0 Apr 12 08:54 card0

/dev/dri/by-path:
total 0
drwxr-xr-x 2 root root 60 Apr 12 08:52 .
drwxr-xr-x 3 root root 80 Apr 12 08:52 ..
lrwxrwxrwx 1 root root  8 Apr 12 08:52 platform-32e00000.display-controller-card → ../card0


The output of aplay follows:

gsamu@reform:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 [HiFi wm8960-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Yes, your extlinux.conf looks much better now. You could run sudo reform-check again to verify that indeed you are booting with the device tree configuration that you configured with reform-display-config.

If you like, I can attribute you in the git commit fixing this issue in reform-tools in a Reported-By field. Under which identify would you like to be attributed? Just gsamu or should I write a firstname/lastname and/or email there? This is optional and I just want to offer you this as the one who reported this issue and verify the fix.

This is odd, because your aplay -l output shows that you have a card with id 0. Can you run sudo sh -x /usr/bin/reform-hw-setup and pastebin the output somewhere so that we can make sure that the error message comes from the amixer command?

This is yet another problem which we already talked about in the other thread with @austriancoder and which we didn’t finish track down.

This message probably appears because the kernel config contains CONFIG_DRM=y so there is no drm module to load because the feature is built-in.

The absence of /dev/dri/renderD128 is odd. Maybe @minute has an idea of how to further debug this issue?

Hello @josch

I’m pretty certain along the way I switched back to single display. As I tried this numerous times over the days leading up to where we are. Here is the output of reform-check:

gsamu@reform:~$ sudo reform-check
[sudo] password for gsamu:
I: Contents of /proc/device-tree/model: MNT Reform 2
I: uname -a output: Linux reform 6.19.11-mnt-reform-arm64 #1 SMP PREEMPT Debian 6.19.11-1+reform20260409T045900Z (2026-04- aarch64 GNU/Linux
I: Version of linux-image-mnt-reform-arm64: 6.19.11-1+reform20260409T045900Z
I: Version of reform-tools: 1.86-1+reform20260327T215213Z+1
I: Version of system image: System Image v5: 2026-01-27
I: Version of LPC firmware: MREF2LPC R3 3cc6fbb
I: Version of upstream U-Boot: 2018.07
I: Version of MNT U-Boot: 2026-01-11
I: probably booting via /boot/extlinux/extlinux.conf (/boot/boot.scr also exists)
I: Mount source of /: /dev/reformvg/root (LVM vg ‘reformvg’ on LUKS device ‘reform_crypt’ on SSD)
I: Mount source of /boot: /dev/mmcblk0p1 (eMMC)
I: the following files differ from how they are shipped by reform-tools (ignore /var/lib/alsa/asound.state):
??5???   /var/lib/alsa/asound.state
I: the reform-qcacld2 package is only required for wifi on the Pocket Reform with i.MX8MP, you can safely remove it unless you plan to go back to the imx8m+
I: Install the package shellcheck for checking /boot/boot.scr for problems
W: reform-setup-wizard failed to clean up /etc/profile.d/reform-setup.sh. It can be safely removed.
W: unexpected content in /etc/u-boot-menu/conf.d/reform.conf:
— -	2026-04-12 10:18:42.603048843 -0400
+++ /etc/u-boot-menu/conf.d/reform.conf	2026-04-12 08:46:55.050919875 -0400
@@ -1,2 +1,3 @@

the content of this file is auto-generated by reform-display-config

-U_BOOT_FDT=/freescale/imx8mq-mnt-reform2.dtb
+U_BOOT_FDT_DIR=“/dtbs/”
+U_BOOT_FDT=“/freescale/imx8mq-mnt-reform2.dtb”
W: re-run reform-display-config for the corrent content
I: eMMC contains the latest bootloader version 2026-01-11

As for giving an attribute to me, I don’t feel like I did anything except cut and paste output. But it’s a nice offer. It can just be attributed to my full name: “Gabor Samu”.

The output of reform-hw-setup follows. As an aside, I believe I had audio working on sites like YouTube previously.

gsamu@reform:~$ sudo sh -x /usr/bin/reform-hw-setup

set -eu

[ 0 -gt 0 ]

id -u

[ 0 -ne 0 ]

cat /proc/device-tree/model

[ ! -e /sys/bus/i2c/drivers/wm8960/2-001a ]

test -e /sys/bus/i2c/drivers/wm8960/2-001a

init_wm8960 0

amixer -c 0 sset Playback 255
Simple mixer control ‘Playback’,0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 255 [100%] [0.00dB]
Front Right: 255 [100%] [0.00dB]

amixer -c 0 sset Left Output Mixer PCM on
Simple mixer control ‘Left Output Mixer PCM’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]

amixer -c 0 sset Right Output Mixer PCM on
Simple mixer control ‘Right Output Mixer PCM’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]

amixer -c 0 sset Left Input Mixer Boost on
Simple mixer control ‘Left Input Mixer Boost’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]

Just a quick follow-up up note on this to understand if you have any suggestions @josch or @minute @austriancoder

I’m debating whether to move back to the V3 image which I don’t believe exhibited the same behavior. As it is, my system is very slow to use especially for browsing. And ptyxis also seems to consume a lot of CPU as I think it expects accelerated graphics.

Thanks to everyone for their input so far.

If you don’t have the render node, it means that etnaviv is not probing. Any output for dmesg | grep -i etnaviv?

Also, I need (as root), the output of cat /sys/kernel/debug/devices_deferred, please. I suspect that some new imx-related kernel config didn’t get picked up by Debian or something like that, and that some drivers are waiting for another driver/node that isn’t loaded. There was a similar issue on imx8mplus recently where a new bus driver wasn’t in the config (AIPSTZ).

Lucie, here is the information requested. Note that dmesg didn’t show any messages.

gsamu@reform:~$ sudo dmesg |grep -i etnaviv

gsamu@reform:~$ lsmod |grep -i etnaviv

etnaviv               122880  0

gpu_sched              57344  2 etnaviv,panfrost

gsamu@reform:~$ sudo cat /sys/kernel/debug/devices_deferred

38300000.video-codec platform: supplier 38320000.blk-ctrl not ready

38310000.video-codec platform: supplier 38320000.blk-ctrl not ready

imx-pgc-domain.6 platform: wait for supplier /soc@0/bus@30800000/i2c@30a20000/i2c-mux@70/i2c@2/regulator@60

38320000.blk-ctrl platform: supplier imx-pgc-domain.6 not ready

imx-pgc-domain.5 platform: wait for supplier /soc@0/bus@30800000/i2c@30a20000/i2c-mux@70/i2c@2/regulator@60

cpufreq-dt

38000000.gpu platform: supplier imx-pgc-domain.5 not ready

gsamu@reform:~$ 

Thank you for chiming in! I would like to use your suggestions of how to debug this issue as more areas for where reform-check can help identifying problems early. Maybe reform-check should process /sys/kernel/debug/devices_deferred.

As for the supplier 38320000.blk-ctrl not ready and supplier imx-pgc-domain.6 not ready messages, I can confirm that we have both of these in the kernel config:

CONFIG_IMX8M_BLK_CTRL=y
CONFIG_IMX_GPCV2_PM_DOMAINS=y

I built a system image with Linux 7.0 (still in experimental), flashed it to an SD-card and booted it. You can try it out yourself by flashing it using bmaptool:

sudo bmaptool copy https://source.mnt.re/josch/reform-system-image/-/jobs/19690/artifacts/raw/reform-system-any.img.gz /dev/mmcblkX

(change /dev/mmcblkX to the correct device)

When booting that system, I have /dev/dri/renderD128 and direct rendering with no problems.

I also tried the latest system image from MNT gitlab CI (which is one month old and comes with kernel 6.18) and had no problems either.

I upgraded that system to 6.19 and ran into the problem that somehow this set my brightness down to zero but after setting that back to 100 there was no problem with 6.19 on imx8mq either.

So in summary, I failed to reproduce your issue with a fresh system image.

Your reform-check output says that your current system is from a system image dated 2026-01-27 which is also quite new and should not suffer from any old cruft.

Just for fun, could you try with any of the vanilla system images (maybe try 7.0 using the link above because then we are not testing software from a month ago) flashed to an sd-card, boot that and see if you still have the same effect?

@josch I can likely only test late Sunday as I’m away from my home at the moment.