libgphoto2 2.5.26

libgphoto2 is a set of libraries for previewing, retrieving, and capturing images from a range of supported digital cameras to your local hard drive. It does not support digital cameras based on the USB storage protocol, those can be mounted by Linux directly. The list of current cameras can be found on: or by running gphoto2 --list-cameras

Tags camera usb capture digital camera remote control tethering
License GNU LGPL
State stable

Recent Releases

2.5.2611 Oct 2020 17:39 major feature: libgphoto2 2.5.26 release ptp2: * Olympus OMD: fixed the 65 second wait after capture. * Canon EOS: * bugfixes * Nikon * D3000, D3100, and D3200 "static opcode list" reduced after reports what works and what not * Nikon 1 series cameras had some commands listed too much. * Nikon 1 J5 improvements * "liveviewsize" can change liveviewsize * Sony: * Modern Sony cameras seem to require a 3 second wait on startup. Seems needed on ZV-1, A7 R4, RX100 M7 so far... Unsure why. * correct shutterspeed, iso and exposurebias decoding for Sony A7r4 and other new models * some bugfixes in property settings, trying to speed it up * ZV-1 support, some additional startup wait hack to make it work. * partial Sony QX support added, can do preview... close to having capture (but not there yet) (also added "liveviewsize") * report read/write and read/only of properties correctly * Fuji X: * stabilized normal capture code * added bulb capture, added autofocusdrive * lots of properties listed now, some also decoded * added "liveviewsize", "shuttercounter", "colortemperature", "lensname", "devicename", "imagecomment", "filmsimulation", "colorspace" * Added very experimental Wifi support. * synced new libmtp device ids * Cameras added to id list: * Sony QX30U, ZV-1, DSC-RX100M7 * Nikon D780, Z5, Coolpix B700 * Panasonic GMC-GX8 * Canon EOS 1D X Mark III, R5, R6 * Canon PowerShot SX70HS * Fuji FinePix X-E1 * Sigma fp pentax: * small changes synced from pktriggercord, added Pentax 645Z docupen: * new experimental driver, supports the docupen scanner pen. all: * more fuzzing related stability fixes, largely to "outdated" driver set. * lots of compiler warnings fixes across the codebase translations: * update pl, sv, uk, zh_CN, fr
2.5.2524 May 2020 15:37 major feature: libgphoto2 2.5.25 release ptp2: * Liveview support for Leica SL * PTP 1.1 Streaming parameters added. * Olympus OMD capture fixes * Nikon DSLR/Z: * various improvements to liveview error reporting. * much more properties added, some values added * allow downloading of "large thumbnails" instead of "regular thumbnails", can be selected by "thumbsize" gphoto2 local setting. * fixes for D3000, D3100 methods * maximum capture wait extended to 1000 seconds (as the D870 has 900 seconds max now) * Canon EOS * initialization fixes (if it breaks your EOS M or PowerShot, please report) * liveview enablement fixed * maximum capture wait extended to 90seconds * EOS R shutterspeed , aperture reporting fixed * various bugfixes * Cameras added to id list: * Sony NEX 5 * Canon EOS 90D * Fuji XT-4 * Sanyo VPC-FH1 * Leica SL Typ 601 lumix: * fixed initialisation, might help capture all: * ongoing stability fixes from AFL fuzzing translation updates: * sv
2.5.2423 Feb 2020 16:16 major feature: libgphoto2 2.5.24 release ptp2: * GoPro: fixed all images not visible bug * Canon EOS: lock/unlock ui before more operations * Canon Powershot SX / EOS M: some setup adjustments to make powershot sx work better * Nikon Keymission 170: try override opcodes to allow capture * Nikon DSLR: fixed a regression where 5 seconds was longer image capture shutterspeed * Sony: adjusted manualfocusing not to autofocus * Fuji: access ISO config * Sony: fixed manual focusing * Sony: specify capturetarget on camera, available on current 2019/2020 Sony * bugfixes * New ids added: * Sony Alpha RX100V, A7s, RX0 II, * Nikon Z50, Coolpix L810, KeyMission 170 * Canon PowerShot SX530HS, SX 620HS, * Canon EOS 2000D, 1500D, R2, M6 Mark 2, 250D, * Fuji X-A5, X-E3, GFX100 * GoPro Hero 7 White, 7 Silver, 7 Black, 8 Black lumix: * New WIFI Lumix camera driver was added, using curl and libxml2. Lots of abilities supported already, also capture preview. However capture itself is not yet working. This driver needs libxml2 and libcurl to be built. all: * Selecting camera libraries has changed a bit. --camlibs=everything will select all and outdated drivers --camlibs=standard will select "current day" drivers --camlibs=standard,outdated will select "current day" and "outdated" drivers You can now also use modifiers like +canon or -canon to enable/disable selected camera libraries. The default is "standard", same as before. * fixed some issues found by AFL fuzzing, mostly in "outdated" drivers. * Small document added describing security properties of the library.
2.5.2302 Jun 2019 12:45 major feature: libgphoto2 2.5.23 release ptp2: * Sony capture stability and speed improvements * Canon EOS capture stability improvements, reduce partial read blobs from 5MB to 1MB * Canon EOS M image format unpacking adjustments * Olympus OMD: bulb capture added, trigger capture capable * Panasonic GH5: added manualfocusdrive, capturetarget * Canon PowerShot X work ... trying to support / improve stability of capture * PTP string packing adjusted to standard (empty and null strings) * New ids added: * Sony Alpha A68, RX100M6, DSC-WX350 * Nikon Coolpix L100 * Canon PowerShot G7X, G9X Mark II * Canon Rebel T6, EOS 2000D * Fuji X-A2, GFX 50R, XT-30 * Ricoh WG-M2 * libmtp ids synced. pentax: * synced smaller parts with pktriggercord translations: * updated danish fuzzing: * vusb and sample-afl now able to fuzz all USB cameras (even if slow) all: * Various crashes fixed that were found during AFL fuzzing the USB drivers * The camlibs for cameras (and driver) older than 15 years have been default disabled for installation, to speed up libgphoto2 startup and also reduce attack surface against malicious USB devices. See OUTDATED.txt in git for notes. You can reenable them using: ./configure --with-camlibs=all,outdated or by the camlib driver name (sample: jd11): ./configure --with-camlibs=all,jd11 To get the lists of all camera libraries use: ./configure --help If you still have an old camera using one of these camlibs in active use, please report this to the devteam so we can reenable it per default.
2.5.2201 Jan 2019 16:58 major feature: libgphoto2 2.5.22 release ptp2: * Canon EOS M / PowerShot capture problem solved * Sony shutterspeed - provide a static list as the camera does not provide one, you can set also different values * Canon SDRAM capture, try to support more than 500MB of images at once * New USB Ids added: * Canon EOS R, 800D * Canon PowerShot SX600HS, SX740HS * Sony DSC RX0, RX100-M5A * Nikon DSC D3500 generic: * handle new "bind" udev event in udev rule generator. translations: * updated polish, ukrainian
2.5.2108 Dec 2018 20:04 major feature: libgphoto2 2.5.21 release ptp2: * Nikon Z series support added * New Canon Powershot SX / GX also support capture, ALPHA support added * Canon EOS bugfixes * imported IDs from libmtp * Added: * Nikon Z6, Z7 * Canon Powershot SX720HS, G5X * Canon IXUS 185
2.5.2027 Oct 2018 16:18 major bugfix: libgphoto2 2.5.20 release ptp2: * Canon EOS: fixed regression for some EOS series in OLC decoding * Apple iPhone: disabled PTP Manifest reading again, as IOS seems not to follow the standard * bugfixes * new IDs added: * Sony Alpha-RX10M4 * Canon EOS M50, 4000D * Fuji XT-3 * synced new MTP ids from libmtp pentax: * refreshed from pktriggercord translations: * updated polish, ukrainian, swedish, danish
2.5.1922 Jul 2018 19:55 major bugfix: libgphoto2 2.5.19 release ptp2: * Canon EOS: handle OLC versions of newer models, which gave incorrect aperture/shutterspeed values * Fuji X series capture improvements. * Fuji X series live view support added. * Panasonic GH5 liveview and capture support. (Needs camera firmware 2.3 or newer) * Olympus E-M5 Mark II and E-M1 Mark II liveview and capture support added. * USB IDs added: * Sony Alpha A99 M2, A7 III, A9 * Nikon Coolpix A900 * Panasonic GH5 * Olympus E-M1 Mark 2 * Fuji X-H1, X-M1, X70, X30 all: * various fixes for warnings from compilers and the coverity scanner
2.5.1813 May 2018 18:32 major bugfix: libgphoto2 2.5.18 release libgphoto2 2.5.18 release ptp2: * Canon EOS: Fixed file download on several EOS brands, broken by 2.5.17 release. pentax: * Added K01 and K70 models.
2.5.1716 Apr 2018 19:46 major feature: libgphoto2 2.5.17 release ptp2: * Apple iOSX: handle root directory objects that have ParentObject==StorageID instead of 0 * implement PTP 1.1 Manifest reading and hook into filesystem. currently only supported by Apple iOS. * Canon PowerShot CHDK live view support. * Canon EOS: prepare capture needs to wait a bit on a crucial place to get all events. might fix some PTP Device Busy reports. * Canon EOS: split bulk downloads into pieces of partial downloads. This might cure the Error 70. * Canon EOS: Improved EOS M capture * Canon CHDK: live preview capture support added * Added USB IDs: * Sony A7r III * Nikon CoolPix L430 * Nikon D850 * Canon EOS M2, M6, M100 * Canon EOS 6D Mark II * Fuji Film X-Pro 2 pentax: * Code updates imported from pkremote libgphoto2: * Report file changes via GP_EVENT_FILE_CHANGED (hooked up for Canon EOS currently) translations: * updates spanish, chinese
2.5.1625 Mar 2018 07:27 minor bugfix: libgphoto2 2.5.16 release ptp2: * A hardening fix broke the string unpacking for 0 length strings which broke Canon EOS
2.5.1502 Oct 2017 13:53 major feature: libgphoto2 2.5.15 release ptp2: * fuji: Fix cameras without new capture properties. * Canon EOS: config aspectratio, highisonr * Canon EOS: emit CAPTURECOMPLETE event * Canon EOS: whitebalanaceadjustment is 32bit signed, not 16bit signed * usb: better error feedback * fixed some bugs found by AFL fuzzing * Added USB ids: * Sony: A6500, HX400V * Nikon: D500, D7500 * Olympus: VR360 * Canon PowerShot: ELPH 350 HS * Canon EOS: 200D, Rebel T7i * Fuji: GFX 50 S * Ricoh Theta S, Theta SC libgphoto2_port/vusb: * now default disabled as it confused people, enable with --enable-vusb
2.5.1405 Jun 2017 19:04 major feature: libgphoto2 2.5.14 release ptp2: * Canon EOS M remote control / capture support (M3, M5, M10 ... but not the original EOS M currently) * fix for Canon EOS camera crash bug introduced in 2.5.13. * Fuji XT-2 capture support (firmware update needed, might work for other Fuji XT too) * Canon EOS 77D added. * various bugfixes * added USB IDs: * Sony DSC-RX10M3, DSC-HX90V * Sony UMC-R10C * Nikon D5600, * Canon EOS 77D * Fuji XT-20 * synced MTP device ids from libmtp * more issues fixed that were found by the AFL fuzzer pentax: * Added Pentax K5-II, Pentax K3-II libgphoto2_port: * fixed gp_log_remove_func libgphoto2_port/vusb: * support f-number, shutterspeed, and exposurebias in the virtual PTP camera all: * several issues found by gcc 7 fixed translations: * updated ukrainian, polish, vietnamese, french, swedish
2.5.1308 Apr 2017 15:52 major feature: libgphoto2 2.5.13 release pentax: * Now using the pktriggercord codebase * lots of improvements * Please report missing Pentax K USB ids that are supported by pktriggercord! ptp2: * iPhone iOS 10.2 and later storage handling fixed, added dynamic storage handling * Sony Alpha Live View support. * Canon EOS M series capture enabled. (not fully working yet) * Various crashes and endless loops fixed that were found by the AFL fuzzer. * Various bugfixes in Nikon, Canon capture * New USB Ids: * Sony: SLT A37, DSC-RX100M5 * Nikon KeyMission 360 * Canon PowerShot G16 * Canon EOS M5, EOS M10 * Fuji Fujifilm XT-2 * GoPro Hero 5 Black
2.5.1120 Nov 2016 22:10 minor feature: libgphoto2 2.5.11 release canon: * not experimental anymorelibgphoto2 2.5.11 release canon: * not experimental anymore, for some years * some bugfixes in configuration handling ptp2: * canon: EOS capture improvements, also supporting new EOS * sony: tethering and trigger capture implemented, capture stability improvements * sony: exposure compensation setting fixed * sony: capture and autofocus configurations, similar to eosremoterelease * generic: fixed serialnumber retrieval * nikon: "autofocus" config variable for global autofocus enable/disable (d, for some years * some bugfixes in configuration handling ptp2: * canon: EOS capture improvements, also supporting new EOS * sony: tethering and trigger capture implemented, capture stability improvements * sony: exposure compensation setting fixed * sony: capture and autofocus configurations, similar to eosremoterelease * generic: fixed serialnumber retrieval * nikon: "autofocus" config variable for global autofocus enable/disable (default on, default liveview off) * various bugs fixed, stability improved * ptpip: allow different event ports. --port ptpip:IP:dataport:eventport * New ids reported: - Sony Alpha 7, DSC-RX100M4, NEX-7, DSC-HX20V, Alpha 6300, A7S II, A7, - Nikon DSC Df, D7200, D5, D810A, 1 V3 - Canon EOS 1Dx Mark 3, 80D, 5D Mark IV - Canon Digital IXUS 180 - various music players / android phones imported from libmtp libgphoto2: * Speed up initial startup. * Win32: store settings in the "User Profile .gphoto settings" and not in C: Windows anymore. * gp_widget_changed() no longer clears the "changed" state to make this API more consistent. Use gp_widget_set_changed(widget,FALSE) to do so. examples: * sample-photobooth: a sample program handling tethering, SIGUSR1 driven capture and SIGUSR2 based configuration reading. * sample-afl: code to inject afl fuzzing data translations: * updated swedish, ukrainian, polish, finnish, russian, danish, polish, brazilian, serbian, dutch, chinese