2.1 LilyDev

“LilyDev” is a custom GNU/Linux operating system which includes all the necessary software and tools to compile LilyPond, the documentation and the website (also see Website work).

Note: LilyDev does not include the software for the Grand Unified Builder – also see Grand Unified Builder (GUB).

While compiling LilyPond on Mac OS and Windows is possible, both environments are complex to set up. LilyDev can be easily run inside a ‘virtual machine’ on either of these operating systems relatively easily using readily available virtualization software. We recommend using VirtualBox as it is available for all major operating systems and is very easy to install & configure.

LilyDev comes in two ‘flavours’: containers and a standard disk image. Windows or Mac OS users should choose the disk image (to be run in a virtual machine), that is the file named lilydev-vm-fedora-VERSION. GNU/Linux users are recommended to choose one of the containers (currently Debian or Fedora), which are smaller in size, lightweight and easier to manage.

Download the appropriate file from here:


Note: Apart from installing and configuring LilyDev in VirtualBox, the rest of the chapter assumes that you are comfortable using the command-line and is intended for users who may have never created a patch or compiled software before. More experienced developers (who prefer to use their own development environment) may still find it instructive to skim over the following information.

If you are not familiar with GNU/Linux, it may be beneficial to read a few “introduction to Linux” type web pages.

Installing LilyDev in VirtualBox

This section discusses how to install and use LilyDev with VirtualBox.

Note: If you already know how to install a virtual machine using a disc image inside VirtualBox (or your own virtualization software) then you can skip this section and go straight to lily-git.

  1. Download VirtualBox from here:

    Note: In virtualization terminology, the operating system where VirtualBox is installed is known as the host. LilyDev will be installed ‘inside’ VirtualBox as a guest.

  2. The disk image you downloaded is in raw format. As VirtualBox does not support the raw format, you’ll have to convert it to VDI format:
    VBoxManage convertfromraw lilydev-vm-fedora-VERSION.raw lilydev-vm-fedora-VERSION.vdi
  3. Start the VirtualBox software and click ‘New’ to create a new “virtual machine”.

    The ‘New Virtual Machine Wizard’ will walk you through setting up your guest virtual machine. Choose an appropriate name for your LilyDev installation and select the ‘Linux’ operating system. When selecting the ‘version’ choose ‘Fedora (64 bit)’. If you do not have that specific option choose ‘Linux 2.6/3.x/4.x (64-bit)’.

  4. Select the amount of RAM you will allow the LilyDev guest to use from your host operating system when it is running. If possible, use at least 700 MB of RAM; the more RAM you can spare from your host the better, although LilyDev will currently use no more than 4 GB (4096 MB) even if you are able to assign more.
  5. In the ‘Hard Disk’ step, you’ll use the VDI file you’ve previously created. You may move it within the virtual machine’s folder already created by the wizard (in GNU/Linux the default should be ~/VirtualBox VMs/NAME). Click on ‘Use an existing virtual hard disk file’ and browse to the VDI file.
  6. Verify the summary details and click ‘Create’, when you are satisfied. Your new guest will be displayed in the VirtualBox window.

    Note: The image can be booted only on EFI, so you must enable it within the virtual machine’s settings – click on System → Motherboard and select ‘Extended features: Enable EFI’.

  7. Click the ‘Start’ button and wait until the login screen appears. You’ll log in as dev user; type the password lilypond. Before starting any work, be sure to complete the next steps.
  8. You might need to change the keybord layout from default US (american) to your national layout. Click on the menu icon on the bottom left, then on Preferences → Keyboard and Mouse → Keyboard Layout: add your layout and then move it up to the list so it will be the default.
  9. Disable the screensaver: click on the menu icon, then on Preferences → Screensaver; in the Mode dropdown menu choose ‘Disable Screen Saver’.
  10. Finally you should run a setup script. Click on System Tools → QTerminal to launch the command line. Then type ./setup.sh to run the interactive script which will set up git and download all the repositories needed to build LilyPond.

Configuring LilyDev in VirtualBox

VirtualBox has extra ‘guest additions’ which although are not necessary to use LilyDev or compile LilyPond, do provide some additional features to your Virtual Machine to make it easier to work with. Such as being able to dynamically resize the LilyDev window, allow seamless interaction with your mouse pointer on both the host and guest and let you copy/paste between your host and guest if needed.

  1. Select the ‘Devices’ menu from the virtual machine window and choose ‘Install Guest Additions...’. This will automount a CD which will prompt you to autorun it. Click OK and follow the instructions. It is recommended to reboot the guest when the installation is complete.

    Other virtualization software will also have their own ‘guest’ additions, follow the normal procedures for your virtualization software with LilyDev as the client.

  2. Restart LilyDev to complete the installation of the guest additions.

    Advanced note: If you do any kernel upgrades, you may need to reinstall the additional software. Just follow the step above again and reboot when the reinstallation is complete.

Other items that may be helpful:

Known issues and warnings

Not all hardware is supported in all virtualization tools. In particular, some contributors have reported problems with USB network adapters. If you have problems with network connection (for example Internet connection in the host system is lost when you launch virtual system), try installing and running LilyDev with your computer’s built-in network adapter used to connect to the network. Refer to the help documentation that comes with your virtualization software.

LilyPond — Contributor’s Guide v2.19.82 (development-branch).