Drivers and images

A device names its INDI driver in spec.driver.name, and the operator runs the driver from an image that the indi build publishes on ghcr.io/liken-sh. Each operator build pins the tag of those images, so the drivers it runs are the ones it was tested with.

The operator picks the image from the driver’s name:

  1. A device with spec.driver.image runs that image, as written.
  2. A vendor’s driver runs from its vendor’s image, in the table below.
  3. A simulator, a driver whose name starts with indi_simulator_, runs from indi-simulators, which adds the star catalog that the camera simulators draw from.
  4. Every other driver runs from indi, which holds INDI’s own drivers: the mounts, focusers, domes, weather stations, and the rest of the indi-bin package. indi_lx200generic, indi_celestron_gps, and indi_moonlite are among them.
Image Drivers
indi-open the third-party drivers that link no vendor SDK, such as indi_eqmod_telescope, indi_rolloffino, indi_aagcloudwatcher_ng, and the Atik EFW wheel
indi-zwo ZWO cameras, EFW filter wheels, EAF focusers, the CAA rotator, and the USB-to-ST4 adapter
indi-qhy QHY cameras
indi-playerone Player One cameras and filter wheel
indi-svbony SVBony cameras on SVBony’s own SDK
indi-touptek the eleven brands on the ToupTek SDK: ToupTek, Altair, Bresser, Mallincam, Meade, NNCam, Ogma, Omegon, StarShoot, SVBony, and TS
indi-atik Atik cameras and filter wheels
indi-fli Finger Lakes Instrumentation cameras, focusers, and filter wheels, and the Kepler cameras
indi-sbig SBIG cameras
indi-mi Moravian Instruments cameras and filter wheels
indi-qsi Quantum Scientific Imaging cameras
indi-apogee Apogee cameras and filter wheels
indi-astroasis the Astroasis Oasis focuser and filter wheel
indi-gphoto Canon, Nikon, Sony, Fuji, and Pentax cameras through gphoto2

Each image’s list in the repository names its drivers exactly: indi/images/ . Three third-party drivers are in no image: the Fishcamp and iNova PLx cameras, which their vendors no longer sell, and the LimeSDR radio receiver. A device that names one of them must name an image in spec.driver.image. Without one, the reservation’s step that starts the device fails, and its message says that no image holds the driver.

An image that holds a driver does not mean the driver’s hardware can reach a pod. Most of the cameras in the table connect through their vendor’s library with no kernel driver, and liken publishes such a device whole, with its USB node. A QHY camera that loads its firmware through udev rules on the host does not work yet. Connect USB equipment gives the details.

Your own image

spec.driver.image runs any image. The image must:

The images of the indi build hold only the programs they run and the libraries those programs load. Only indi-simulators and indi-phd2 have a shell. The indi README describes how they are built.