Coriander : Docker

Around 2018 most debian-based distribution have seen Gnome2 support removed entirely. Why oh why? I can still run xfig or xv on recent distros, but for some reasons Gnome likes obsolescence. Needless to say I will switch to a more professionally-minded UI toolkit like Qt or wxwidgets for future projects. What it means is that Coriander support (and thus IIDC cameras on linux in general) is just gone on recent distributions, and you will indeed not see DEB files in the repositories anymore. So what do? Docker to the rescue! :-)

After installing docker all you need are two files to get you going: the Dockerfile and a convenience script to launch coriander. Well, that and coriander and libdc1394 sources, although you could adapt the Dockerfile to use older standard DEB files.

Setup

  1. Create a directory named "ubuntu14.04". I used this older distro but you can use 18.04 too. CD to that directory.
  2. In that directory, copy a source tarball of libdc1394 and coriander. Also copy the Dockerfile and a convenience script.
  3. Edit the Dockerfile and adapt it to your machine. Specifically:
    • Select the Ubuntu version you want (or change to debian etc...). The Dockerfile sample is for 14.04, other adaptations may be necessary if you want another distro.
    • Change and to your group name and user name on your host machine.
    • Change and to your group and user IDs on your host machine.
    • Change the libdc1394 and coriander revisions to what you are actually using.
    • Run 'xauth list' on your host and adapt the line that adds the MIT-MAGIC-COOKIE to reflect the output of the command.
  4. Build the image with 'docker build --progress=plain -t ubuntu14.04 .' This can take a bit of time as many packages need to be downloaded.
  5. Edit the coriander.sh script:
    • Update the user ID, group ID, username and home directories as needed. Note that your host home directory will be used as the home directory for your Docker image, that way you can have your config files etc all used transparently.
    • Add/remove the firewire devices as needed. The script has /dev/fw0 thru /dev/fw2 because I have 3 cards in my machine, but your host may have different cards. Check the /dev/ directory on your host.
    • The /dev/bus/usb device can be removed if you do not plan to use IIDC-USB cameras (Point Grey Research).

Usage

Simply run './coriander.sh' on your host and if everything worked you should have a good old Gnome2 window popping up. If not some debugging will be required. Do contact me if you find that parts of these instructions are obscure, incorrect or if you have other improvement suggestions.