GithubHelp home page GithubHelp logo

vagrant-gimp's Introduction

DEPRECATED

This project has been migrated to GNOME GitLab under World/gimp-ci. Refer to the documentation repository for better information. If you just want to build GIMP, then check out the GIMP development environment based on Docker. The Docker environment also allows you to run GIMP if you have Xorg display; instructions therein.

GIMP Development Environment

Welcome! This development environment is meant to get you up and running fast. This environment is intended for development of the GNU Image Manipulation Program or GIMP for short.

This repository assumes you already have Vagrant installed and VirtualBox installed.

Prerequisites

Required software

System requirements

Requirements are based on the final size after provisioning the VM and compiled GIMP.

Minimum:

  • 64-bit single-core processor
  • 6GB hard disk space
  • 4GB RAM - this can be lowered by adjusting the Vagrantfile.
  • 10Mbps internet connection - slower internet means provisioning will take hours

Recommended:

  • Multi-core 64-bit processor with Intel VT-x or AMD-V extensions
  • 10GB hard disk space
  • 16GB RAM
  • 20Mbps or higher internet connection seems to be the limits of how fast Debian packages will download from mirrors.

See Tips and Tricks (documented below) for getting more performance out of the VM. I recommend leaving at least 2GB of RAM for your operating system and other applications.

Provision development environment

git clone https://github.com/samrocketman/vagrant-gimp.git
cd vagrant-gimp
vagrant up

When the provisioning is done you should reload to get a desktop environment.

vagrant reload

Control development environment

To get the current status of your virtual machine execute the following.

vagrant status

To poweroff the virtual machine execute the following.

vagrant halt

Use vagrant up to power on the development environment.

Log in

Then log in with the user vagrant and password gimp.

Alternatively, open a terminal and execute the following.

vagrant ssh

Build GIMP

After the environment first loads it should be ready to build GIMP. There should the following files and directories in the vagrant user.

  • ~/gimp-git - contains all of the output from the gimp build.
  • ~/gimp-git/share/config.site - a file containing variables used by the build process.
  • ~/git/babl - source code of BABL
  • ~/git/gegl - source code of GEGL
  • ~/git/gimp - source code of GIMP
  • ~/build-gimp.sh - a script to compile BABL, GEGL, and GIMP all at once.

To build GIMP either open a terminal from the GUI or launch vagrant ssh. Then execute the following command from the vagrant home directory.

./build-gimp.sh

When the process is done, GIMP should be built. Simply execute gimp-2.9 from a terminal to start the latest development build of GIMP.

The binary is located in ~/gimp-git/bin/gimp-2.9.

Development resources for GIMP

GIMP Development Resources:

Plugin Development:

Tips and Tricks

More performance

Currently the vagrant box is relatively low spec with the default 8MB video RAM, 2048MB RAM, and 1 CPU core. The build-gimp.sh script will automatically take advantage of more cores to build GIMP faster. Just edit the Vagrantfile file and update the following settings.

# Customize the VM specs (memory values in MB)
vb.memory = "8192"
vb.customize ["modifyvm", :id, "--vram", "128"]
vb.cpus = "8"

VirtualBox Guest Additions

Why VirtualBox guest additions? The VM becomes more performant. If you're using a graphical UI then it will autoscale when you fullscreen the virtual machine. Shared clipboards can also be enabled. These features are useful when developing software inside a VM.

A script for installing VirtualBox guest additions has been provided. From within the VM simply call:

/vagrant/setup/vbox-guest-additions/install.sh

One can override the version of guest additions being installed. The version of guest additions should match the version of VirtualBox installed on the host system.

vbox_version=5.0.12 /vagrant/setup/vbox-guest-additions/install.sh

vagrant-gimp's People

Contributors

samrocketman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.