Photography resource for going FOSS in Linux

The following is my opinion and personal use case about lots of different software for photography. What works for me might not work for you. Keep backups of your original RAW photos along with library/catalogs or whatever database you and your software created.

This is a collection of information I wish I knew when switching to alternative software.

Software

If you've used a tool chain of Lightroom and Photoshop together then things are going to get more complicated but very do able once you've dedicated yourself to going all the way.
There are things I wish I knew about switching away from Adobe stuff so I hope the following helps out in preparing your photos/files for the big switch over.

Lets start with Lightroom.

There are quite a few choices and even more if you want simpler tools, but if you're being paid for your work then something more substantial will be required. As I personally only used Darktable that is what I'll be covering, but do know there are other choices!

As for choices there is quite a few, just keep in mind that some of these might only be for Linux distributions and might not have a Windows or macOS release.
Darktable https://darktable.org - What I'll be mainly covering. At the time of writing this up they now have builds for just about any OS of your choice! Windows builds are fairly new at the time of writing this up.
Rawtherapee http://rawtherapee.com - Also a powerful tool much like Darktable/Lightroom.
digiKam https://www.digikam.org - digiKam is a raw photo editor but I find it to be more useful as a photo library browser and metadata editor for large groups of pictures. It's what I use to navigate through my collection of reference pictures for doing art, kinda-sorta along the lines of Adobe Bridge.
Rawstudio https://rawstudio.org - haven't used this one but looks to be a straight forward RAW editor.
Shotwell https://wiki.gnome.org/Apps/Shotwell - If you need something simple and to the point for just cropping/rotate and adjusting exposure then Shotwell works nicely.

Most of these programs should be available in your package manager of choice if you're running Linux. Though I'd recommend grabbing an updated version from one of the following sources: Appimage, Flatpak, Snap package or PPA source if you're Ubuntu based.

Now to the Photoshop related stuff

For me personally I did everything in Lightroom, the few things Photoshop was used for was panoramics and HDR shots. I know other photographers really go all in with editing some of their photos which I'm confident is still possible.

GIMP https://www.gimp.org - This is really the most straight forward alternative to Photoshop you can get. Keep in mind however you'll need to get G'MIC addon and possibly a few others to really fill it out in making it feature complete.

Hugin Panorama Photo Stitcher http://hugin.sourceforge.net - This is what you'll be using to make panoramic shots.

Luminance HDR http://qtpfsgui.sourceforge.net - A fully automated HDR program.

File Formats

Before dropping Adobe all together make sure you prep your library. If you've converted your entire library to DNG, then go and grab the original camera raws. While DNG is technically an 'open' file format it's still non-free and fairly proprietary to adobe (it's just a fancy TIFF anyway), so I hope you saved your originals. Next check your library for converted panoramic and HDR renders from either Lightroom or Photoshop, they will most likely be DNG or PSD, you'll need to convert that over to something universal like a TIFF file as for me Darktable would tell me the DNG file generated from panoramics was unreadable.

Lightroom Library

As for your Lightroom library itself, you won't be able to keep it going forward. I found it good practice to go back with Darktable and redo choice old photos I've already exported out of Lightroom with all the touch ups and get it as close as possible. But if you have way to many photos or don't want to loose what you have so far then go ahead and export your edited photos at full resolution. Just make sure to not apply the watermark to it just in case you want to print it out later for selling/show/hanging-on-the-wall.
This part can be a major pain in the ass but if you're doing new jobs at a relative pace then you'll have new material to work with all the time rather than having time to worry about old ones. Also with time you'll have a chance to refine your skills with the new software.

Next up, how do you sort your photos? Well I hope it's by folders as that's how Darktable really likes to do it.
Alright, thats just the way I like to do it

My photos are sorted by Year then a sub-folder for events in that year, I'd recommend using the Film Roll mode in collected images as the Folders view shows everything in that year recursively from every sub folder, I've yet to find a setting to show only the selected folder but filmroll works in that way to start with.
There still is filtering by camera, lens, ISO, mm and all that good stuff. About my only gripe is that I'm not able to apply star ranking or color label within the darktable tab and only applicable while in the lighttable tab.

More than just Darktable

If you're used to using HDR and Panoramic tools within Photoshop/Lightroom itself then you've got more ground to cover.
You'll need to use Hugin for Panoramics, and Luminance for HDR (Photomatix does offer a Linux client to their software but it's 1.0.2, very old at this point so I wouldn't bother). More on HDR shortly!

Panoramic


Hugin seems complex and manual but it's actually quite automated, there are times when a panoramic I'm trying to pull doesn't just "go" with the first attempt, giving a guide to hugin would eat up a lot of this post so I'd recommend grabbing the latest build from hugins site and fire up a YouTube search.
Bonus use! If you do artwork that doesn't fit on your scanner Hugin comes in handy to stitch scanned artwork together and I've never had to fuss with it, gets it perfect every time.

HDR

I did make mention of LuminanceHDR but personally if you want an HDR that looks super clean and not the hyper crazy psychedelic look some HDR photos have you'll want to make it by hand! However if you dig that look in your photos then I'm sure Luminance will get you there!

I'll admit for the longest time I've only used automated software to make HDR images and with my HDR software choices being limited with the move to penguin land I actually stopped making them for a while.
Now the following is completely obtainable in Photoshop, just on my end I never put in the effort to try it by hand as the automated process was "good enough". With that said

Here are some examples of what I mean. The first one is an HDR merge from Photoshop that I took my time making. Second image is from LuminanceHDR and finally the third one is done by hand in GIMP.

By no means is this a pure example of "see this is better than everything ever", but more of a realistic example that automation can't really give you everything. Actually going in and doing a nice clean realistic HDR by hand gave me an image I was much happier with. The sky isn't a blurry mess and the colors are more proper and accurate and there is depth in places I felt were washed out. By no means is this perfect but much happier with the result!

If you're used to the easy click next button thing Lightroom provides Hugin and Luminance will be a bit of a shock in learning curve as the tools give you options and control over everything. While before even if you didn't fully grasp how an HDR image worked or what problems barrel distortion does when making a panoramic, you'd be able to click a few buttons and it would do it for you, and for the most part the fully auto did quite well. With these bits of software you'll need to know a bit further going in. Then there is learning the GUI and layout of tools, which keep in mind all of this software is made by small teams of mostly programmers and programmers are not UI designers, where as Adobe most likely has a team just for that.

Film & Color Filters

Now that I've scared everyone off lets get even more interesting! With Lightroom you'd be able to shove in a bunch of plugins or some really fancy film emulation stuff (like VSCO). For the most part if you just need some split-toning done it's built into Darktable, but if you want something fancy such as film emulation there are some steps.
First off install gimp from your repo, then also install G'MIC ( gimp-gmic in Ubuntu repos)
For other Operating Systems or just a more up to date one for Linux, just grab the G'MIC plugin from here.
When you load up a photo into GIMP, go into Filters then at the bottom G'MIC should be there, with this new window go into Film Emulation and just start clicking away. One of my personal favorites is Instant[pro] -> Polaroid 690-.

Watermarks

There is a feature of Darktable that I feel is underlooked. The watermarking.
In Darktable you can build a SVG vector file with text variables to define what you want on the watermark, and every time you export a photo it will apply whatever metadata you want on it.
Here is an example of what my SVG file looks like (added red so you can see it)

This SVG is a simple vector, a grey shadow box with a beveled edge to match my business cards along with the same font, and my website clearly at the bottom. Now there is some nonsense at the top. What that text is telling Darktable is to grab the camera model name from the EXIF (metadata) from the image and replace the $(EXIF.MODEL) with the name. The $(IMAGE.EXIF) grabs the basic information about the photo, shutter speed, aperture, focal length and ISO.
Now every time you export a photo with Darktable and have the watermark module enabled, it will print this out.

Now if you want to edit a pre-made SVG and you've installed Darktable from your local repository of software then the built-in SVGs should be located in /usr/share/darktable/watermarks
Copy the SVG to /home/username/.config/darktable/watermarks
I would advise you don't edit the SVGs in the /usr/share area as you'd need root permissions to edit it and you just shouldn't.
Here is the link again if you want the variable names the watermark SVG.

Photoshop hotkeys...

Finally I'd like to make note of Photoshop itself, personally I've been using it less and less with my photos as Lightroom gave me pretty much everything I ever needed and I never did massive touch up's on photos. However GIMP does have good healing and fill aware tools for such things. Also if you're used to the single window of PS you'll go nuts with the multiwindow GIMP starts with by default, go to Windows -> Single Window Mode to feel more at home.
All of the hotkeys can be thrown right out as GIMP for the most part uses different keys for just about everything. There are themes and hotkey replacements to make GIMP act more along the lines of Photoshop.
As someone who tried to do it, just don't.
It's not worth it as a lot of the times the tools you're expecting for one thing don't operate quite the same. If you hit a hotkey you know does something in Photoshop but not in GIMP it's actually kind of frustrating. Do yourself the favor and start from scratch on this one, I wasted a lot of hours on doing just that.
It will also make like easier in the long run with looking up guides/tutorials and they throw default hotkeys and now you've got to figure out what the Photoshop version is.
Last thing to keep in mind, GIMP does NOT have a shape tool (though it does have a pen tool), there isn't any layer styles, so things like drop shadows, bevels and stroke are now in places like Edit->Stroke Selection & Filters->Lights and Shadows->Drop Shadow. For the most part you'll find these functions as filters.

Closing Details

Hopefully the above information is helpful to you or at least interesting.
There are plenty of other places to find out about photography using open source software. Here are some extra links:

PIXLS.US List of Software - https://pixls.us/software
PIXLS.US - https://pixls.us
FOSSPhotography subreddit - https://www.reddit.com/r/FOSSPhotography


 

Fixing the Steam Controller udev rules after Linux Mint 18.1 upgrade.

This might apply to other distros of Linux but after upgrading Linux Mint from 18 to 18.1 my Steam Controller stopped working properly in games. Here are the steps I took to fix it. Firstly unplug the steam controller and/or the wireless device.

After the 18.1 upgrade I found that Mint removed a package named steam-devices, so go ahead and open a terminal to reinstall this.

$ sudo apt install steam-devices

Installing this will rewrite your udev rules so we need to fix that up, but thats ok as of 11/22/16 the udev rules needed to be updated anyway.

Open the udev file for the steam controller, if you're using mint you most likely have xed as a text editor, if you don't just drop in whatever you want; gedit, ect. If using a terminal editor like nano or vim replace gksudo with sudo (gksudo is just for GUI programs).

$ gksudo xed /lib/udev/rules.d/99-steam-controller-perms.rules

Then copy the following and paste it in, replacing any text (if any) that exist in that file.

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"

# This rule is necessary for gamepad emulation; make sure the user playing steam is in the "games" group, it should be by default.
KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

Save and close the file, now we need to reload the udev files, in the terminal type in:

$ sudo udevadm control --reload
$ udevadm trigger

That should be it, you can now plug the controller or wireless dongle.
Any updates to the udev rules should be posted at: https://steamcommunity.com/app/353370/discussions/0/490123197956024380/

My source for most of this information is from gamingonlinux.com here is the post about it.

Update Dec 27th: Thanks to /u/pizza-dude for reminding me to use gksudo with GUI related programs in sudo.
Update Jan 24 2017: Changed the group to "games" something most users are already apart of to begin with. Found this bug out when trying to game on my laptop.
 

 

Full Migration from Windows to Linux - Report #4 Choices

Better part of 6 months has passed from my last report and I sure do feel it. Now my last report was about distribution and how I'm cozy in Fedora. Fedora is a fantastic distro, it lets you do anything to it. Even if you want to shoot yourself in the foot, it will hand you the gun and watch you do it. I highly recommend using it if you want to learn the in & outs of everything Linux has to offer with fairly fresh updates to pretty much everything.

Which brings me to my next point, I'm using Linux Mint 18 on both of my machines.

Why the flip flop around distros? Because I'm still learning and also I'm realistic.
To further elaborate, I'm not completely aware of how all of the gears work in Linux so when things break it takes me a bit of time to check everything. While Fedora is quite stable overall, lots of little things would pop out or something handy with a GUI breaks so I have to command line it (for instance the GUI for dnf was broken and figured it was my fault somehow but nope, recent update broke it). While I do enjoy fixing things or finding out something new about the thing I use every day; I've got shit to do.

Just to bring this all around, here are a few things I've discovered while using Fedora in the widest case possible.

  • SELinux is fantastic to make sure your system is nice and secure, however it prevents a lot of games from steam and some other games from launching, so had to disable it most of the time anyway.
  • Over time I was getting worried about executing a 'dnf upgrade' command as something would be fixed but then something else would break in turn.
  • Installing Nvidia drivers. Biggest pain in my ass, no matter how many guides I looked up and following to the letter.
  • I'm used to old guides from other versions not working on my current version of whatever, but Fedora with it's 6 month cycle makes it hard to dig up information about that "one" thing only you seem to have a problem with.
  • Fedora out of the box is not very usable with multimedia support and have to cram it full of non-free repos right away to get started with anything.
  • Most companies that supply software support for Linux only package for DEB and not RPM, making the pool of software available to you smaller.
  • All of your pulseaudio underruns are belong to us.

While it may sound like I'm picking on Fedora, I'm not, I learned quite a bit in the few months I used it and better for it.

So Linux Mint. This was pretty much my pick after deciding to switch over (again) mainly because it's based off of an LTS (Long Term Support) version of Ubuntu 16.04 which is supported until 2021. The only downside to an LTS is that some programs don't receive even fairly fresh versions in the repository of that LTS version for a long time (if ever). But if the program in question is something you want updated quite often then you have 2 good options; Build it from source or PPAs.
As I'm a lazy person who wants to get things done, 99.9% of the time I use PPAs.
PPAs (Personal Package Archive) are pretty much someones tiny repo to plug into your own, it's not as secure but it's better than downloading a random deb package from the net and hoping it's the real deal.

I'm sure there are more experienced Linux users who will call me out on some detail or how pumping my distro full of proprietary libraries and software hurts my digital freedom. However where I was at the start of this year compared to now is vastly improved, recently received my final email from Adobe about how my Creative Cloud subscription has run out. Even though I cleaned out everything adobe months ago, it's just refreshing to see something that I had to sign a EULA and pay a bill on top of just be done with.

Recently I had a good chance to really push my photography in my new world without Adobe software, here are some Flickr album links of two countries and the photos taken there. Just about everything was done in Darktable, anything else that required touching up I popped into GIMP.

Iceland

While the learning curve to new software has been fairly close to ripping duct tape off of a hairy leg, I will say there are features I never knew to think about. To many little details to mention them all here but one in particular really sticks out. The watermark, now the Iceland photo has this website while isn't a tricky detail but it's able to pull meta-data from the photo and include it, which I find just fantastic! No extra step required on my part, just needed to make an SVG vector file with some text tags that darktable knows about and done. You'll notice that the Scotland one only has the website, this is because it's an HDR photo and meta-data for shutter speed, ISO, ect. is blanked out after it's exported.

Overall I'm very pleased with how everything worked, and to make note I was working on my laptop, an Intel i7-4600U with 8GB of ram. Did just fine editing photos while traveling. For HDR and panoramic I'd recommend something a bit more desktopy unless you like the sound of a laptop fan on high in a small room for hours on end.

My choice to go full Linux has really come through, the more I keep reading, the more options I keep finding on how to do something better and faster than before. Just recently I looked at my Steam library, a total of about 700+ games and when I first started this it was around 200+ Linux/SteamOS games, now it's 383! Thats a huge jump and quite frankly I wasn't expecting that number to grow quite so fast but you can be I'm happy about it.

UPDATE: I found a nifty website to check your steam library for Linux compatible games.
steam.bravehost.com
One thing I forget about when counting my number is that once I feel I'm pretty much done with a game, it goes in the hidden section of my steam library so the numbers above are actually fairly inaccurate however keep in mind I did see a few bits of DLC in the quick and dirty linux checker site.
So in total, 1041 games, 471 of them on Windows, 493 on Linux/SteamOS and it also lists 77 of them as unknown, there were a couple of linux games in that unknown list but just as many windows titles as well. Overall I'm even more delighted to know these numbers! 47.4% for Linux, 45.2% Windows & the 7.4% of unknown.
It's been a while sense I've cleaned my library list and backlog, will be going into that at some point.