MiniGUI® A mature and proven cross-platform GUI system for embedded and smart IoT devices.

Highlights


Open Source for 20 Years

Twenty years have passed since MiniGUI was launched at the end of 1998.

Learn more

Massive use in the industry

MiniGUI is widely used in consumer electronics and industrial instrumentation.

Learn more

Flexible and scalable

The abundant functions and configurability of MiniGUI makes it applicable in a low-end device based on CPU running at 30MHz, as well as a high-end device with GPU.

Learn more

Live Demo

Run MiniGUI demos in place

The demos are running on a Linux server, and using WebSocket to exchange the data with your browser.
Note that some animation effects may not be rendered in time due to the slow network.
Please use a latest HTML5 browser (recommended to use Chrome) on PC to play the demos.

mGUXDemo

A large screen with touch panel

Joopic CBPlus (Comming soon)

A small screen with touch panel

Quick Start


0 - Prerequisites

This instruction assumes that you are using Ubuntu Linux 16.04 LTS. Please make sure that you have installed the following packages:

  • Building tools:
    • git
    • gcc/g++
    • binutils
    • autoconf/automake
    • libtool
    • make
    • cmake
    • pkg-config
  • Dependent libraries:
    • libgtk2.0-dev
    • libjpeg-dev
    • libpng12-dev
    • libfreetype6-dev
    • libsqlite3-dev
    • libxml2-dev

Also make sure that you can visit GitHub via SSH and you can do sudo on your Linux box.

1 - Fetch build-minigui-3.2 from GitHub:

    $ git clone git@github.com:VincentWei/build-minigui-3.2.git

2 - Run fetch-all.sh to fetch all source from GitHub:

    $ cd build-minigui-3.2
    $ ./fetch-all.sh

3 - Make and install gvfb:

    $ cd gvfb
    $ cmake .
    $ make; sudo make install
    $ cd ..

4 - Make and install chipmunk library:

    $ cd 3rd-party/chipmunk-5.3.1
    $ cmake .
    $ make; sudo make install
    $ cd ../..

5 - Install MiniGUI resources:

    $ cd minigui-res
    $ ./autogen.sh
    $ ./configure
    $ sudo make install
    $ cd .. 

6 - Run build-all.sh to build all:

    $ ./build-all.sh

7 - Run mguxdemo:

    $ cd /usr/local/bin
    $ ./mguxdemo

When there were some updates in the remote repos, you can run update-all.sh to update them. You can run clean-build-all.sh to uninstall, clean, and re-install them.

Note that you might need to run ldconfig as a super user to refresh the shared libraries cache when running mguxdemo.

Licensing


It's not free for commercial use

MiniGUI and its components are licensed under the GPL license. So any links about MiniGUI must follow GPL. If you cannot accept GPL, you need to be licensed from FMSoft. Read Licensing Policy for more information.

But it's free if you are using SoCs from the following chip vendors: