escaping the walled gardens and embracing Open Source - a photographers ongoing journey into Linux.
Intended AudienceLiterally no one. This isn’t really a guide or anything. I’m just rambling about getting into Linux. I talk about building a computer and how I can’t seem to get back into photography. If you find that at all relatable, by all means join me.
This post has gotten so out of hand that it needs a Table of Contents, I’m sorry.
It should probably just be five different posts and maybe it will be eventually.
Table of Contents
Capitalism Bad
FOSS Origins
The Command Line
The Build
- Parts List
- Distro Selection
Photography?
State of Photography & Linux
Capitalism Bad
For years I wanted to move my photography workflow to a FOSS (Free and Open Source Software) alternative. Every once in a while I’d get fed up with my perpetual Adobe subscription and give Darktable and Gimp a spin, and switch back after immediate frustration caused by a lack of knowledge of the software. I was comfortable with the seamless UX of Adobe, and for some reason felt I couldn’t be bothered with watching even a single tutorial since Adobe was so intuitive, at the time in my mind it was Darktable that was ineffective.
There’s a whole chain of events that led to me in 2022 catching the Linux bug. I have slowly been learning enough over the years to finally switch over nearly entirely to Linux this past year when I decided to build my next computer instead of keeping myself locked inside the walled garden of Apple and Adobe products for the better part of the next decade. This finally forced myself to switch over my photography workflow to Linux and the results have been…mixed, but still adequate and it shouldn’t stop you from freeing yourself! So for anyone stumbling upon this, let it serve as a heads-up, but perhaps it can be a pseudo guide to anyone who might be interested in the same switch.
FOSS Origins
I knew about Linux because my Dad has been a system administrator since I was a child. I have early memories of him tinkering with an open computer on his desk for hours as he poured over documentation and countless Newegg packages kept being delivered. I could see the immense pride in what he was building. I was intrigued by this “Linux Machine” and through the lens of childhood I envisioned building your own computer as the pinnacle of computing ingenuity. Someday I would build my own. Unfortunately I knew little about Linux itself, only briefly using it on computers he installed it on at one point or another. Though I was well acquainted with open source software. He didn’t allow windows products in the house—a tradition that continues into mine to this day—so I had use OpenOffice. Many times I exploited the .odt format to buy more time on assignments when teachers would inevitably open it up to a garbled text file in Word and I could feign ignorance. I probably tried Gimp and Darktable around this time as well, but couldn’t grasp them.
So for the next 20 years I walled myself into the garden of Apple and Adobe products, opening wide for spoon feedings of early 2000s and 2010s billion dollar marketing campaigns and opening my wallet just as wide in return for the privilege of two decade long vendor lock-in.
The Command Line
About 5 years into my job as a digital asset manager for a photographer with over half a petabyte of storage I finally started using rsync and rclone on MacOS in the command line to transfer the absurd amount of files and backup data and honestly this was the most liberating thing and likely the reason I finally got into Linux. It was a bit of a pain to learn the basic commands enough to navigate the file system, I remember playing this fun text-based ‘dungeon crawler’ type game that taught it to you, but the commands quickly become second nature. Soon you realize you almost always have a terminal window open while on the computer, and then you begin to prefer it. I very quickly discovered ‘Brew, the missing package manager’ for MacOS. My Dad sent it to me and I remember not knowing what a package manager evhen was then. “I already have all my apps like spotify installed? What do I need this for?” QUICKLY turns into “How was I missing this and all these tools all these years?!?!” It has made me think everyone needs to learn how to use the terminal. We use computers everyday, understanding networking, the filesystem, the tools the computer is using and changes your perspective on how these things all interact to power the world around us. I have been immersed over the last 3 years and still have only scratched the surface of understanding. I have become truly obsessed.
It’s not just about learning tech or IT for a job or something either, it has become a lot about freedom for me. It seems no one else cares, but we’re all being tracked and monitored and marketed to as they’re sucking our wallets dry in pursuit of endless profits. We think we don’t have options, but we do. As with anything, it takes a little education and practice. But I think we all prefer the path of least resistance and I don’t know if it’ll ever get through to the general populace.
My obsession kept going on the other hand, I used Linux to bring to back to life an old 2012 MacBook Pro with a dying battery. My first ever distro was Ubuntu MATE 22.04. I remember feeling like such a noob. I still very much am in many ways. I acquired an old 2012 Mac Mini from my Dad and immediately put Proxmox on it and started my homelab and learning about virtualization. Great year for Macs I suppose.
Though I quickly outgrew Ubuntu, so where else do you go besides Arch Linux? Arch was an amazing way to learn Linux in general. You install everything yourself to your specifications via the command line. I can’t tell you how many ‘Aha!’ moments during install when things finally clicked. Its a rolling distribution so you get the latest packages.
While all of this this proved fruitful in an educational sense, the lack of power in any of this old hardware didn’t get me anywhere near editing images in Darktable. So I began piecing together a build on PC Part Picker. It felt like the only way to truly move away from Apple once and for all.
The Build
For my first-ever PC build, I chose to go the AMD route because of my last unfortunate experience with Intel was my hotplate of a 2018 Mac Mini, and because AMD’s open-source GPU drivers are known to play nicely with Linux. I picked the Fractal Design Terra mini-ITX case because I love the look of the wooden panel, even though the compact form factor limited my component options. Luckily for my indecisive self, those limitations helped reduce any decision fatigue.
I made a truly well-researched parts list and took it to Microcenter instead of ordering online. The knowledgeable staff steered me towards a better 64GB RAM situation and away from an incompatible CPU cooler toward a less expensive option that was guaranteed to work. Brilliant work by those guys.
For the GPU, I ended up with a RX 7600 XT with 16GB VRAM instead of splurging on the newly-released 9070. I was in store for the new release, but as a photographer rather than a hardcore gamer, the slight performance boost didn’t seem worth the $170 price difference. Plus, unlike with Apple products, I can always upgrade later. Some reviews suggested this might not be the best case for a first time build, but as I said earlier, I tend to do things the hard way. Thankfully the only hiccup during assembly was wrestling with the power supply cable in the tight case.
I also upgraded my peripherals; from Apple’s minimalist offerings to a Glorious GMMK3 65% keyboard and Logitech M705 wireless mouse. The improved ergonomics for even mediocre peripherals make a shocking difference in the pleasure of everyday use. Don’t underestimate the importance of how you physically interact with these machines.
Parts List:
- CPU: AMD Ryzen 7 7700X 4.5 GHz 8-Core
- GPU: XFX Radeon RX 7600 XT 16GB VRAM
- Case: Fractal Design Terra Mini ITX Desktop
- CPU Cooler: ID-COOLING IS-47-XT 46 CFM
- Motherboard: ASRock B650I Lightning Wifi Mini ITX AM5
- RAM: Corsair Vengeance 64 GB (2 x 32 GB) DDR5-5600 CL40
- SSD: SK Hynix Platinum P41 2 TB M.2-2280 PCIe 4.0 X4 NVMe
- PSU: Lian Li SP 750 W 80+ Gold Certified Fully Modular SFX
Distro Selection
The installation of Arch Linux was also very smooth in regards to hardware. With a custom build like this, it just felt right to install via the command line and have the utmost control over disk partitioning, LVM, and what packages were installed. I have an external ZFS pool attached I use the LTS kernel for. It feels admittedly risky using ZFS on a bleeding edge distribution, but I am confident in ZFS and have backups of backups of critical data. I use LVM so I can expand the partitions on the desktop computer as needed. The operating temperatures have been solid. (35°C idle, 75-80°C under heavy gaming or compile loads). I had to wrestle with a GPU power consumption bug but the gist of it is that the beauty of Linux is that everything is file, and you can do just about whatever you want to them, unlike other operating systems. True digital Freedom. I must have gotten into Linux at the best time, I rarely have the catastrophic issues with Arch or Linux that people have complained and joked about for years. It feels surprisingly stable now.
Photography?
Whenever I try writing about this experience I hit a wall, because I realize my obsession with Linux has grown so strong, I almost don’t care about photography anymore. Almost. I cant deny that I seem to rarely take photographs now. I’ve been building websites, web apps, learning Linux and homelabbing instead. It seems this new obsession has taken over that part of my brain, and I’m still wrestle with this divergence. I devoted so much of my life to photography that it almost feels impossible to have lost interest in it, so I’m trying to view this as a space to discover new interests, as much as a ‘gaining inspiration’ period for old interests as well. I can think positively; ‘What pictures am I gonna take next?’ I even picked up a reading habit, something I used to love doing. For some reason picking photography back up in the same way has eluded me. I told myself I was doing all this for photography. That’s what I kept saying - ‘once I build this machine, once I learn Darktable, I’ll be able to have the computer power to have decent performance. But that doesn’t seem to be what happened.
I kind of hate to say it, but it feels like photography got a little left behind in the Linux space. I have used blender briefly and it is a really polished application. I’ve heard amazing things about Da Vinci Resolve, though I have yet to try it. For how complicated one would think video software would be in comparison, Darktable and Gimp look primitive at first glance. Neither function as direct clones of Lightroom and Photoshop either, as similar as they appear, core functionalities of both software differ so much that it makes the learning curve a bit mind-bending. But that said, as soon as things begin to meld, you begin to understand how powerful, granular, and freeing these open source tools are.
You don’t need to switch over entirely to Linux to appreciate and use open source software. Darktable and other programs like Blender and Da Vinci Resolve, etc. are often available on both MacOS and Windows.
State of Photography & Linux
I’ve done some work in Darktable and I like it. I am still getting used to certain functions and methods of doing things now. The workflow still isn’t setup perfectly but it works, I just need to watch another tutorial or three. I have gotten some good results from my scanning testing using imagescan and I’m very excited. I have yet to connect my Canon Pro-10 printer but plan to once I buy more ink. I’m hoping I can simply print through Darktable once up and running. I have not read into it much. I may end up being the edge case. Which is what this is all about.