Compiling Inkscape on Chrome OS

From Inkscape Wiki
Revision as of 20:54, 5 March 2019 by Tweenk (talk | contribs) (→‎Walkthrough)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Chrome OS offers beta support for Linux apps on some Chromebook models starting with version 69. The Linux environment on Chrome OS is called Crostini and is basically a virtual machine that runs Debian with a few custom packages. It can be used to run and develop Inkscape.

Supported hardware

Inkscape can only be compiled on Chromebooks that support Linux apps. There is a list available on the Crostini subreddit's wiki. Pixelbook, Pixel Slate and several other premium Chromebook models are known to work and include both x86-64 and ARM64 models. 32-bit ARM and Intel Chromebooks are not supported.

You will need at least 4 GB of disk space for the Inkscape repository and the intermediate build files, plus some space for the Crostini installation, dependencies and tools. We recommend at least 6 GB of free space.

Walkthrough

This walkthrough assumes you have some familiarity with Linux commands.

  • Modify the APT configuration to include source package repositories. This step is needed to use APT's build-dep command. Open the file /etc/apt/sources.list and duplicate both lines there, then change the first word from deb to deb-src. Example file content after modification:
deb https://deb.debian.org/debian stretch main
deb-src https://deb.debian.org/debian stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb-src https://deb.debian.org/debian-security stretch/updates main
  • Install build dependencies for Inkscape and a few tools.
sudo apt build-dep inkscape
sudo apt install git wget libsoup2.4-dev libgtkmm-3.0-dev libgtkspellmm-3.0-dev
  • Create a new default SSH key: ssh-keygen (you can just hit Enter for every question)
  • Add the newly generated public key to your GitLab account. One way is to use the command cat ~/.ssh/id_rsa.pub, select the text (it is automatically copied to the clipboard) and paste it into the text box on the website.
  • Check out the source in a directory of your choice: git clone git@gitlab.com:inkscape/inkscape.git
    • This will take some time, because the Inkscape repo is multiple gigabytes.
  • Run the GTest download script: ./download-gtest.sh
  • Run CMake: mkdir build && cd build && cmake ..
  • Compile Inkscape: make -j4
  • Install Inkscape: sudo make install
  • Run Inkscape: inkscape
    • Currently, Inkscape will crash when run if it was never installed, but running the binary from the build directory should work after installing it once; you don't need to perform the installation after every build, unless you make significant changes to the installed files.