The pain ๐ฉ
If you use an iPhone and a Linux laptop, you know this one.
You plug the phone in. Ubuntu shows a folder called DCIM. Inside: 100APPLE, 101APPLE, 102APPLEโฆ thousands of IMG_XXXX files with no dates, no albums, no idea which ones you already copied.
There's no iTunes for Linux. Apple's tools are for macOS and Windows only. So you end up with one of these:
- ๐ง emailing photos to yourself, like it's 2009
- โ๏ธ uploading everything to some cloud and downloading it again
- ๐ borrowing a Windows laptop "just for a minute"
And even when the files land on your disk, the fun isn't over:
- ๐ผ๏ธ HEIC photos won't open on older laptops, some photo viewers, smart TVs and many printing shops
- ๐๏ธ MOV videos (HEVC, HDR) won't play on half the devices in the house, or play in black and white
- โ๏ธ edited photos and the originals get mixed up
Basically:
Me: *plugs iPhone into Ubuntu*
iPhone: "Trust This Computer?"
Me: *taps Trust*
Ubuntu: here's 4,000 files named IMG_0001 to IMG_9999 ๐ซก
Me: *double-clicks IMG_0042.HEIC*
Ubuntu: "No app installed for HEIF image"
Me: ๐๐ซ
Meet Rollcopy ๐
Rollcopy is a Linux desktop app that copies photos and videos from an iPhone over a USB cable, as files any Android phone, PC or TV can open.
Plug in the phone, tap Trust, pick what you want, and Rollcopy copies it to:
~/Pictures/Rollcopy/<phone name>/YYYY/MM/images|videos/
converting HEIC to JPG and MOV to MP4 on the way. No iTunes, no cloud, no account.
What it does โจ
- ๐๏ธ Browse your Photos library like on the phone: by year and month, or by album, with filters (photos, videos, edited, copied / not copied) and a full-window viewer.
- ๐ Converts while copying: HEIC โ JPG (keeps colour profile and EXIF), MOV โ MP4 (lossless by default, or H.264 with GPU acceleration for old devices).
- โ๏ธ Edited photos come out edited. Live Photos come out as the still.
- โ
Knows what you already copied, so you can copy "everything new" without duplicates. iPhones reuse names like
IMG_0057after 9,999 photos; Rollcopy saves a different photo asIMG_0057 (2).JPGinstead of overwriting. - ๐ Transfer queue with progress, pause/resume, retry and an error report. Unplug or lock the phone mid-copy and the queue pauses, then carries on when it's back.
- ๐ Details for every item: date, camera and lens, the app that saved it (Camera, WhatsApp, โฆ), place name and albums.
- ๐ฅ๏ธ Tray icon and notifications, so you can close the window and let a big copy run.
Security and privacy ๐
This was a hard rule from day one:
- ๐ฑ Your phone is read-only. Rollcopy has no code to write, rename or delete anything on the iPhone. The only change is the trust record from tapping Trust, same as with a Mac or PC.
- ๐ Private by default. The Hidden album and Recently Deleted are not shown or copied unless you turn them on. Even then, Hidden items stay blurred until you click ๐ on each one.
- ๐ No network, except a "Check for updates" call to GitHub. Nothing is uploaded, no telemetry.
- ๐พ Safe writes: each file is written to a temp file, checked, then renamed, so a failed copy never damages an existing file.
- ๐งน Caches are readable by you only, and the copied Photos database is deleted as soon as the library is read.
Built with Rust ๐ฆ and gpui โก
Rollcopy is written in Rust, with the UI in gpui (the GPU-accelerated UI framework behind the Zed editor) and gpui-component. It talks to the phone with the idevice crate, decodes HEIC with libheif, and uses FFmpeg for video.
The device access, Photos library reader, conversion and copy queue are all headless crates with their own tests; the app on top is a thin UI.
Yes, it's vibe coded ๐ค (but tested)
I'll be honest: a lot of Rollcopy was written with AI coding agents. But "vibe coded" doesn't mean "untested":
- ๐ฑ tested with a real iPhone on iOS 27, copying a real photo library, on Linux Mint 22 (Cinnamon, X11) and Ubuntu 26.04 (GNOME, Wayland). The screenshot above is the real thing.
- ๐งช unit tests for the headless crates (device access, Photos library, conversion, copy queue)
- ๐ข CI with clippy (warnings as errors) on every push
Status: early, but stable enough ๐ง
Rollcopy is at v0.3.1. It's early, but it's been copying real photo libraries without drama. Expect rough edges, and please report them.
What's next ๐ฃ๏ธ
- ๐ช Windows 11 support
- โ๏ธ AWS S3 sync
- ๐ Cloudflare R2 sync
Try it ๐
Needs Ubuntu 24.04+ or something based on it (Linux Mint 22+, Pop!_OS 24.04, โฆ).
Grab the .deb or .AppImage from Releases:
sudo apt install ./rollcopy_0.3.1-1_amd64.deb
- โญ Star it on GitHub
- ๐ Found a bug? Open an issue
- ๐ฌ Using an iPhone with Linux? Tell me in the comments how you've been surviving so far ๐

Top comments (0)