Hi Tim, About your progress with fbcon, just realized you created it as an application, do you think it could be part of the kernel (like in Linux) ?
This way it could be used to print the initialization messages from the kernel too. Sometime ago we discussed the idea of adding a boot logo to NuttX, like in Linux. Maybe fbcon could be a start. I think the nxterm could work for your purpose, but it will increase the final firmware size (in case of NXBoot usage). BR, Alan On Wed, Mar 12, 2025 at 7:12 AM Tim Hardisty <timhardist...@gmail.com> wrote: > Thanks Greg. I have allowed myself to get carried away I think. > > * I wanted stdout and stderr to render on a FB to display basic > messages during bootloading (MCUboot) > * There were FBtext examples but not quite what I wanted > * There is LVGLterm - again, not quite what I wanted but food for thought > * NxTerm seemed overkill for my needs. Perhaps I was wrong, but... > * I created an "FBcon" app that successfully pipes stdout and stderr > to a FB, using NXGL font and font rendering functions and spawns a > task/app configured via Kconfig (e.g. mcuboot) > * Moved on a step to think "what about stdin...and got bogged down in > VT100 as a spawned NSH from my "FBcon" was full of them, which I > decoded, but have been suffering anomalies. > > So... > > For an FB console proper, I don't want to reinvent the wheel and NxTerm > is probably just fine, should I need this. > > The question now is perhaps better rephrased as: > > /What is a good, lightweight, and "consistent with NuttX principles" > way to add text rendering to a FB device to allow the rendering of > text (e.g. stdout) to it. Is it:/ > > 1. /Code, based on existing, added to my mcuboot "app" to handle > the redirects? In other words, largely what I have written, > within my own app, and nothing to do with NuttX or NuttX-apps? > / > 2. /An example app that does stdin/stdout redirection and spawns a > task - a combination of LVGLterm and NXGL functions - as per > what I have working (with the stdin stuff removed. I can tidy it > up and submit as a PR > / > 3. /Perhaps a new FB-based character driver where the write > function takes and handles characters and renders as pixels./ > 4. /IOCTL to the existing FB-based driver to take text and render > it, or some variation on that theme. > / > 5. /Something else?/ > > On 12/03/2025 03:16, Gregory Nutt wrote: > > NxConsole is a related feature based on an NxTerm. It takes I/O from > > /dev/console so provides an NSH shell on a framebuffer. > > > > There are several screenshots of an NxConsole (running under the NxWM > > window manager) here: > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629473&preview=/139629402/140774634/NxWM-ScreenShots.pdf > > > > On 3/11/2025 5:38 PM, Gregory Nutt wrote: > >> Sounds like you need an nxterm. An nxterm is the logical counterpart > >> to an xterm. You can find it at nutts/grapphics/nxterm. > >> > >> It supports echoing text in a framebuffer and quite a few VT100 > >> keyboard inputs. There are all also lots of example to illustrate > >> building and using it. It hasn't been used in a long time so I can't > >> guarantee its current state. > >> > >> There is a lot of discussion in Confluence as well. This is probably > >> to the point: > >> https://cwiki.apache.org/confluence/display/NUTTX/NxTerm+Example > >> > >>