= MicroWindows = [[TOC(Packages/MicroWindows, depth=2)]] This page provides a description of !MicroWindows and instructions on how to build it and use it in your application. = Description = [http://www.nanogui.org/ Nano-X ] is an Open Source project aimed at bringing the features of modern graphical windowing environments to smaller devices and platforms. The Win32/WinCE API implementation is known as !Microwindows, and the Xlib-like API implementation is known as Nano-X. (The project was renamed from !MicroWindows to Nano-X in 2005 to avoid any trademark disputes with Microsoft's Windows.) The [wiki:TBR/UserApp/TCB-2 TCB-2], [wiki:TBR/UserApp/Fonix7000 Fonix7000] and [wiki:TBR/UserApp/AMV_Technic_I AMV TECHNIC I] are three examples of RTEMS-based products also using !Microwindows and Nano-X. More versions of !MicroWindow/Nano-X graphic libraries have been adapted for RTEMS and are actively used. Additional resources for whole set of graphics libraries and support including actual versions of !MicroWindows are documented at [wiki:Projects/GraphicsToolkit RTEMS Graphics Toolkit] page. = Building !MicroWindows = Latest sources from !MicroWindows/Nano-X repository git clone git://microwindows.org/microwin microwin Sources with some RTEMS updates included git clone -b rtems-ppisa git://github.com/ppisa/microwindows.git microwin Configure for RTEMS {{{ cd src cp Configs/config.rtems config }}} Select tool-chain and directories for desired RTEMS target system in config file. There is example of changes used for [wiki:TBR/BSP/Csb336 ARM CSB336 BSP] {{{ RTEMSTOOLSPREFIX = arm-rtems4.10- GRAYPALETTE = Y FBVGA = N HAVETEXTMODE = N NOMOUSE = Y RTEMS_BUILD = /opt/rtems4.10 RTEMS_BSP = csb336 RTEMS_TARGET = arm-rtems4.10 }}} Then regular make clean and make all can be used to build libraries. The latest !MicroWindows/Nano-X GIT version does not support well monochromatic displays with BPP smaller than 8. When support of BPP 1, 2, 4 is required it is safer to stay with older !MicroWindows release. This is the case of [wiki:TBR/UserApp/AMV_Technic_I AMV TECHNIC I] system. Patches used to configure and build suitable !MicroWindows version for that project together with corrections of native build under X for 64-bit Linux systems and cleaning some 16-bit integer incompatibilities for H8S targets can be found in next archive [http://cmp.felk.cvut.cz/~pisa/rtems/microwin-081202-patches.tar.gz http://cmp.felk.cvut.cz/~pisa/rtems/microwin-081202-patches.tar.gz] This older version of !Microwindows/Nano-X with RTEMS patches is archived in microwin-080122-ppisa of the [https://github.com/ppisa/microwindows/tree/microwin-080122-ppisa repository on GitHub]. The patch series includes even implementation of minimal screen driver (mwin-driver-mx1sl.patch) for frame-buffer accessible directly at fixed address in application memory map. = Using !MicroWindows in an Application = TBD - include configuration details and hints on where to start