Request for help: reform-tools 1.35 release

Hi,

I’d like to try something new for the next reform-tools release. The Reform now supports seven different CPU Modules and as a result my test matrix somewhat grows out of hand. I have my A311D reform which I’m not using for testing because I need it working to write the code in the first place. I have another motherboard with LS1028A but since I don’t have a second display or keyboard attached to it, I cannot use that to check whether the display comes on or the keyboard OLED shows the right things. And I don’t have my IMX8MQ anymore so I cannot test my changes on it. Here is where you potentially come in. If you have some free time and would like to help me with the next release of the reform-tools package, I prepared a reform-system-image with reform-tools 1.35 here:

https://source.mnt.re/reform/reform-system-image/-/jobs/3534/artifacts/browse

Potential things to test:

  • on imx8mq, install clapper and check that your gstreamer version is indeed >= 1.24 and check if 1080p playback works fine
  • run reform-check and see if there is any strange output
  • on imx8mq, delete /usr/share/initramfs-tools/scripts/init-top/reform and then run update-initramfs -u and reboot and see if your display comes on or not

If you have a spare SSD around or if your Reform is not your main machine and just used to tinker and does not contain data you want to keep, you can also try running the various reform-* tools because in this release I refactored all of them, so there likely will be bugs!

If you are very brave, instead of flashing a system image to SD-card you can also try out the new release by adding this to your /etc/apt/sources.list and upgrade:

deb [trusted=yes arch=arm64] https://source.mnt.re/reform/reform-debian-packages/-/jobs/3463/artifacts/raw/repo/ reform main

The new features of the next reform-tools version are collected in this MR:

  • Add support for pocket+imx8mp, pocket+a311d and rk3588
  • bin/reform-check: check if reform2_lpc is loaded
  • sbin/reform-boot-config: do not fail if /boot is not mounted
  • sbin/reform-boot-config: make --help output dependent on the platform
  • debian/control: add Testsuite: autopkgtest-pkg-dkms
  • initramfs-tools/hooks/reform: warn instead of error if platform unknown
  • sbin/reform-flash-uboot: forbid flashing u-boot to emmc on A311D and LS1028A
  • initramfs-tools/scripts/reform: only manually modprobe on imx8mq and ls1028a
  • remove X11 settings for etnaviv – this removes /etc/X11/xorg.conf as well as /usr/share/X11/xorg.conf.d/10-reform-etnaviv.conf

A final warning: please only try this out if you know what you are doing or have no data to loose. I’m writing all this code to the best of my abilities but while I already did some rough tests on my LS1028A, there will very likely be very many bugs in it.

Thanks!

4 Likes

I’ve got two reforms and will re-install my IMX8MQ this weekend in one of them & try the above out if no one beats me to it.

That being said I don’t claim to be an expert, but I don’t have data to lose :wink:

I’ll take the update sources.list route first and see where that gets me.

Those artifacts were deleted. I’m using job 3497 to test, and it still seems to have reform-tools 1.34.

Thank you for notifying me of their removal. Indeed the page of the job says “The artifacts were removed 7 hours ago”. I don’t understand why. If I understand the gitlab settings, they should only be removed after 30 days. Do you have any idea why this removal happened, @minute? I’ll trigger a new job and post the link here once it’s done.

The artifacts were set to be removed when newer artifacts were generated by a subsequent run of the same job. Job #3497 ran and produced new artifacts, so the old ones were removed.

Pipeline #1768 is running now, so once the reprepo job completes, its artifacts will be there and job #3497 artifact will be deleted.

If you have a set you want to persist, navigate to the job output page (e.g. reprepro (#3497) · Jobs · Reform / reform-debian-packages · GitLab ) and on the right-hand side, under Job Artifacts, click Keep.

The artifacts were set to be removed when newer artifacts were generated by a subsequent run of the same job

Thank you but this confuses me. The job that ran after that was from the same branch, yes, but it was run with different variables. I added support for running jobs with variables specifically so that I don’t have to create a new branch for every run with a variable set to a custom value. If a run of the same branch with different variables overwrites a prior job of that branch, I have to create a new branch for each variable setting after all. :frowning:

and on the right-hand side, under Job Artifacts, click Keep.

I saw that button but I do want the artifacts to expire (after 30 days) instead of me having to delete them manually. I don’t want the artifacts to stay forever. So I’m hesitant to click the button as it means I also have to clean things up later. And in that case I can as well create a new branch for every custom variable setting… :confused:

this works (clapper 0.5.2-8, gstreamer 1.24.0-1)

No weird output, just diffs between stock config and my local changes.

I tried this and my display did indeed come on.

this works (clapper 0.5.2-8, gstreamer 1.24.0-1)

Thank you!! Can you install youtube-dl (or yt-dlp these days) and check what happens if you try playing something from youtube or twitch or similar? Do you see any issues like that the resolution is always too low?

I tried this and my display did indeed come on.

Perfect! What kernel version are you on?

Thanks a lot!! :heart:

I downloaded some stuff with yt-dlp and everything seemed to play normally. I was able to skip around in videos and it was fine. I don’t normally use yt-dlp so there might be some common usage I’m not familiar with.

6.7.9-reform2-arm64

Did you download it to create a local file or did you use it to stream the video? To test for regressions, it is important to not download the video to your local storage before playing it. If you have the yt-dlp binary in your $PATH then mpv should pick it up automatically and you can just run:

mpv https://youtu.be/...

I don’t normally use yt-dlp so there might be some common usage I’m not familiar with.

Can you skip close to the end of the video and make sure that the last 2-3 seconds are playing or whether they are cut off?

6.7.9-reform2-arm64

Great, I disabled manual modprobing completely.

reform-tools 1.35 is now in the official MNT repo at Index of /reform-debian-repo/

As usual, if you see any bugs after upgrading, do not hesitate to report them. :slight_smile:

I both downloaded one and played it with clapper and then streamed one to stdout and played that with clapper - on the other end of a pipe. Both worked, although seeking too far backwards in the video caused clapper to freeze. I’ll test again with mpv.

I’ll test this as well.