linguini1 commented on code in PR #19572:
URL: https://github.com/apache/nuttx/pull/19572#discussion_r3820281480


##########
Documentation/applications/graphics/microwindows/index.rst:
##########
@@ -0,0 +1,226 @@
+.. _applications_graphics_microwindows:
+
+Microwindows
+============
+
+Microwindows is a lightweight windowing system for small- to medium-footprint
+embedded systems.  It provides:
+
+- **GDI / Win32 API** -- a low-level C graphics library for direct framebuffer
+  drawing, suitable for tiny single-threaded applications.
+- **mwin** -- a widget toolkit built on the Win32 API, supporting windows,
+  menus, buttons, edit boxes, list boxes, scroll bars, progress bars, and
+  timers.
+- **Nano-X / X11 API** -- an X11-compatible client/server window system (not
+  yet enabled for NuttX; work in progress).
+
+Currently the NuttX integration only enables the GDI / Win32 API and the
+mwin widget toolkit.  The Nano-X server and X11 client libraries are part of
+the upstream project but are not yet wired into the NuttX build.
+
+Quick Start
+===========
+
+Microwindows requires a framebuffer device (``CONFIG_VIDEO_FB=y``).
+
+QEMU x86-64
+-----------
+
+The ``qemu-intel64:mw`` configuration uses the Multiboot2 framebuffer,
+a USB HID keyboard in event mode (``/dev/kbda``), and a USB HID mouse::
+
+   cd nuttx
+   tools/configure.sh qemu-intel64:mw
+   make -j$(nproc)
+
+The build produces a flat ``nuttx.elf`` image.  To run it on QEMU you need a
+bootable ISO with GRUB2.  See :doc:`/platforms/x86_64/intel64/index` for the
+step-by-step procedure.  In short:
+
+#. Create the ISO directory structure::
+
+      mkdir -p iso/boot/grub
+
+#. Write ``grub.cfg``::
+
+      echo 'set timeout=0'          > iso/boot/grub/grub.cfg
+      echo 'set default=0'         >> iso/boot/grub/grub.cfg
+      echo 'menuentry "kernel" {'  >> iso/boot/grub/grub.cfg
+      echo '  multiboot2 /boot/nuttx.elf' >> iso/boot/grub/grub.cfg
+      echo '}'                     >> iso/boot/grub/grub.cfg
+
+#. Copy ``nuttx.elf`` and create the ISO::
+
+      cp nuttx.elf iso/boot/
+      grub-mkrescue -o boot.iso iso
+
+#. Run QEMU (omit ``-nographic`` so the framebuffer window opens)::
+
+      qemu-system-x86_64 -cpu host -enable-kvm -m 2G -cdrom boot.iso
+
+The pre-built config sets ``CONFIG_INIT_ENTRYPOINT="mwdemo_main"`` so the
+demo starts immediately.
+
+Simulator
+---------
+
+The ``sim:mw`` configuration uses the virtual keyboard, touchscreen, and
+X11-based framebuffer::
+
+   cd nuttx
+   tools/configure.sh sim:mw
+   make -j$(nproc)
+
+This builds a host-native ``./nuttx`` binary that opens an X11 window.
+Keyboard input goes to the window that has focus; touch events are generated
+by mouse clicks within the window.
+
+See also the respective board documentation for configuration details:
+
+* :doc:`/platforms/sim/sim/boards/sim/index` — ``sim:mw`` configuration
+* :doc:`/platforms/x86_64/intel64/boards/qemu-intel64/index` — 
``qemu-intel64:mw`` configuration

Review Comment:
   This specific information should be under the board pages.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to