libgphoto2 2.5.30

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.3002 Jul 2022 09:52 major bugfix: libgphoto2 2.5.30 release ptp2: * Canon: fixed display locking/unlocking after exit * generic: avoid potential crash on image addition * Sony: Add image information when wait_for_event, some config values added * Added IDs: * Nikon Zfc, Z9 * Sony DSC-WX220, Alpha-A7 IV * Nikon P950 * Canon EOS Rebel T8i * Fuji Fujifilm X-E4 * GoPro HERO10 Black general: * fix parallel builds by requiring gettext 0.19.1 for builds from git (PR #797) * add gp_init_localedir() function to allow for non-standard installations (PR #796) translations: * updated traditional chinese README lines 1-20/20 (END)
2.5.2905 Mar 2022 13:40 major bugfix: libgphoto2 2.5.29 release general: * fixes build failures of libgphoto2 frontends and builds using the wrong libgphoto2 headers (issue #717) ptp2: * fixed a regression in Fuji preview capture which would lead to crashes * made the wait-event property extractor more robust (it sometimes gets NULL ptrs), hopefully fixing Sony crashes * sony: fixed a crash in sony f-number * panasonic: added more configs adjustgm, adjustab, colortemp, afmode, mfadjust, expmode, recording * fixed some bugs caused by refactoring / memory leak fixes * added: - Kodak m531 - HP Photosmart E331 - Nikon DSC 6 translations: * updated polish, ukrainian, russian, serbian * added romanian
2.5.2803 Jan 2022 11:45 major feature: libgphoto2 2.5.28 release general: * OS/2 support removed (broken and unused since at least 2006) * remove built-in rpm packaging (use distro packaging instead) * remove linux-hotplug rule creation (removed from distros around 2006) * remaining text which was iso-8859 is UTF-8 now (except one po file) * To override docdir and htmldir, use configure arguments --docdir= and --htmldir= instead of --with-doc-dir= and --with-html-dir= * some code cleanups, especially handling of include files and i18n handling ptp2: * wait event * property changes now reported with "'name' to 'value'" added * object info changes now reported as FILE_CHANGED events (e.g. if you change protection flags) * Nikon J1: capture fixed * Olympus: fixed that wait time was twice as long as required if no events arrived * Sigma Fp: added basic beta support for capture, live view and config. * Sony: * mark all widgets as read-write again, read-only logic was not 100 correct * speed-ups and fixes to the stepping based config setting * Canon EOS * handle newer EOS R series reporting of configs (ISO, Aperture, Shutterspeed) * track UI lock state to avoid device busy reports * fixed "zoom" range settings (for lenses with powered zoom, also for today Powershot) * Fuji: * ptpip improvements * bug fixes * some Fuji cameras have now liveview only for webcam (need new firmware) * various small fixes and code cleanups * New ids: * Sony Alpha-RX1R II, ILCE-7C, ZV-E10, A6600, DSC HX-80, ILCE-7RM3A, ILCE-7RM4A, DSC-A7S III * Nikon Coolpix B500, Zfc * Canon EOS M50m2, Digital IXUS 132 * Fuji X-Pro3, GFX 100S, X100V canon: * fixed wait event crashes * correctly mark read only config widgets as read-only pentax: * fix PEF raw files for non-K100D translations: * updated german, french, polish, ukrainian
2.5.2721 Feb 2021 12:05 major feature: libgphoto2 2.5.27 release ptp2: * report filesizes larger than 4GB correctly * download files larger than 4GB * empty ptp strings are reported as "", not as NULL * report more MTP object properties * Nikon * download of files larger than 4GB using getpartial object method * handle new application mode * handle new eventex fetcher on Z series * fixed movie on recent Z series * report liveview and movie prohibit conditions, as errors and also in configuration tree * some Nikon 1 V1 enhancements (the first camera of the 1 series is a bit special) * report filesize 4GB correctly, if possible * Canon EOS: * EOS M6 Mark 2 is actually more like a EOS DSLR and fully capable, added some work * Handle OLCINFO for M6 Mark 2 and EOS R5 and new cameras * added current list of autoexposuremode to expose also Fv and friends * Canon Liveview size is encoded in "output" (PC / MOBILE / MOBILE2 variants are the different livesizes), try to expose seperately as "liveviewsize" * decode more options, nickname, eosmoviemode (color/bw), strobofiring, eventmode, flashcharged, oneshotrawon * bugfixes * Sony Alpha: * report f-numbers enum with fixed list * fixed liveview taking on a new model * Panasonic * implement liveviewsize * implement movie recording ( using --set-config movie=1/0 ) * more doc and minor fixes * ptp/ip: allow building on Windows * New IDS: * Sony DSC-A7S III * Nikon Coolpix P1000, Z6_2, Z7_2 * Olympus E-M1 MII * Canon PowerShot G12, EOS M200 * Fuji Fujifilm X-S10 * Ricoh Theta V, Z1 canon: * more shutterspeed reported translations: * updated french
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