On 6/13/2024 8:32 PM, Gregory Nutt wrote:
On 6/13/2024 11:56 AM, Gregory Nutt wrote:
Changing the existing driver interface would break the NX graphics.
NX graphics is mis-named. It is not a graphics system like LVGL, but
a windowing system like X. Whatever you do should not break the
windowing system and, in fact, really should optionally integrate
with the windowing system.
There is some graphics support in apps/ now (called NxGraphics), but
that was never really fully developed. LVGL has the better 2D
graphics. NxGraphics can provide a Z-axis as well if properly
integrated with LVGL. There are several examples of window managers
that run on top of NX graphics NxTerms, NxWM, a tiny port of a
TWM-like window manger called Twm4Nx. These must not be broken.
So you have a few options: (1) Provide dual graphics that are
completely separate so that the existing graphic framework is not
trashed. That would not be cool. Or (2) Integrate LVGL with NX
Windows, or (3) both. Then you could have multiple LVGL windows..
which is really pretty cool. There would possible be some
performance hit, however. The simplest LVGL integration would be to
use per Window framebuffers. The current framebuffer driver supports
the whole screen. That is not the way other graphic systems work.
Rather they provide a framebuffer per Window. That naturally
supports Windows and cleanly provides multi-threaded access to the
display.
Here are URLs to some relevant documentation. I may or may not have
ever been leveraged into nuttx/Documentation.
*
https://cwiki.apache.org/confluence/display/NUTTX/Framebuffer+Character+Driver
* https://cwiki.apache.org/confluence/display/NUTTX/NX+Graphics+Subsystem
* https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629474
* https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629473
A couple more references that most people are not aware of:
* https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629398
* https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629401