I want to send everyone my best wishes for these holidays, and that you have a nice time with your loved ones. Cheers!
Merry Christmas! 🎄
Merry Christmas, everyone! Thanks for sticking it out here, you all are truly an inspiration.
(BTW, thanks(?) to contracting COVID I am currently confined to my office, so I used the time to get something running on the H616. I'm getting all the way to the BASIC prompt, but I just cannot get the UI scaler to work, so don't hold your breath...)
Merry Christmas. Thank you for making BE! It has brought me many hours of joy.
Here's something to get the new year started:
Running on this:
I still advise against holding your breath. This has:
- no sound
- no input. Or maybe it does. Didn't have time to check.
- no anything, except graphics
- boot times around half a minute
- Linux kernel panics on every other reboot
- Engine BASIC starting two out of three times
- a platform that is infinitely more finicky than the H3
That said, even at this point I have learned a lot about porting the BASIC Engine RX system to another platform:
- Jailhouse works on ARM64 and can run ARM32 payloads there.
- There is a Linux kernel and u-boot that is doped up enough to run on various H616/313/618 systems, cobbled together by this guy: https://github.com/warpme/minimyth2/
- The H616 et al.'s Display Engine 3.3 is similar enough to the H3's DE 2.0 that a lot of the code can be reused. It is also entirely undocumented.
- The DE doesn't like to be reconfigured while it's on. Resetting the whole device, turning it off and then turning it on bit by bit after setting the configuration fixes the scaling artifacts that I've been battling with.
- While it appears to be possible to pull the rug from under a Linux DRM driver without big issues (the driver at some point complains that it doesn't get any interrupts anymore) it is probably a good idea to do all the setup for hardware owned by Engine BASIC in Engine BASIC, lest one wants to run into problems like the one described above. Having working Linux drivers is nevertheless very helpful for figuring out how to initialize a device.
- Some IPs on the H616 and friends are completely different. (the TV encoder, for instance)
- Buildroot doesn't support 64-bit kernels with 32-bit userspace.
- Most importantly: it's possible.
The similarities between the H616 and the H3 help a lot in making it possible; porting it to a different manufacturer's platform would probably be a lot harder.
Another year, another Christmas!
Merry Christmas, everyone! And Happy Holidays!
I hope you spent the night with loved ones, or in peace if you were alone.
Cheers!