Chapter 1. Finding what you need


This chapter lists information about what you need to run gphoto2. This information is intended to assist you in setting up your computer so that you can connect a camera and use libgphoto2 software to download images.

What you need:

  1. A camera and whatever cables (serial RS232, USB, ...) you need to connect your camera to your computer

    A list of currently supported cameras is maintained at


    If you want to use a camera using the USB mass storage protocol, libgphoto2 will not help you. Your operating system already contains an USB mass storage driver, so there is no need for us to write another one.

    For information on how to use a USB mass storage camera with Linux, see the USB Digital Camera HOWTO (which is more a USB mass storage camera HOWTO). There is another nice description at the digikam web site.

  2. A computer with the right kind of port (serial RS232, USB, ...) running a Unix-like operating system:

    • BSD (FreeBSD, OpenBSD, NetBSD, ...)
    • Linux (RedHat 7.3, SuSE 8.x, Mandrake 8.x, Debian 3.0 Woody, Debian Unstable Sid, Gentoo, ...)
    • OS/2 (ancient gphoto2 2.1.0 has been ported to OS/2, but contemporary versions won't work any more like 2.1.0 did)
    • MacOS X (basically working in 2005-06, with a few quirks still to be ironed out)
    • FIXME: Is there a list somewhere, or can we get contributions of verified operating systems? IRIX? Solaris? ...

    The hardware architecture (x86, PowerPC, Sparc ) doesn't matter. Or at least, it shouldn't.

    For USB cameras, your Unix OS must be supported by libusb. As of 2002-08-29, this is the case for Linux 2.2 and 2.4, FreeBSD and OpenBSD. FIXME: Is the USB support for OS/2 independent of libusb?

  3. libgphoto2, some libgphoto2 frontend and (if you want to use USB cameras) libusb

    libgphoto2 frontends

    Our own official command line interface (CLI) frontend. Simple command line interface and kind of a reference implementation. This libgphoto2 frontend i very useful for debugging camera drivers and other problems.
    Our own official GUI frontend using GTK+ 2. Shows thumbnails of pictures on the camera, and supports upload, download, capturing of pictures. No advanced album management or stuff.
    Our own Gnome VFS interface. Has been quite dead for several years. Still has to be ported to Gnome 2. Volunteers welcome.

    The KDE IO slave interface. Using kamera is simple: Just open camera:/ in Konqueror. That's it. Has been and still is a standard feature of most KDE installations.

    It also features a configuration frontend in the KDE control center..

    Digikam is a standalone KDE frontend with advanced image management functions.
    gPhoto support integrated into KDE image plugins architecture, originating from the former digikam.
    FLTK-based frontend for gPhoto which provides some nice functionality beyond the current GTK-based gtkam frontend. Aside from downloading images from a camera, you can also "import" your existing files on disk, adjust/transform the images, print them, and do slideshows. The final version will also offer a web export to a directory or uploaded to a web server.
    Chose the most inconvenient interface: Calls the gphoto2 command line.
    camera life
    XXX write a few lines here XXX
    C#/mono/Gnome. XXX write a few lines here XXX
    C#/mono digital audio player. XXX write a few lines here XXX
    C/Gnome. XXX write a few lines here XXX
    C software, properly a scanner interface ("Scanner Access Now Easy"). XXX write a few lines here XXX
    Special purpose applications
    Automatically take pictures of visitors on amusement park rides, to record data in scientific experiments, ...

    Available software formats

    source tarballs
    Building requires mainly make and a C compiler.
    git sources
    Building requires a certain set of build tools (automake, autoconf, gettext, libtool), and possibly even a combination of certain releases.
    system-specific packages
    As packages are specifically created for your system, this is probably the easiest way to install the software. Packages for your system can be source packages or binary packages, depending on your system. They have names like RPM (Redhat, SuSE), DEB (Debian), port (BSD), ebuild (Gentoo).
    Need improved descriptions and lists of various forms of source code and binaries.