Building Glimpse

From GlimpseWiki
Revision as of 16:11, 22 September 2019 by TrechNex (talk | contribs) (Typo fix)
Jump to navigation Jump to search


There are several components of the Glimpse source code that must be built in a specific order.

Component Purpose Link
BABL Converts between different image formats and color spaces
MyPaint Provides different different brushes and image editing components
GEGL Core engine for non-destructive image editing and processing. Requires BABL
Glimpse Front end UI wrapper and plug-in framework based on the GNU Image Manipulation Program. Requires GEGL and MyPaint

Release Versioning Scheme

  • Glimpse 0.x releases are always based on the GNU Image Manipulation Program 2.10.
  • Glimpse 1.x releases will be based on the GNU Image Manipulation Program 3.0. See Hard Fork for ideas and mock-ups published on this wiki.
  • Glimpse 2.x releases will be based on a rewrite of the front-end UI and plugin wrapper, but still rely on the same underlying components.

Component Versions

We stick to tagged versions of each component so builds can still be reproduced at a later date. That approach also ensures Glimpse development is never blocked by unanticipated upstream changes.

Release Status GNU IMP BABL MyPaint GEGL Release Date
Glimpse 0.1 In Development 2.10.12 0.1.68 1.3.0 0.4.16 TBD (September 2019)

Version Control

The source code we maintain is available at We currently maintain two locked branches:

Branch name Purpose
main Current stable release code for Glimpse 0.1 (TODO)
dev-g210 Latest development changes based on the GNU Image Manipulation Program 2.10

You should ignore any other branches you see as they will usually be related to a pull request, and as a result they may not build and will usually be deleted once the changes have been merged into the development branch.

We have added the components that Glimpse project does not maintain as git submodules already preset at the correct tagged versions. This is provided for convenience so that you do not need to clone them separately and can have confidence that changes in the upstream "master" branches are not affecting your builds.

Build Tools

Because Glimpse 0.x is forked from the GNU Image Manipulation Program 2.10.12, we use Autotools and other programs contained within the GNU Build System. This also applies to the tagged versions of BABL, MyPaint and GEGL that we rely on.

When the GNU Image Manipulation Program 3.0 is released in 2020, that code will require Meson, an entirely different build system. If you do not stick to tagged releases of the components the Glimpse source code relies on, our documented build instructions will not work.

The Glimpse project and community can offer assistance with the instructions provided on If you choose to follow the upstream documentation instead and run into problems, we may not be able to help you.

Build Steps

The components you need and any additional steps required will vary depending on your computer's operating system. Please read the relevant post that applies to you before proceeding any further:

The order of the build commands you need to run will be the same regardless of your chosen platform. The main differences relate to how you set up your build environment, fetch prerequisite components and determining which environment and build variables you need to set. The essential steps are:

  1. Clone the source code:
  2. git clone
  3. Initialize the submodules inside the cloned directory:
  4. git submodule update --init
  5. Build BABL in the babl folder:
  6. ./
    make && make install
  7. Build MyPaint in the mypaint-brushes and libmypaint folders:
  8. ./
    make && make install
  9. Build GEGL in the gegl folder:
  10. ./
    make && make install
  11. Finally, build Glimpse from the top level of the cloned directory:
  12. ./
    make && make install

If you have already installed Glimpse on your computer and want to keep the configuration files of your self-built copy separate, you can use the --with-gimpdir build flag with during the Glimpse build step:

./ --with-gimpdir=Glimpse/dev

Faster Builds

There are additional optimizations you can optionally make if you want to speed up the build process on your computer.

Removing Documentation

If you already have the stable version of Glimpse installed then you may not necessarily want to rebuild documentation for your own self-built version.

For the GEGL component you could change the step as follows:

./ --enable-gtk-doc-html=no --disable-docs

To achieve the same thing for the Glimpse build step:

./ --disable-gtk-doc

Processing in Parallel

If your computer's CPU has more than one core, you can instruct the build system to run multiple build tasks simultaneously by setting the MAKEFLAGS environment variable:

export MAKEFLAGS=-j4

That example will make use of up to 4 cores in parallel. For an optimal setup ensure you set the number to match the number of cores your CPU actually has.